diff --git a/package-lock.json b/package-lock.json index 332b58226e..ea1f85e4d3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -28,24 +28,24 @@ }, "node_modules/@babel/code-frame": { "version": "7.12.11", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/highlight": "^7.10.4" } }, "node_modules/@babel/compat-data": { "version": "7.15.0", - "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { "version": "7.15.5", - "integrity": "sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.14.5", "@babel/generator": "^7.15.4", @@ -73,8 +73,8 @@ }, "node_modules/@babel/core/node_modules/@babel/code-frame": { "version": "7.14.5", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/highlight": "^7.14.5" }, @@ -84,24 +84,24 @@ }, "node_modules/@babel/core/node_modules/semver": { "version": "6.3.0", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/core/node_modules/source-map": { "version": "0.5.7", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/@babel/generator": { "version": "7.15.4", - "integrity": "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.15.4", "jsesc": "^2.5.1", @@ -113,16 +113,16 @@ }, "node_modules/@babel/generator/node_modules/source-map": { "version": "0.5.7", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/@babel/helper-compilation-targets": { "version": "7.15.4", - "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/compat-data": "^7.15.0", "@babel/helper-validator-option": "^7.14.5", @@ -138,16 +138,16 @@ }, "node_modules/@babel/helper-compilation-targets/node_modules/semver": { "version": "6.3.0", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/helper-function-name": { "version": "7.15.4", - "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-get-function-arity": "^7.15.4", "@babel/template": "^7.15.4", @@ -159,8 +159,8 @@ }, "node_modules/@babel/helper-get-function-arity": { "version": "7.15.4", - "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.15.4" }, @@ -170,8 +170,8 @@ }, "node_modules/@babel/helper-hoist-variables": { "version": "7.15.4", - "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.15.4" }, @@ -181,8 +181,8 @@ }, "node_modules/@babel/helper-member-expression-to-functions": { "version": "7.15.4", - "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.15.4" }, @@ -192,8 +192,8 @@ }, "node_modules/@babel/helper-module-imports": { "version": "7.15.4", - "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.15.4" }, @@ -203,8 +203,8 @@ }, "node_modules/@babel/helper-module-transforms": { "version": "7.15.7", - "integrity": "sha512-ZNqjjQG/AuFfekFTY+7nY4RgBSklgTu970c7Rj3m/JOhIu5KPBUuTA9AY6zaKcUvk4g6EbDXdBnhi35FAssdSw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.15.4", "@babel/helper-replace-supers": "^7.15.4", @@ -221,8 +221,8 @@ }, "node_modules/@babel/helper-optimise-call-expression": { "version": "7.15.4", - "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.15.4" }, @@ -232,8 +232,8 @@ }, "node_modules/@babel/helper-replace-supers": { "version": "7.15.4", - "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-member-expression-to-functions": "^7.15.4", "@babel/helper-optimise-call-expression": "^7.15.4", @@ -246,8 +246,8 @@ }, "node_modules/@babel/helper-simple-access": { "version": "7.15.4", - "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.15.4" }, @@ -257,8 +257,8 @@ }, "node_modules/@babel/helper-split-export-declaration": { "version": "7.15.4", - "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.15.4" }, @@ -268,24 +268,24 @@ }, "node_modules/@babel/helper-validator-identifier": { "version": "7.15.7", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { "version": "7.14.5", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { "version": "7.15.4", - "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/template": "^7.15.4", "@babel/traverse": "^7.15.4", @@ -297,8 +297,8 @@ }, "node_modules/@babel/highlight": { "version": "7.14.5", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.14.5", "chalk": "^2.0.0", @@ -310,8 +310,8 @@ }, "node_modules/@babel/highlight/node_modules/ansi-styles": { "version": "3.2.1", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -321,8 +321,8 @@ }, "node_modules/@babel/highlight/node_modules/chalk": { "version": "2.4.2", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -334,37 +334,37 @@ }, "node_modules/@babel/highlight/node_modules/color-convert": { "version": "1.9.3", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "node_modules/@babel/highlight/node_modules/color-name": { "version": "1.1.3", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@babel/highlight/node_modules/escape-string-regexp": { "version": "1.0.5", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/@babel/highlight/node_modules/has-flag": { "version": "3.0.0", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/@babel/highlight/node_modules/supports-color": { "version": "5.5.0", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -374,8 +374,8 @@ }, "node_modules/@babel/parser": { "version": "7.15.7", - "integrity": "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==", "dev": true, + "license": "MIT", "bin": { "parser": "bin/babel-parser.js" }, @@ -385,8 +385,8 @@ }, "node_modules/@babel/template": { "version": "7.15.4", - "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.14.5", "@babel/parser": "^7.15.4", @@ -398,8 +398,8 @@ }, "node_modules/@babel/template/node_modules/@babel/code-frame": { "version": "7.14.5", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/highlight": "^7.14.5" }, @@ -409,8 +409,8 @@ }, "node_modules/@babel/traverse": { "version": "7.15.4", - "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.14.5", "@babel/generator": "^7.15.4", @@ -428,8 +428,8 @@ }, "node_modules/@babel/traverse/node_modules/@babel/code-frame": { "version": "7.14.5", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/highlight": "^7.14.5" }, @@ -439,16 +439,16 @@ }, "node_modules/@babel/traverse/node_modules/globals": { "version": "11.12.0", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/@babel/types": { "version": "7.15.6", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.14.9", "to-fast-properties": "^2.0.0" @@ -459,8 +459,8 @@ }, "node_modules/@eslint/eslintrc": { "version": "0.4.3", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", "dev": true, + "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.1.1", @@ -478,8 +478,7 @@ }, "node_modules/@ethereumjs/block": { "version": "3.6.2", - "resolved": "https://registry.npmjs.org/@ethereumjs/block/-/block-3.6.2.tgz", - "integrity": "sha512-mOqYWwMlAZpYUEOEqt7EfMFuVL2eyLqWWIzcf4odn6QgXY8jBI2NhVuJncrMCKeMZrsJAe7/auaRRB6YcdH+Qw==", + "license": "MPL-2.0", "dependencies": { "@ethereumjs/common": "^2.6.3", "@ethereumjs/tx": "^3.5.1", @@ -489,8 +488,7 @@ }, "node_modules/@ethereumjs/blockchain": { "version": "5.5.2", - "resolved": "https://registry.npmjs.org/@ethereumjs/blockchain/-/blockchain-5.5.2.tgz", - "integrity": "sha512-Jz26iJmmsQtngerW6r5BDFaew/f2mObLrRZo3rskLOx1lmtMZ8+TX/vJexmivrnWgmAsTdNWhlKUYY4thPhPig==", + "license": "MPL-2.0", "dependencies": { "@ethereumjs/block": "^3.6.2", "@ethereumjs/common": "^2.6.3", @@ -504,8 +502,7 @@ }, "node_modules/@ethereumjs/common": { "version": "2.6.3", - "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.3.tgz", - "integrity": "sha512-mQwPucDL7FDYIg9XQ8DL31CnIYZwGhU5hyOO5E+BMmT71G0+RHvIT5rIkLBirJEKxV6+Rcf9aEIY0kXInxUWpQ==", + "license": "MIT", "dependencies": { "crc-32": "^1.2.0", "ethereumjs-util": "^7.1.4" @@ -513,8 +510,7 @@ }, "node_modules/@ethereumjs/ethash": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/ethash/-/ethash-1.1.0.tgz", - "integrity": "sha512-/U7UOKW6BzpA+Vt+kISAoeDie1vAvY4Zy2KF5JJb+So7+1yKmJeJEHOGSnQIj330e9Zyl3L5Nae6VZyh2TJnAA==", + "license": "MPL-2.0", "dependencies": { "@ethereumjs/block": "^3.5.0", "@types/levelup": "^4.3.0", @@ -525,8 +521,7 @@ }, "node_modules/@ethereumjs/tx": { "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.5.1.tgz", - "integrity": "sha512-xzDrTiu4sqZXUcaBxJ4n4W5FrppwxLxZB4ZDGVLtxSQR4lVuOnFR6RcUHdg1mpUhAPVrmnzLJpxaeXnPxIyhWA==", + "license": "MPL-2.0", "dependencies": { "@ethereumjs/common": "^2.6.3", "ethereumjs-util": "^7.1.4" @@ -534,8 +529,7 @@ }, "node_modules/@ethereumjs/vm": { "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/vm/-/vm-5.8.0.tgz", - "integrity": "sha512-mn2G2SX79QY4ckVvZUfxlNUpzwT2AEIkvgJI8aHoQaNYEHhH8rmdVDIaVVgz6//PjK52BZsK23afz+WvSR0Qqw==", + "license": "MPL-2.0", "dependencies": { "@ethereumjs/block": "^3.6.2", "@ethereumjs/blockchain": "^5.5.2", @@ -553,7 +547,6 @@ }, "node_modules/@ethersproject/abi": { "version": "5.5.0", - "integrity": "sha512-loW7I4AohP5KycATvc0MgujU6JyCHPqHdeoo9z3Nr9xEiNioxa65ccdm1+fsoJhkuhdRtfcL8cfyGamz2AxZ5w==", "funding": [ { "type": "individual", @@ -564,6 +557,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/address": "^5.5.0", "@ethersproject/bignumber": "^5.5.0", @@ -578,7 +572,6 @@ }, "node_modules/@ethersproject/abstract-provider": { "version": "5.5.1", - "integrity": "sha512-m+MA/ful6eKbxpr99xUYeRvLkfnlqzrF8SZ46d/xFB1A7ZVknYc/sXJG0RcufF52Qn2jeFj1hhcoQ7IXjNKUqg==", "funding": [ { "type": "individual", @@ -589,6 +582,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.5.0", "@ethersproject/bytes": "^5.5.0", @@ -601,7 +595,6 @@ }, "node_modules/@ethersproject/abstract-signer": { "version": "5.5.0", - "integrity": "sha512-lj//7r250MXVLKI7sVarXAbZXbv9P50lgmJQGr2/is82EwEb8r7HrxsmMqAjTsztMYy7ohrIhGMIml+Gx4D3mA==", "funding": [ { "type": "individual", @@ -612,6 +605,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-provider": "^5.5.0", "@ethersproject/bignumber": "^5.5.0", @@ -622,7 +616,6 @@ }, "node_modules/@ethersproject/address": { "version": "5.5.0", - "integrity": "sha512-l4Nj0eWlTUh6ro5IbPTgbpT4wRbdH5l8CQf7icF7sb/SI3Nhd9Y9HzhonTSTi6CefI0necIw7LJqQPopPLZyWw==", "funding": [ { "type": "individual", @@ -633,6 +626,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.5.0", "@ethersproject/bytes": "^5.5.0", @@ -643,7 +637,6 @@ }, "node_modules/@ethersproject/base64": { "version": "5.5.0", - "integrity": "sha512-tdayUKhU1ljrlHzEWbStXazDpsx4eg1dBXUSI6+mHlYklOXoXF6lZvw8tnD6oVaWfnMxAgRSKROg3cVKtCcppA==", "funding": [ { "type": "individual", @@ -654,13 +647,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.5.0" } }, "node_modules/@ethersproject/basex": { "version": "5.5.0", - "integrity": "sha512-ZIodwhHpVJ0Y3hUCfUucmxKsWQA5TMnavp5j/UOuDdzZWzJlRmuOjcTMIGgHCYuZmHt36BfiSyQPSRskPxbfaQ==", "funding": [ { "type": "individual", @@ -671,6 +664,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.5.0", "@ethersproject/properties": "^5.5.0" @@ -678,7 +672,6 @@ }, "node_modules/@ethersproject/bignumber": { "version": "5.5.0", - "integrity": "sha512-6Xytlwvy6Rn3U3gKEc1vP7nR92frHkv6wtVr95LFR3jREXiCPzdWxKQ1cx4JGQBXxcguAwjA8murlYN2TSiEbg==", "funding": [ { "type": "individual", @@ -689,6 +682,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.5.0", "@ethersproject/logger": "^5.5.0", @@ -697,7 +691,6 @@ }, "node_modules/@ethersproject/bytes": { "version": "5.5.0", - "integrity": "sha512-ABvc7BHWhZU9PNM/tANm/Qx4ostPGadAuQzWTr3doklZOhDlmcBqclrQe/ZXUIj3K8wC28oYeuRa+A37tX9kog==", "funding": [ { "type": "individual", @@ -708,13 +701,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/logger": "^5.5.0" } }, "node_modules/@ethersproject/constants": { "version": "5.5.0", - "integrity": "sha512-2MsRRVChkvMWR+GyMGY4N1sAX9Mt3J9KykCsgUFd/1mwS0UH1qw+Bv9k1UJb3X3YJYFco9H20pjSlOIfCG5HYQ==", "funding": [ { "type": "individual", @@ -725,13 +718,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.5.0" } }, "node_modules/@ethersproject/contracts": { "version": "5.5.0", - "integrity": "sha512-2viY7NzyvJkh+Ug17v7g3/IJC8HqZBDcOjYARZLdzRxrfGlRgmYgl6xPRKVbEzy1dWKw/iv7chDcS83pg6cLxg==", "funding": [ { "type": "individual", @@ -742,6 +735,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abi": "^5.5.0", "@ethersproject/abstract-provider": "^5.5.0", @@ -757,7 +751,6 @@ }, "node_modules/@ethersproject/hash": { "version": "5.5.0", - "integrity": "sha512-dnGVpK1WtBjmnp3mUT0PlU2MpapnwWI0PibldQEq1408tQBAbZpPidkWoVVuNMOl/lISO3+4hXZWCL3YV7qzfg==", "funding": [ { "type": "individual", @@ -768,6 +761,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-signer": "^5.5.0", "@ethersproject/address": "^5.5.0", @@ -781,7 +775,6 @@ }, "node_modules/@ethersproject/hdnode": { "version": "5.5.0", - "integrity": "sha512-mcSOo9zeUg1L0CoJH7zmxwUG5ggQHU1UrRf8jyTYy6HxdZV+r0PBoL1bxr+JHIPXRzS6u/UW4mEn43y0tmyF8Q==", "funding": [ { "type": "individual", @@ -792,6 +785,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-signer": "^5.5.0", "@ethersproject/basex": "^5.5.0", @@ -809,7 +803,6 @@ }, "node_modules/@ethersproject/json-wallets": { "version": "5.5.0", - "integrity": "sha512-9lA21XQnCdcS72xlBn1jfQdj2A1VUxZzOzi9UkNdnokNKke/9Ya2xA9aIK1SC3PQyBDLt4C+dfps7ULpkvKikQ==", "funding": [ { "type": "individual", @@ -820,6 +813,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-signer": "^5.5.0", "@ethersproject/address": "^5.5.0", @@ -838,7 +832,6 @@ }, "node_modules/@ethersproject/keccak256": { "version": "5.5.0", - "integrity": "sha512-5VoFCTjo2rYbBe1l2f4mccaRFN/4VQEYFwwn04aJV2h7qf4ZvI2wFxUE1XOX+snbwCLRzIeikOqtAoPwMza9kg==", "funding": [ { "type": "individual", @@ -849,6 +842,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.5.0", "js-sha3": "0.8.0" @@ -856,11 +850,10 @@ }, "node_modules/@ethersproject/keccak256/node_modules/js-sha3": { "version": "0.8.0", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + "license": "MIT" }, "node_modules/@ethersproject/logger": { "version": "5.5.0", - "integrity": "sha512-rIY/6WPm7T8n3qS2vuHTUBPdXHl+rGxWxW5okDfo9J4Z0+gRRZT0msvUdIJkE4/HS29GUMziwGaaKO2bWONBrg==", "funding": [ { "type": "individual", @@ -870,11 +863,11 @@ "type": "individual", "url": "https://www.buymeacoffee.com/ricmoo" } - ] + ], + "license": "MIT" }, "node_modules/@ethersproject/networks": { "version": "5.5.0", - "integrity": "sha512-KWfP3xOnJeF89Uf/FCJdV1a2aDJe5XTN2N52p4fcQ34QhDqQFkgQKZ39VGtiqUgHcLI8DfT0l9azC3KFTunqtA==", "funding": [ { "type": "individual", @@ -885,13 +878,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/logger": "^5.5.0" } }, "node_modules/@ethersproject/pbkdf2": { "version": "5.5.0", - "integrity": "sha512-SaDvQFvXPnz1QGpzr6/HToLifftSXGoXrbpZ6BvoZhmx4bNLHrxDe8MZisuecyOziP1aVEwzC2Hasj+86TgWVg==", "funding": [ { "type": "individual", @@ -902,6 +895,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.5.0", "@ethersproject/sha2": "^5.5.0" @@ -909,7 +903,6 @@ }, "node_modules/@ethersproject/properties": { "version": "5.5.0", - "integrity": "sha512-l3zRQg3JkD8EL3CPjNK5g7kMx4qSwiR60/uk5IVjd3oq1MZR5qUg40CNOoEJoX5wc3DyY5bt9EbMk86C7x0DNA==", "funding": [ { "type": "individual", @@ -920,13 +913,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/logger": "^5.5.0" } }, "node_modules/@ethersproject/providers": { "version": "5.5.0", - "integrity": "sha512-xqMbDnS/FPy+J/9mBLKddzyLLAQFjrVff5g00efqxPzcAwXiR+SiCGVy6eJ5iAIirBOATjx7QLhDNPGV+AEQsw==", "funding": [ { "type": "individual", @@ -937,6 +930,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-provider": "^5.5.0", "@ethersproject/abstract-signer": "^5.5.0", @@ -961,7 +955,7 @@ }, "node_modules/@ethersproject/providers/node_modules/ws": { "version": "7.4.6", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "license": "MIT", "engines": { "node": ">=8.3.0" }, @@ -980,7 +974,6 @@ }, "node_modules/@ethersproject/random": { "version": "5.5.0", - "integrity": "sha512-egGYZwZ/YIFKMHcoBUo8t3a8Hb/TKYX8BCBoLjudVCZh892welR3jOxgOmb48xznc9bTcMm7Tpwc1gHC1PFNFQ==", "funding": [ { "type": "individual", @@ -991,6 +984,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.5.0", "@ethersproject/logger": "^5.5.0" @@ -998,7 +992,6 @@ }, "node_modules/@ethersproject/rlp": { "version": "5.5.0", - "integrity": "sha512-hLv8XaQ8PTI9g2RHoQGf/WSxBfTB/NudRacbzdxmst5VHAqd1sMibWG7SENzT5Dj3yZ3kJYx+WiRYEcQTAkcYA==", "funding": [ { "type": "individual", @@ -1009,6 +1002,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.5.0", "@ethersproject/logger": "^5.5.0" @@ -1016,7 +1010,6 @@ }, "node_modules/@ethersproject/sha2": { "version": "5.5.0", - "integrity": "sha512-B5UBoglbCiHamRVPLA110J+2uqsifpZaTmid2/7W5rbtYVz6gus6/hSDieIU/6gaKIDcOj12WnOdiymEUHIAOA==", "funding": [ { "type": "individual", @@ -1027,6 +1020,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.5.0", "@ethersproject/logger": "^5.5.0", @@ -1035,7 +1029,6 @@ }, "node_modules/@ethersproject/signing-key": { "version": "5.5.0", - "integrity": "sha512-5VmseH7qjtNmDdZBswavhotYbWB0bOwKIlOTSlX14rKn5c11QmJwGt4GHeo7NrL/Ycl7uo9AHvEqs5xZgFBTng==", "funding": [ { "type": "individual", @@ -1046,6 +1039,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.5.0", "@ethersproject/logger": "^5.5.0", @@ -1057,7 +1051,6 @@ }, "node_modules/@ethersproject/solidity": { "version": "5.5.0", - "integrity": "sha512-9NgZs9LhGMj6aCtHXhtmFQ4AN4sth5HuFXVvAQtzmm0jpSCNOTGtrHZJAeYTh7MBjRR8brylWZxBZR9zDStXbw==", "funding": [ { "type": "individual", @@ -1068,6 +1061,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.5.0", "@ethersproject/bytes": "^5.5.0", @@ -1079,7 +1073,6 @@ }, "node_modules/@ethersproject/strings": { "version": "5.5.0", - "integrity": "sha512-9fy3TtF5LrX/wTrBaT8FGE6TDJyVjOvXynXJz5MT5azq+E6D92zuKNx7i29sWW2FjVOaWjAsiZ1ZWznuduTIIQ==", "funding": [ { "type": "individual", @@ -1090,6 +1083,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.5.0", "@ethersproject/constants": "^5.5.0", @@ -1098,7 +1092,6 @@ }, "node_modules/@ethersproject/transactions": { "version": "5.5.0", - "integrity": "sha512-9RZYSKX26KfzEd/1eqvv8pLauCKzDTub0Ko4LfIgaERvRuwyaNV78mJs7cpIgZaDl6RJui4o49lHwwCM0526zA==", "funding": [ { "type": "individual", @@ -1109,6 +1102,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/address": "^5.5.0", "@ethersproject/bignumber": "^5.5.0", @@ -1123,7 +1117,6 @@ }, "node_modules/@ethersproject/units": { "version": "5.5.0", - "integrity": "sha512-7+DpjiZk4v6wrikj+TCyWWa9dXLNU73tSTa7n0TSJDxkYbV3Yf1eRh9ToMLlZtuctNYu9RDNNy2USq3AdqSbag==", "funding": [ { "type": "individual", @@ -1134,6 +1127,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.5.0", "@ethersproject/constants": "^5.5.0", @@ -1142,7 +1136,6 @@ }, "node_modules/@ethersproject/wallet": { "version": "5.5.0", - "integrity": "sha512-Mlu13hIctSYaZmUOo7r2PhNSd8eaMPVXe1wxrz4w4FCE4tDYBywDH+bAR1Xz2ADyXGwqYMwstzTrtUVIsKDO0Q==", "funding": [ { "type": "individual", @@ -1153,6 +1146,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-provider": "^5.5.0", "@ethersproject/abstract-signer": "^5.5.0", @@ -1173,7 +1167,6 @@ }, "node_modules/@ethersproject/web": { "version": "5.5.0", - "integrity": "sha512-BEgY0eL5oH4mAo37TNYVrFeHsIXLRxggCRG/ksRIxI2X5uj5IsjGmcNiRN/VirQOlBxcUhCgHhaDLG4m6XAVoA==", "funding": [ { "type": "individual", @@ -1184,6 +1177,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/base64": "^5.5.0", "@ethersproject/bytes": "^5.5.0", @@ -1194,7 +1188,6 @@ }, "node_modules/@ethersproject/wordlists": { "version": "5.5.0", - "integrity": "sha512-bL0UTReWDiaQJJYOC9sh/XcRu/9i2jMrzf8VLRmPKx58ckSlOJiohODkECCO50dtLZHcGU6MLXQ4OOrgBwP77Q==", "funding": [ { "type": "individual", @@ -1205,6 +1198,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.5.0", "@ethersproject/hash": "^5.5.0", @@ -1215,8 +1209,8 @@ }, "node_modules/@humanwhocodes/config-array": { "version": "0.5.0", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@humanwhocodes/object-schema": "^1.2.0", "debug": "^4.1.1", @@ -1228,20 +1222,18 @@ }, "node_modules/@humanwhocodes/object-schema": { "version": "1.2.0", - "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/@iarna/toml": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-3.0.0.tgz", - "integrity": "sha512-td6ZUkz2oS3VeleBcN+m//Q6HlCFCPrnI0FZhrt/h4XqLEdOyYp2u21nd8MdsR+WJy5r9PTDaHTDDfhf4H4l6Q==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/@ipld/dag-cbor": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-7.0.1.tgz", - "integrity": "sha512-XqG8VEzHjQDC/Qcy5Gyf1kvAav5VuAugc6c7VtdaRLI+3d8lJrUP3F76GYJNNXuEnRZ58cCBnNNglkIGTdg1+A==", "dev": true, + "license": "(Apache-2.0 AND MIT)", "dependencies": { "cborg": "^1.6.0", "multiformats": "^9.5.4" @@ -1249,9 +1241,8 @@ }, "node_modules/@ipld/dag-json": { "version": "8.0.9", - "resolved": "https://registry.npmjs.org/@ipld/dag-json/-/dag-json-8.0.9.tgz", - "integrity": "sha512-NNKHmgHxc2zOEaB8qOUpAb2UK1vcEE/rBeh018Da/RzXE7N8GwiTJLRZ3Fe/G4fsiis67G0sagRz/YNQcANRsQ==", "dev": true, + "license": "(Apache-2.0 AND MIT)", "dependencies": { "cborg": "^1.5.4", "multiformats": "^9.5.4" @@ -1259,17 +1250,16 @@ }, "node_modules/@ipld/dag-pb": { "version": "2.1.16", - "resolved": "https://registry.npmjs.org/@ipld/dag-pb/-/dag-pb-2.1.16.tgz", - "integrity": "sha512-5+A87ZsKZ2yEEjtW6LIzTgDJcm6O24d0lmXlubwtMblI5ZB+aTw7PH6kjc8fM6pbnNtVg4Y+c+WZ3zCxdesIBg==", "dev": true, + "license": "(Apache-2.0 AND MIT)", "dependencies": { "multiformats": "^9.5.4" } }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, + "license": "ISC", "dependencies": { "camelcase": "^5.3.1", "find-up": "^4.1.0", @@ -1283,8 +1273,8 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { "version": "4.1.0", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -1295,8 +1285,8 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { "version": "5.0.0", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -1306,8 +1296,8 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { "version": "2.3.0", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -1320,8 +1310,8 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { "version": "4.1.0", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -1331,40 +1321,39 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/p-try": { "version": "2.2.0", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/@istanbuljs/load-nyc-config/node_modules/path-exists": { "version": "4.0.0", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { "version": "5.0.0", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@metamask/eth-sig-util": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.0.tgz", - "integrity": "sha512-LczOjjxY4A7XYloxzyxJIHONELmUxVZncpOLoClpEcTiebiVdM46KRPYXGuULro9oNNR2xdVx3yoKiQjdfWmoA==", + "license": "ISC", "dependencies": { "ethereumjs-abi": "^0.6.8", "ethereumjs-util": "^6.2.1", @@ -1378,16 +1367,14 @@ }, "node_modules/@metamask/eth-sig-util/node_modules/@types/bn.js": { "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@metamask/eth-sig-util/node_modules/ethereumjs-util": { "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "license": "MPL-2.0", "dependencies": { "@types/bn.js": "^4.11.3", "bn.js": "^4.11.0", @@ -1400,7 +1387,7 @@ }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -1411,14 +1398,14 @@ }, "node_modules/@nodelib/fs.stat": { "version": "2.0.5", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/@nodelib/fs.walk": { "version": "1.2.8", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -1429,9 +1416,8 @@ }, "node_modules/@nomiclabs/hardhat-ethers": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.0.5.tgz", - "integrity": "sha512-A2gZAGB6kUvLx+kzM92HKuUF33F1FSe90L0TmkXkT2Hh0OKRpvWZURUSU2nghD2yC4DzfEZ3DftfeHGvZ2JTUw==", "dev": true, + "license": "MIT", "peerDependencies": { "ethers": "^5.0.0", "hardhat": "^2.0.0" @@ -1439,8 +1425,7 @@ }, "node_modules/@nomiclabs/hardhat-etherscan": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-etherscan/-/hardhat-etherscan-3.0.3.tgz", - "integrity": "sha512-OfNtUKc/ZwzivmZnnpwWREfaYncXteKHskn3yDnz+fPBZ6wfM4GR+d5RwjREzYFWE+o5iR9ruXhWw/8fejWM9g==", + "license": "MIT", "dependencies": { "@ethersproject/abi": "^5.1.2", "@ethersproject/address": "^5.0.2", @@ -1456,41 +1441,35 @@ }, "node_modules/@nomiclabs/hardhat-etherscan/node_modules/semver": { "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@protobufjs/aspromise": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/@protobufjs/base64": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/@protobufjs/codegen": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/@protobufjs/eventemitter": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/@protobufjs/fetch": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@protobufjs/aspromise": "^1.1.1", "@protobufjs/inquire": "^1.1.0" @@ -1498,37 +1477,32 @@ }, "node_modules/@protobufjs/float": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/@protobufjs/inquire": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/@protobufjs/path": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/@protobufjs/pool": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/@protobufjs/utf8": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/@sentry/core": { "version": "5.30.0", - "integrity": "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==", + "license": "BSD-3-Clause", "dependencies": { "@sentry/hub": "5.30.0", "@sentry/minimal": "5.30.0", @@ -1542,7 +1516,7 @@ }, "node_modules/@sentry/hub": { "version": "5.30.0", - "integrity": "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==", + "license": "BSD-3-Clause", "dependencies": { "@sentry/types": "5.30.0", "@sentry/utils": "5.30.0", @@ -1554,7 +1528,7 @@ }, "node_modules/@sentry/minimal": { "version": "5.30.0", - "integrity": "sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==", + "license": "BSD-3-Clause", "dependencies": { "@sentry/hub": "5.30.0", "@sentry/types": "5.30.0", @@ -1566,7 +1540,7 @@ }, "node_modules/@sentry/node": { "version": "5.30.0", - "integrity": "sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==", + "license": "BSD-3-Clause", "dependencies": { "@sentry/core": "5.30.0", "@sentry/hub": "5.30.0", @@ -1584,7 +1558,7 @@ }, "node_modules/@sentry/tracing": { "version": "5.30.0", - "integrity": "sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==", + "license": "MIT", "dependencies": { "@sentry/hub": "5.30.0", "@sentry/minimal": "5.30.0", @@ -1598,14 +1572,14 @@ }, "node_modules/@sentry/types": { "version": "5.30.0", - "integrity": "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==", + "license": "BSD-3-Clause", "engines": { "node": ">=6" } }, "node_modules/@sentry/utils": { "version": "5.30.0", - "integrity": "sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==", + "license": "BSD-3-Clause", "dependencies": { "@sentry/types": "5.30.0", "tslib": "^1.9.3" @@ -1616,35 +1590,32 @@ }, "node_modules/@sindresorhus/is": { "version": "0.14.0", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/@sinonjs/commons": { "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", - "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" } }, "node_modules/@sinonjs/fake-timers": { "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", - "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^1.7.0" } }, "node_modules/@sinonjs/samsam": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-6.0.2.tgz", - "integrity": "sha512-jxPRPp9n93ci7b8hMfJOFDPRLFYadN6FSpeROFTR4UNF4i5b+EK6m4QXPO46BDhFgRy1JuS87zAnFOzCUwMJcQ==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^1.6.0", "lodash.get": "^4.4.2", @@ -1653,14 +1624,12 @@ }, "node_modules/@sinonjs/text-encoding": { "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz", - "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==", - "dev": true + "dev": true, + "license": "(Unlicense OR Apache-2.0)" }, "node_modules/@solidity-parser/parser": { "version": "0.14.1", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.14.1.tgz", - "integrity": "sha512-eLjj2L6AuQjBB6s/ibwCAc0DwrR5Ge+ys+wgWo+bviU7fV2nTMQhU63CGaDKXg9iTmMxwhkyoggdIR7ZGRfMgw==", + "license": "MIT", "dependencies": { "antlr4ts": "^0.5.0-alpha.4" } @@ -1723,9 +1692,8 @@ }, "node_modules/@synthetixio/wei": { "version": "2.74.1", - "resolved": "https://registry.npmjs.org/@synthetixio/wei/-/wei-2.74.1.tgz", - "integrity": "sha512-YhiEtumbO0o9cwQmoTaqfyDURUTp4s7ujcpESlHJ3fN0W4SLFkZPM3omv2A3vzTXDiIDJnOK7t6PXYuLfFS1sg==", "dev": true, + "license": "MIT", "dependencies": { "big.js": "^6.1.1", "ethers": "^5.5.3" @@ -1733,8 +1701,6 @@ }, "node_modules/@synthetixio/wei/node_modules/@ethersproject/abi": { "version": "5.6.4", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.6.4.tgz", - "integrity": "sha512-TTeZUlCeIHG6527/2goZA6gW5F8Emoc7MrZDC7hhP84aRGvW3TEdTnZR08Ls88YXM1m2SuK42Osw/jSi3uO8gg==", "dev": true, "funding": [ { @@ -1746,6 +1712,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/address": "^5.6.1", "@ethersproject/bignumber": "^5.6.2", @@ -1760,8 +1727,6 @@ }, "node_modules/@synthetixio/wei/node_modules/@ethersproject/abstract-provider": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.6.1.tgz", - "integrity": "sha512-BxlIgogYJtp1FS8Muvj8YfdClk3unZH0vRMVX791Z9INBNT/kuACZ9GzaY1Y4yFq+YSy6/w4gzj3HCRKrK9hsQ==", "dev": true, "funding": [ { @@ -1773,6 +1738,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.6.2", "@ethersproject/bytes": "^5.6.1", @@ -1785,8 +1751,6 @@ }, "node_modules/@synthetixio/wei/node_modules/@ethersproject/abstract-signer": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.6.2.tgz", - "integrity": "sha512-n1r6lttFBG0t2vNiI3HoWaS/KdOt8xyDjzlP2cuevlWLG6EX0OwcKLyG/Kp/cuwNxdy/ous+R/DEMdTUwWQIjQ==", "dev": true, "funding": [ { @@ -1798,6 +1762,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-provider": "^5.6.1", "@ethersproject/bignumber": "^5.6.2", @@ -1808,8 +1773,6 @@ }, "node_modules/@synthetixio/wei/node_modules/@ethersproject/address": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.6.1.tgz", - "integrity": "sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q==", "dev": true, "funding": [ { @@ -1821,6 +1784,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.6.2", "@ethersproject/bytes": "^5.6.1", @@ -1831,8 +1795,6 @@ }, "node_modules/@synthetixio/wei/node_modules/@ethersproject/base64": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.6.1.tgz", - "integrity": "sha512-qB76rjop6a0RIYYMiB4Eh/8n+Hxu2NIZm8S/Q7kNo5pmZfXhHGHmS4MinUainiBC54SCyRnwzL+KZjj8zbsSsw==", "dev": true, "funding": [ { @@ -1844,14 +1806,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.1" } }, "node_modules/@synthetixio/wei/node_modules/@ethersproject/basex": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.6.1.tgz", - "integrity": "sha512-a52MkVz4vuBXR06nvflPMotld1FJWSj2QT0985v7P/emPZO00PucFAkbcmq2vpVU7Ts7umKiSI6SppiLykVWsA==", "dev": true, "funding": [ { @@ -1863,6 +1824,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.1", "@ethersproject/properties": "^5.6.0" @@ -1870,8 +1832,6 @@ }, "node_modules/@synthetixio/wei/node_modules/@ethersproject/bignumber": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.6.2.tgz", - "integrity": "sha512-v7+EEUbhGqT3XJ9LMPsKvXYHFc8eHxTowFCG/HgJErmq4XHJ2WR7aeyICg3uTOAQ7Icn0GFHAohXEhxQHq4Ubw==", "dev": true, "funding": [ { @@ -1883,6 +1843,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.1", "@ethersproject/logger": "^5.6.0", @@ -1891,8 +1852,6 @@ }, "node_modules/@synthetixio/wei/node_modules/@ethersproject/bytes": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.6.1.tgz", - "integrity": "sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==", "dev": true, "funding": [ { @@ -1904,14 +1863,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/logger": "^5.6.0" } }, "node_modules/@synthetixio/wei/node_modules/@ethersproject/constants": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.6.1.tgz", - "integrity": "sha512-QSq9WVnZbxXYFftrjSjZDUshp6/eKp6qrtdBtUCm0QxCV5z1fG/w3kdlcsjMCQuQHUnAclKoK7XpXMezhRDOLg==", "dev": true, "funding": [ { @@ -1923,14 +1881,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.6.2" } }, "node_modules/@synthetixio/wei/node_modules/@ethersproject/contracts": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.6.2.tgz", - "integrity": "sha512-hguUA57BIKi6WY0kHvZp6PwPlWF87MCeB4B7Z7AbUpTxfFXFdn/3b0GmjZPagIHS+3yhcBJDnuEfU4Xz+Ks/8g==", "dev": true, "funding": [ { @@ -1942,6 +1899,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abi": "^5.6.3", "@ethersproject/abstract-provider": "^5.6.1", @@ -1957,8 +1915,6 @@ }, "node_modules/@synthetixio/wei/node_modules/@ethersproject/hash": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.6.1.tgz", - "integrity": "sha512-L1xAHurbaxG8VVul4ankNX5HgQ8PNCTrnVXEiFnE9xoRnaUcgfD12tZINtDinSllxPLCtGwguQxJ5E6keE84pA==", "dev": true, "funding": [ { @@ -1970,6 +1926,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-signer": "^5.6.2", "@ethersproject/address": "^5.6.1", @@ -1983,8 +1940,6 @@ }, "node_modules/@synthetixio/wei/node_modules/@ethersproject/hdnode": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.6.2.tgz", - "integrity": "sha512-tERxW8Ccf9CxW2db3WsN01Qao3wFeRsfYY9TCuhmG0xNpl2IO8wgXU3HtWIZ49gUWPggRy4Yg5axU0ACaEKf1Q==", "dev": true, "funding": [ { @@ -1996,6 +1951,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-signer": "^5.6.2", "@ethersproject/basex": "^5.6.1", @@ -2013,8 +1969,6 @@ }, "node_modules/@synthetixio/wei/node_modules/@ethersproject/json-wallets": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.6.1.tgz", - "integrity": "sha512-KfyJ6Zwz3kGeX25nLihPwZYlDqamO6pfGKNnVMWWfEVVp42lTfCZVXXy5Ie8IZTN0HKwAngpIPi7gk4IJzgmqQ==", "dev": true, "funding": [ { @@ -2026,6 +1980,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-signer": "^5.6.2", "@ethersproject/address": "^5.6.1", @@ -2044,8 +1999,6 @@ }, "node_modules/@synthetixio/wei/node_modules/@ethersproject/keccak256": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.6.1.tgz", - "integrity": "sha512-bB7DQHCTRDooZZdL3lk9wpL0+XuG3XLGHLh3cePnybsO3V0rdCAOQGpn/0R3aODmnTOOkCATJiD2hnL+5bwthA==", "dev": true, "funding": [ { @@ -2057,6 +2010,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.1", "js-sha3": "0.8.0" @@ -2064,8 +2018,6 @@ }, "node_modules/@synthetixio/wei/node_modules/@ethersproject/logger": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.6.0.tgz", - "integrity": "sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==", "dev": true, "funding": [ { @@ -2076,12 +2028,11 @@ "type": "individual", "url": "https://www.buymeacoffee.com/ricmoo" } - ] + ], + "license": "MIT" }, "node_modules/@synthetixio/wei/node_modules/@ethersproject/networks": { "version": "5.6.4", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.6.4.tgz", - "integrity": "sha512-KShHeHPahHI2UlWdtDMn2lJETcbtaJge4k7XSjDR9h79QTd6yQJmv6Cp2ZA4JdqWnhszAOLSuJEd9C0PRw7hSQ==", "dev": true, "funding": [ { @@ -2093,14 +2044,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/logger": "^5.6.0" } }, "node_modules/@synthetixio/wei/node_modules/@ethersproject/pbkdf2": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.6.1.tgz", - "integrity": "sha512-k4gRQ+D93zDRPNUfmduNKq065uadC2YjMP/CqwwX5qG6R05f47boq6pLZtV/RnC4NZAYOPH1Cyo54q0c9sshRQ==", "dev": true, "funding": [ { @@ -2112,6 +2062,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.1", "@ethersproject/sha2": "^5.6.1" @@ -2119,8 +2070,6 @@ }, "node_modules/@synthetixio/wei/node_modules/@ethersproject/properties": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.6.0.tgz", - "integrity": "sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==", "dev": true, "funding": [ { @@ -2132,14 +2081,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/logger": "^5.6.0" } }, "node_modules/@synthetixio/wei/node_modules/@ethersproject/providers": { "version": "5.6.8", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.6.8.tgz", - "integrity": "sha512-Wf+CseT/iOJjrGtAOf3ck9zS7AgPmr2fZ3N97r4+YXN3mBePTG2/bJ8DApl9mVwYL+RpYbNxMEkEp4mPGdwG/w==", "dev": true, "funding": [ { @@ -2151,6 +2099,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-provider": "^5.6.1", "@ethersproject/abstract-signer": "^5.6.2", @@ -2176,8 +2125,6 @@ }, "node_modules/@synthetixio/wei/node_modules/@ethersproject/random": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.6.1.tgz", - "integrity": "sha512-/wtPNHwbmng+5yi3fkipA8YBT59DdkGRoC2vWk09Dci/q5DlgnMkhIycjHlavrvrjJBkFjO/ueLyT+aUDfc4lA==", "dev": true, "funding": [ { @@ -2189,6 +2136,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.1", "@ethersproject/logger": "^5.6.0" @@ -2196,8 +2144,6 @@ }, "node_modules/@synthetixio/wei/node_modules/@ethersproject/rlp": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.6.1.tgz", - "integrity": "sha512-uYjmcZx+DKlFUk7a5/W9aQVaoEC7+1MOBgNtvNg13+RnuUwT4F0zTovC0tmay5SmRslb29V1B7Y5KCri46WhuQ==", "dev": true, "funding": [ { @@ -2209,6 +2155,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.1", "@ethersproject/logger": "^5.6.0" @@ -2216,8 +2163,6 @@ }, "node_modules/@synthetixio/wei/node_modules/@ethersproject/sha2": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.6.1.tgz", - "integrity": "sha512-5K2GyqcW7G4Yo3uenHegbXRPDgARpWUiXc6RiF7b6i/HXUoWlb7uCARh7BAHg7/qT/Q5ydofNwiZcim9qpjB6g==", "dev": true, "funding": [ { @@ -2229,6 +2174,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.1", "@ethersproject/logger": "^5.6.0", @@ -2237,8 +2183,6 @@ }, "node_modules/@synthetixio/wei/node_modules/@ethersproject/signing-key": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.6.2.tgz", - "integrity": "sha512-jVbu0RuP7EFpw82vHcL+GP35+KaNruVAZM90GxgQnGqB6crhBqW/ozBfFvdeImtmb4qPko0uxXjn8l9jpn0cwQ==", "dev": true, "funding": [ { @@ -2250,6 +2194,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.1", "@ethersproject/logger": "^5.6.0", @@ -2261,8 +2206,6 @@ }, "node_modules/@synthetixio/wei/node_modules/@ethersproject/solidity": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.6.1.tgz", - "integrity": "sha512-KWqVLkUUoLBfL1iwdzUVlkNqAUIFMpbbeH0rgCfKmJp0vFtY4AsaN91gHKo9ZZLkC4UOm3cI3BmMV4N53BOq4g==", "dev": true, "funding": [ { @@ -2274,6 +2217,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.6.2", "@ethersproject/bytes": "^5.6.1", @@ -2285,8 +2229,6 @@ }, "node_modules/@synthetixio/wei/node_modules/@ethersproject/strings": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.6.1.tgz", - "integrity": "sha512-2X1Lgk6Jyfg26MUnsHiT456U9ijxKUybz8IM1Vih+NJxYtXhmvKBcHOmvGqpFSVJ0nQ4ZCoIViR8XlRw1v/+Cw==", "dev": true, "funding": [ { @@ -2298,6 +2240,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.1", "@ethersproject/constants": "^5.6.1", @@ -2306,8 +2249,6 @@ }, "node_modules/@synthetixio/wei/node_modules/@ethersproject/transactions": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.6.2.tgz", - "integrity": "sha512-BuV63IRPHmJvthNkkt9G70Ullx6AcM+SDc+a8Aw/8Yew6YwT51TcBKEp1P4oOQ/bP25I18JJr7rcFRgFtU9B2Q==", "dev": true, "funding": [ { @@ -2319,6 +2260,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/address": "^5.6.1", "@ethersproject/bignumber": "^5.6.2", @@ -2333,8 +2275,6 @@ }, "node_modules/@synthetixio/wei/node_modules/@ethersproject/units": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.6.1.tgz", - "integrity": "sha512-rEfSEvMQ7obcx3KWD5EWWx77gqv54K6BKiZzKxkQJqtpriVsICrktIQmKl8ReNToPeIYPnFHpXvKpi068YFZXw==", "dev": true, "funding": [ { @@ -2346,6 +2286,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.6.2", "@ethersproject/constants": "^5.6.1", @@ -2354,8 +2295,6 @@ }, "node_modules/@synthetixio/wei/node_modules/@ethersproject/wallet": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.6.2.tgz", - "integrity": "sha512-lrgh0FDQPuOnHcF80Q3gHYsSUODp6aJLAdDmDV0xKCN/T7D99ta1jGVhulg3PY8wiXEngD0DfM0I2XKXlrqJfg==", "dev": true, "funding": [ { @@ -2367,6 +2306,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-provider": "^5.6.1", "@ethersproject/abstract-signer": "^5.6.2", @@ -2387,8 +2327,6 @@ }, "node_modules/@synthetixio/wei/node_modules/@ethersproject/web": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.6.1.tgz", - "integrity": "sha512-/vSyzaQlNXkO1WV+RneYKqCJwualcUdx/Z3gseVovZP0wIlOFcCE1hkRhKBH8ImKbGQbMl9EAAyJFrJu7V0aqA==", "dev": true, "funding": [ { @@ -2400,6 +2338,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/base64": "^5.6.1", "@ethersproject/bytes": "^5.6.1", @@ -2410,8 +2349,6 @@ }, "node_modules/@synthetixio/wei/node_modules/@ethersproject/wordlists": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.6.1.tgz", - "integrity": "sha512-wiPRgBpNbNwCQFoCr8bcWO8o5I810cqO6mkdtKfLKFlLxeCWcnzDi4Alu8iyNzlhYuS9npCwivMbRWF19dyblw==", "dev": true, "funding": [ { @@ -2423,6 +2360,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.1", "@ethersproject/hash": "^5.6.1", @@ -2433,14 +2371,11 @@ }, "node_modules/@synthetixio/wei/node_modules/bn.js": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@synthetixio/wei/node_modules/ethers": { "version": "5.6.9", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.6.9.tgz", - "integrity": "sha512-lMGC2zv9HC5EC+8r429WaWu3uWJUCgUCt8xxKCFqkrFuBDZXDYIdzDUECxzjf2BMF8IVBByY1EBoGSL3RTm8RA==", "dev": true, "funding": [ { @@ -2452,6 +2387,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abi": "5.6.4", "@ethersproject/abstract-provider": "5.6.1", @@ -2487,15 +2423,13 @@ }, "node_modules/@synthetixio/wei/node_modules/js-sha3": { "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@synthetixio/wei/node_modules/ws": { "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.3.0" }, @@ -2514,8 +2448,8 @@ }, "node_modules/@szmarczak/http-timer": { "version": "1.1.2", - "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", "dev": true, + "license": "MIT", "dependencies": { "defer-to-connect": "^1.0.1" }, @@ -2525,8 +2459,6 @@ }, "node_modules/@tenderly/hardhat-tenderly": { "version": "1.0.15", - "resolved": "https://registry.npmjs.org/@tenderly/hardhat-tenderly/-/hardhat-tenderly-1.0.15.tgz", - "integrity": "sha512-zkv+VC/6jx/qCJQ0/IhvP7giumi/gE9gftLUJwaLLbvmWImnM2FS4yGkmVy/NAR1nRA5ucMNQ9laZIXr82pVLQ==", "dependencies": { "axios": "^0.21.1", "fs-extra": "^9.0.1", @@ -2538,8 +2470,7 @@ }, "node_modules/@tenderly/hardhat-tenderly/node_modules/fs-extra": { "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "license": "MIT", "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -2552,8 +2483,7 @@ }, "node_modules/@tenderly/hardhat-tenderly/node_modules/jsonfile": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "license": "MIT", "dependencies": { "universalify": "^2.0.0" }, @@ -2563,21 +2493,20 @@ }, "node_modules/@tenderly/hardhat-tenderly/node_modules/universalify": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "license": "MIT", "engines": { "node": ">= 10.0.0" } }, "node_modules/@truffle/error": { "version": "0.0.14", - "integrity": "sha512-utJx+SZYoMqk8wldQG4gCVKhV8GwMJbWY7sLXFT/D8wWZTnE2peX7URFJh/cxkjTRCO328z1s2qewkhyVsu2HA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@truffle/interface-adapter": { "version": "0.5.7", - "integrity": "sha512-3dGCppl4SDVUKmd3Jlm82EqMl0p9k7l0SbcRbeMeDkLNxuUG5r6WUHcgTUG9veq971JkVtZEz8+C+mfz1JwmBw==", "dev": true, + "license": "MIT", "dependencies": { "bn.js": "^5.1.3", "ethers": "^4.0.32", @@ -2586,13 +2515,13 @@ }, "node_modules/@truffle/interface-adapter/node_modules/bn.js": { "version": "5.2.0", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@truffle/interface-adapter/node_modules/ethers": { "version": "4.0.49", - "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", "dev": true, + "license": "MIT", "dependencies": { "aes-js": "3.0.0", "bn.js": "^4.11.9", @@ -2607,13 +2536,13 @@ }, "node_modules/@truffle/interface-adapter/node_modules/ethers/node_modules/bn.js": { "version": "4.12.0", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@truffle/interface-adapter/node_modules/hash.js": { "version": "1.1.3", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.0" @@ -2621,24 +2550,22 @@ }, "node_modules/@truffle/interface-adapter/node_modules/scrypt-js": { "version": "2.0.4", - "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@truffle/interface-adapter/node_modules/setimmediate": { "version": "1.0.4", - "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@truffle/interface-adapter/node_modules/uuid": { "version": "2.0.1", - "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", "dev": true }, "node_modules/@truffle/provider": { "version": "0.2.41", - "integrity": "sha512-weYUodsx8SGgCtaWRgJOe86eAXV2EEH/Cthndu7bfkZ7vPu94AZVn9hxlG3iZVUMLLscq7aNUsa3CZVqy/voiQ==", "dev": true, + "license": "MIT", "dependencies": { "@truffle/error": "^0.0.14", "@truffle/interface-adapter": "^0.5.7", @@ -2647,37 +2574,35 @@ }, "node_modules/@types/abstract-leveldown": { "version": "5.0.2", - "integrity": "sha512-+jA1XXF3jsz+Z7FcuiNqgK53hTa/luglT2TyTpKPqoYbxVY+mCPF22Rm+q3KPBrMHJwNXFrTViHszBOfU4vftQ==" + "license": "MIT" }, "node_modules/@types/adm-zip": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@types/adm-zip/-/adm-zip-0.5.0.tgz", - "integrity": "sha512-FCJBJq9ODsQZUNURo5ILAQueuA8WJhRvuihS3ke2iI25mJlfV2LK8jG2Qj2z2AWg8U0FtWWqBHVRetceLskSaw==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/archiver": { "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-5.3.1.tgz", - "integrity": "sha512-wKYZaSXaDvTZuInAWjCeGG7BEAgTWG2zZW0/f7IYFcoHB2X2d9lkVFnrOlXl3W6NrvO6Ml3FLLu8Uksyymcpnw==", "dev": true, + "license": "MIT", "dependencies": { "@types/glob": "*" } }, "node_modules/@types/bn.js": { "version": "5.1.0", - "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/glob": { "version": "7.1.4", - "integrity": "sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==", "dev": true, + "license": "MIT", "dependencies": { "@types/minimatch": "*", "@types/node": "*" @@ -2685,11 +2610,11 @@ }, "node_modules/@types/level-errors": { "version": "3.0.0", - "integrity": "sha512-/lMtoq/Cf/2DVOm6zE6ORyOM+3ZVm/BvzEZVxUhf6bgh8ZHglXlBqxbxSlJeVp8FCbD3IVvk/VbsaNmDjrQvqQ==" + "license": "MIT" }, "node_modules/@types/levelup": { "version": "4.3.3", - "integrity": "sha512-K+OTIjJcZHVlZQN1HmU64VtrC0jC3dXWQozuEIR9zVvltIk90zaGPM2AgT+fIkChpzHhFE3YnvFLCbLtzAmexA==", + "license": "MIT", "dependencies": { "@types/abstract-leveldown": "*", "@types/level-errors": "*", @@ -2698,28 +2623,26 @@ }, "node_modules/@types/long": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", - "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/lru-cache": { "version": "5.1.1", - "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==" + "license": "MIT" }, "node_modules/@types/minimatch": { "version": "3.0.5", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/node": { "version": "16.9.1", - "integrity": "sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==" + "license": "MIT" }, "node_modules/@types/node-fetch": { "version": "2.6.2", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.2.tgz", - "integrity": "sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*", "form-data": "^3.0.0" @@ -2727,9 +2650,8 @@ }, "node_modules/@types/node-fetch/node_modules/form-data": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", "dev": true, + "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -2741,40 +2663,38 @@ }, "node_modules/@types/pbkdf2": { "version": "3.1.0", - "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/secp256k1": { "version": "4.0.3", - "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/yazl": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@types/yazl/-/yazl-2.4.2.tgz", - "integrity": "sha512-T+9JH8O2guEjXNxqmybzQ92mJUh2oCwDDMSSimZSe1P+pceZiFROZLYmcbqkzV5EUwz6VwcKXCO2S2yUpra6XQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@ungap/promise-all-settled": { "version": "1.1.2", - "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==" + "license": "ISC" }, "node_modules/@usecannon/cli": { - "version": "1.0.20", - "resolved": "https://registry.npmjs.org/@usecannon/cli/-/cli-1.0.20.tgz", - "integrity": "sha512-2brl52WP65i2Bz4F3Xm/qaqobnmMpYwvtl1n00T72QtRFz9lhQPgWOMabKjdJUmR/e3sYSmGb+t9euEF19Y5WQ==", + "version": "1.0.21", "dev": true, + "license": "MIT", "dependencies": { "@synthetixio/wei": "^2.74.1", "@types/node-fetch": "^2.6.2", - "@usecannon/builder": "^1.0.20", + "@usecannon/builder": "^1.0.21", "chalk": "^4.1.2", "commander": "^9.3.0", "debug": "^4.3.4", @@ -2790,8 +2710,6 @@ }, "node_modules/@usecannon/cli/node_modules/@ethersproject/abi": { "version": "5.6.4", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.6.4.tgz", - "integrity": "sha512-TTeZUlCeIHG6527/2goZA6gW5F8Emoc7MrZDC7hhP84aRGvW3TEdTnZR08Ls88YXM1m2SuK42Osw/jSi3uO8gg==", "dev": true, "funding": [ { @@ -2803,6 +2721,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/address": "^5.6.1", "@ethersproject/bignumber": "^5.6.2", @@ -2817,8 +2736,6 @@ }, "node_modules/@usecannon/cli/node_modules/@ethersproject/abstract-provider": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.6.1.tgz", - "integrity": "sha512-BxlIgogYJtp1FS8Muvj8YfdClk3unZH0vRMVX791Z9INBNT/kuACZ9GzaY1Y4yFq+YSy6/w4gzj3HCRKrK9hsQ==", "dev": true, "funding": [ { @@ -2830,6 +2747,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.6.2", "@ethersproject/bytes": "^5.6.1", @@ -2842,8 +2760,6 @@ }, "node_modules/@usecannon/cli/node_modules/@ethersproject/abstract-signer": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.6.2.tgz", - "integrity": "sha512-n1r6lttFBG0t2vNiI3HoWaS/KdOt8xyDjzlP2cuevlWLG6EX0OwcKLyG/Kp/cuwNxdy/ous+R/DEMdTUwWQIjQ==", "dev": true, "funding": [ { @@ -2855,6 +2771,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-provider": "^5.6.1", "@ethersproject/bignumber": "^5.6.2", @@ -2865,8 +2782,6 @@ }, "node_modules/@usecannon/cli/node_modules/@ethersproject/address": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.6.1.tgz", - "integrity": "sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q==", "dev": true, "funding": [ { @@ -2878,6 +2793,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.6.2", "@ethersproject/bytes": "^5.6.1", @@ -2888,8 +2804,6 @@ }, "node_modules/@usecannon/cli/node_modules/@ethersproject/base64": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.6.1.tgz", - "integrity": "sha512-qB76rjop6a0RIYYMiB4Eh/8n+Hxu2NIZm8S/Q7kNo5pmZfXhHGHmS4MinUainiBC54SCyRnwzL+KZjj8zbsSsw==", "dev": true, "funding": [ { @@ -2901,14 +2815,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.1" } }, "node_modules/@usecannon/cli/node_modules/@ethersproject/basex": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.6.1.tgz", - "integrity": "sha512-a52MkVz4vuBXR06nvflPMotld1FJWSj2QT0985v7P/emPZO00PucFAkbcmq2vpVU7Ts7umKiSI6SppiLykVWsA==", "dev": true, "funding": [ { @@ -2920,6 +2833,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.1", "@ethersproject/properties": "^5.6.0" @@ -2927,8 +2841,6 @@ }, "node_modules/@usecannon/cli/node_modules/@ethersproject/bignumber": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.6.2.tgz", - "integrity": "sha512-v7+EEUbhGqT3XJ9LMPsKvXYHFc8eHxTowFCG/HgJErmq4XHJ2WR7aeyICg3uTOAQ7Icn0GFHAohXEhxQHq4Ubw==", "dev": true, "funding": [ { @@ -2940,6 +2852,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.1", "@ethersproject/logger": "^5.6.0", @@ -2948,8 +2861,6 @@ }, "node_modules/@usecannon/cli/node_modules/@ethersproject/bytes": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.6.1.tgz", - "integrity": "sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==", "dev": true, "funding": [ { @@ -2961,14 +2872,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/logger": "^5.6.0" } }, "node_modules/@usecannon/cli/node_modules/@ethersproject/constants": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.6.1.tgz", - "integrity": "sha512-QSq9WVnZbxXYFftrjSjZDUshp6/eKp6qrtdBtUCm0QxCV5z1fG/w3kdlcsjMCQuQHUnAclKoK7XpXMezhRDOLg==", "dev": true, "funding": [ { @@ -2980,14 +2890,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.6.2" } }, "node_modules/@usecannon/cli/node_modules/@ethersproject/contracts": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.6.2.tgz", - "integrity": "sha512-hguUA57BIKi6WY0kHvZp6PwPlWF87MCeB4B7Z7AbUpTxfFXFdn/3b0GmjZPagIHS+3yhcBJDnuEfU4Xz+Ks/8g==", "dev": true, "funding": [ { @@ -2999,6 +2908,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abi": "^5.6.3", "@ethersproject/abstract-provider": "^5.6.1", @@ -3014,8 +2924,6 @@ }, "node_modules/@usecannon/cli/node_modules/@ethersproject/hash": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.6.1.tgz", - "integrity": "sha512-L1xAHurbaxG8VVul4ankNX5HgQ8PNCTrnVXEiFnE9xoRnaUcgfD12tZINtDinSllxPLCtGwguQxJ5E6keE84pA==", "dev": true, "funding": [ { @@ -3027,6 +2935,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-signer": "^5.6.2", "@ethersproject/address": "^5.6.1", @@ -3040,8 +2949,6 @@ }, "node_modules/@usecannon/cli/node_modules/@ethersproject/hdnode": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.6.2.tgz", - "integrity": "sha512-tERxW8Ccf9CxW2db3WsN01Qao3wFeRsfYY9TCuhmG0xNpl2IO8wgXU3HtWIZ49gUWPggRy4Yg5axU0ACaEKf1Q==", "dev": true, "funding": [ { @@ -3053,6 +2960,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-signer": "^5.6.2", "@ethersproject/basex": "^5.6.1", @@ -3070,8 +2978,6 @@ }, "node_modules/@usecannon/cli/node_modules/@ethersproject/json-wallets": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.6.1.tgz", - "integrity": "sha512-KfyJ6Zwz3kGeX25nLihPwZYlDqamO6pfGKNnVMWWfEVVp42lTfCZVXXy5Ie8IZTN0HKwAngpIPi7gk4IJzgmqQ==", "dev": true, "funding": [ { @@ -3083,6 +2989,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-signer": "^5.6.2", "@ethersproject/address": "^5.6.1", @@ -3101,8 +3008,6 @@ }, "node_modules/@usecannon/cli/node_modules/@ethersproject/keccak256": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.6.1.tgz", - "integrity": "sha512-bB7DQHCTRDooZZdL3lk9wpL0+XuG3XLGHLh3cePnybsO3V0rdCAOQGpn/0R3aODmnTOOkCATJiD2hnL+5bwthA==", "dev": true, "funding": [ { @@ -3114,6 +3019,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.1", "js-sha3": "0.8.0" @@ -3121,8 +3027,6 @@ }, "node_modules/@usecannon/cli/node_modules/@ethersproject/logger": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.6.0.tgz", - "integrity": "sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==", "dev": true, "funding": [ { @@ -3133,12 +3037,11 @@ "type": "individual", "url": "https://www.buymeacoffee.com/ricmoo" } - ] + ], + "license": "MIT" }, "node_modules/@usecannon/cli/node_modules/@ethersproject/networks": { "version": "5.6.4", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.6.4.tgz", - "integrity": "sha512-KShHeHPahHI2UlWdtDMn2lJETcbtaJge4k7XSjDR9h79QTd6yQJmv6Cp2ZA4JdqWnhszAOLSuJEd9C0PRw7hSQ==", "dev": true, "funding": [ { @@ -3150,14 +3053,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/logger": "^5.6.0" } }, "node_modules/@usecannon/cli/node_modules/@ethersproject/pbkdf2": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.6.1.tgz", - "integrity": "sha512-k4gRQ+D93zDRPNUfmduNKq065uadC2YjMP/CqwwX5qG6R05f47boq6pLZtV/RnC4NZAYOPH1Cyo54q0c9sshRQ==", "dev": true, "funding": [ { @@ -3169,6 +3071,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.1", "@ethersproject/sha2": "^5.6.1" @@ -3176,8 +3079,6 @@ }, "node_modules/@usecannon/cli/node_modules/@ethersproject/properties": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.6.0.tgz", - "integrity": "sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==", "dev": true, "funding": [ { @@ -3189,14 +3090,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/logger": "^5.6.0" } }, "node_modules/@usecannon/cli/node_modules/@ethersproject/providers": { "version": "5.6.8", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.6.8.tgz", - "integrity": "sha512-Wf+CseT/iOJjrGtAOf3ck9zS7AgPmr2fZ3N97r4+YXN3mBePTG2/bJ8DApl9mVwYL+RpYbNxMEkEp4mPGdwG/w==", "dev": true, "funding": [ { @@ -3208,6 +3108,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-provider": "^5.6.1", "@ethersproject/abstract-signer": "^5.6.2", @@ -3233,8 +3134,6 @@ }, "node_modules/@usecannon/cli/node_modules/@ethersproject/random": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.6.1.tgz", - "integrity": "sha512-/wtPNHwbmng+5yi3fkipA8YBT59DdkGRoC2vWk09Dci/q5DlgnMkhIycjHlavrvrjJBkFjO/ueLyT+aUDfc4lA==", "dev": true, "funding": [ { @@ -3246,6 +3145,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.1", "@ethersproject/logger": "^5.6.0" @@ -3253,8 +3153,6 @@ }, "node_modules/@usecannon/cli/node_modules/@ethersproject/rlp": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.6.1.tgz", - "integrity": "sha512-uYjmcZx+DKlFUk7a5/W9aQVaoEC7+1MOBgNtvNg13+RnuUwT4F0zTovC0tmay5SmRslb29V1B7Y5KCri46WhuQ==", "dev": true, "funding": [ { @@ -3266,6 +3164,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.1", "@ethersproject/logger": "^5.6.0" @@ -3273,8 +3172,6 @@ }, "node_modules/@usecannon/cli/node_modules/@ethersproject/sha2": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.6.1.tgz", - "integrity": "sha512-5K2GyqcW7G4Yo3uenHegbXRPDgARpWUiXc6RiF7b6i/HXUoWlb7uCARh7BAHg7/qT/Q5ydofNwiZcim9qpjB6g==", "dev": true, "funding": [ { @@ -3286,6 +3183,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.1", "@ethersproject/logger": "^5.6.0", @@ -3294,8 +3192,6 @@ }, "node_modules/@usecannon/cli/node_modules/@ethersproject/signing-key": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.6.2.tgz", - "integrity": "sha512-jVbu0RuP7EFpw82vHcL+GP35+KaNruVAZM90GxgQnGqB6crhBqW/ozBfFvdeImtmb4qPko0uxXjn8l9jpn0cwQ==", "dev": true, "funding": [ { @@ -3307,6 +3203,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.1", "@ethersproject/logger": "^5.6.0", @@ -3318,8 +3215,6 @@ }, "node_modules/@usecannon/cli/node_modules/@ethersproject/solidity": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.6.1.tgz", - "integrity": "sha512-KWqVLkUUoLBfL1iwdzUVlkNqAUIFMpbbeH0rgCfKmJp0vFtY4AsaN91gHKo9ZZLkC4UOm3cI3BmMV4N53BOq4g==", "dev": true, "funding": [ { @@ -3331,6 +3226,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.6.2", "@ethersproject/bytes": "^5.6.1", @@ -3342,8 +3238,6 @@ }, "node_modules/@usecannon/cli/node_modules/@ethersproject/strings": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.6.1.tgz", - "integrity": "sha512-2X1Lgk6Jyfg26MUnsHiT456U9ijxKUybz8IM1Vih+NJxYtXhmvKBcHOmvGqpFSVJ0nQ4ZCoIViR8XlRw1v/+Cw==", "dev": true, "funding": [ { @@ -3355,6 +3249,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.1", "@ethersproject/constants": "^5.6.1", @@ -3363,8 +3258,6 @@ }, "node_modules/@usecannon/cli/node_modules/@ethersproject/transactions": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.6.2.tgz", - "integrity": "sha512-BuV63IRPHmJvthNkkt9G70Ullx6AcM+SDc+a8Aw/8Yew6YwT51TcBKEp1P4oOQ/bP25I18JJr7rcFRgFtU9B2Q==", "dev": true, "funding": [ { @@ -3376,6 +3269,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/address": "^5.6.1", "@ethersproject/bignumber": "^5.6.2", @@ -3390,8 +3284,6 @@ }, "node_modules/@usecannon/cli/node_modules/@ethersproject/units": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.6.1.tgz", - "integrity": "sha512-rEfSEvMQ7obcx3KWD5EWWx77gqv54K6BKiZzKxkQJqtpriVsICrktIQmKl8ReNToPeIYPnFHpXvKpi068YFZXw==", "dev": true, "funding": [ { @@ -3403,6 +3295,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.6.2", "@ethersproject/constants": "^5.6.1", @@ -3411,8 +3304,6 @@ }, "node_modules/@usecannon/cli/node_modules/@ethersproject/wallet": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.6.2.tgz", - "integrity": "sha512-lrgh0FDQPuOnHcF80Q3gHYsSUODp6aJLAdDmDV0xKCN/T7D99ta1jGVhulg3PY8wiXEngD0DfM0I2XKXlrqJfg==", "dev": true, "funding": [ { @@ -3424,6 +3315,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-provider": "^5.6.1", "@ethersproject/abstract-signer": "^5.6.2", @@ -3444,8 +3336,6 @@ }, "node_modules/@usecannon/cli/node_modules/@ethersproject/web": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.6.1.tgz", - "integrity": "sha512-/vSyzaQlNXkO1WV+RneYKqCJwualcUdx/Z3gseVovZP0wIlOFcCE1hkRhKBH8ImKbGQbMl9EAAyJFrJu7V0aqA==", "dev": true, "funding": [ { @@ -3457,6 +3347,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/base64": "^5.6.1", "@ethersproject/bytes": "^5.6.1", @@ -3467,8 +3358,6 @@ }, "node_modules/@usecannon/cli/node_modules/@ethersproject/wordlists": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.6.1.tgz", - "integrity": "sha512-wiPRgBpNbNwCQFoCr8bcWO8o5I810cqO6mkdtKfLKFlLxeCWcnzDi4Alu8iyNzlhYuS9npCwivMbRWF19dyblw==", "dev": true, "funding": [ { @@ -3480,6 +3369,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.1", "@ethersproject/hash": "^5.6.1", @@ -3489,10 +3379,9 @@ } }, "node_modules/@usecannon/cli/node_modules/@usecannon/builder": { - "version": "1.0.20", - "resolved": "https://registry.npmjs.org/@usecannon/builder/-/builder-1.0.20.tgz", - "integrity": "sha512-Zzac0olgFlNpCdNGecjUSfJZusKUYfLkIZoh+drzes5DeRdbqGhvEEezg70TKaOa6mR16rlwnsC+pBXFP3lMFw==", + "version": "1.0.21", "dev": true, + "license": "MIT", "dependencies": { "adm-zip": "^0.5.9", "ajv": "^8.11.0", @@ -3512,18 +3401,16 @@ }, "node_modules/@usecannon/cli/node_modules/adm-zip": { "version": "0.5.9", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.9.tgz", - "integrity": "sha512-s+3fXLkeeLjZ2kLjCBwQufpI5fuN+kIGBxu6530nVQZGVol0d7Y/M88/xw9HGGUcJjKf8LutN3VPRUBq6N7Ajg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.0" } }, "node_modules/@usecannon/cli/node_modules/ajv": { "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -3537,14 +3424,11 @@ }, "node_modules/@usecannon/cli/node_modules/bn.js": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@usecannon/cli/node_modules/buffer": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "dev": true, "funding": [ { @@ -3560,6 +3444,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" @@ -3567,17 +3452,14 @@ }, "node_modules/@usecannon/cli/node_modules/commander": { "version": "9.4.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz", - "integrity": "sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==", "dev": true, + "license": "MIT", "engines": { "node": "^12.20.0 || >=14" } }, "node_modules/@usecannon/cli/node_modules/ethers": { "version": "5.6.9", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.6.9.tgz", - "integrity": "sha512-lMGC2zv9HC5EC+8r429WaWu3uWJUCgUCt8xxKCFqkrFuBDZXDYIdzDUECxzjf2BMF8IVBByY1EBoGSL3RTm8RA==", "dev": true, "funding": [ { @@ -3589,6 +3471,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abi": "5.6.4", "@ethersproject/abstract-provider": "5.6.1", @@ -3624,9 +3507,8 @@ }, "node_modules/@usecannon/cli/node_modules/fs-extra": { "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", "dev": true, + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -3638,9 +3520,8 @@ }, "node_modules/@usecannon/cli/node_modules/ipfs-http-client": { "version": "56.0.3", - "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-56.0.3.tgz", - "integrity": "sha512-E3L5ylVl6BjyRUsNehvfuRBYp1hj8vQ8in4zskVPMNzXs6JiCFUbif5a6BtcAlSK4xPQyJCeLNNAWLUeFQTLNA==", "dev": true, + "license": "(Apache-2.0 OR MIT)", "dependencies": { "@ipld/dag-cbor": "^7.0.0", "@ipld/dag-json": "^8.0.1", @@ -3668,9 +3549,8 @@ }, "node_modules/@usecannon/cli/node_modules/ipfs-utils": { "version": "9.0.7", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-9.0.7.tgz", - "integrity": "sha512-Umvb0Zydy2zZiTmQBGLfLISr8vOmXX8cxEIP+N8zGHrtRShG/j32yl1xd/BtS+Hbg0FIbVm3opwvxB2gmta0YA==", "dev": true, + "license": "MIT", "dependencies": { "any-signal": "^3.0.0", "buffer": "^6.0.1", @@ -3690,21 +3570,18 @@ }, "node_modules/@usecannon/cli/node_modules/js-sha3": { "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@usecannon/cli/node_modules/json-schema-traverse": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@usecannon/cli/node_modules/jsonfile": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, + "license": "MIT", "dependencies": { "universalify": "^2.0.0" }, @@ -3715,8 +3592,6 @@ "node_modules/@usecannon/cli/node_modules/node-fetch": { "name": "@achingbrain/node-fetch", "version": "2.6.7", - "resolved": "https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-iTASGs+HTFK5E4ZqcMsHmeJ4zodyq8L38lZV33jwqcBJYoUt3HjN4+ot+O9/0b+ke8ddE7UgOtVuZN/OkV19/g==", "dev": true, "license": "MIT", "engines": { @@ -3725,18 +3600,16 @@ }, "node_modules/@usecannon/cli/node_modules/universalify": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 10.0.0" } }, "node_modules/@usecannon/cli/node_modules/ws": { "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.3.0" }, @@ -3755,9 +3628,8 @@ }, "node_modules/abi-decoder": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/abi-decoder/-/abi-decoder-2.3.0.tgz", - "integrity": "sha512-RZXG5mo1JhJjTBg/4NXlS8hyTr2fxiuFaz3UveRpoX9IIc3LPHmWz89dFqTHNQVbWi3VZqxSJqfUwWpb/mCHxA==", "dev": true, + "license": "GPL-3.0", "dependencies": { "web3-eth-abi": "^1.2.1", "web3-utils": "^1.2.1" @@ -3765,7 +3637,7 @@ }, "node_modules/abort-controller": { "version": "3.0.0", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "license": "MIT", "dependencies": { "event-target-shim": "^5.0.0" }, @@ -3775,7 +3647,7 @@ }, "node_modules/abstract-leveldown": { "version": "6.3.0", - "integrity": "sha512-TU5nlYgta8YrBMNpc9FwQzRbiXsj49gsALsXadbGHt9CROPzX5fB0rWDR5mtdpOOKa5XqRFpbj1QroPAoPzVjQ==", + "license": "MIT", "dependencies": { "buffer": "^5.5.0", "immediate": "^3.2.3", @@ -3789,8 +3661,8 @@ }, "node_modules/acorn": { "version": "7.4.1", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -3800,34 +3672,34 @@ }, "node_modules/acorn-jsx": { "version": "5.3.2", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, + "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "node_modules/address": { "version": "1.1.2", - "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.12.0" } }, "node_modules/adm-zip": { "version": "0.4.16", - "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", + "license": "MIT", "engines": { "node": ">=0.3.0" } }, "node_modules/aes-js": { "version": "3.0.0", - "integrity": "sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=" + "license": "MIT" }, "node_modules/agent-base": { "version": "6.0.2", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", "dependencies": { "debug": "4" }, @@ -3837,7 +3709,7 @@ }, "node_modules/aggregate-error": { "version": "3.1.0", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "license": "MIT", "dependencies": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" @@ -3848,8 +3720,8 @@ }, "node_modules/ajv": { "version": "6.12.6", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -3863,8 +3735,8 @@ }, "node_modules/amdefine": { "version": "1.0.1", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", "dev": true, + "license": "BSD-3-Clause OR MIT", "optional": true, "engines": { "node": ">=0.4.2" @@ -3872,14 +3744,14 @@ }, "node_modules/ansi-colors": { "version": "4.1.1", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/ansi-escapes": { "version": "4.3.2", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "license": "MIT", "dependencies": { "type-fest": "^0.21.3" }, @@ -3892,7 +3764,7 @@ }, "node_modules/ansi-escapes/node_modules/type-fest": { "version": "0.21.3", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -3902,14 +3774,14 @@ }, "node_modules/ansi-regex": { "version": "5.0.1", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/ansi-styles": { "version": "4.3.0", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -3922,22 +3794,21 @@ }, "node_modules/antlr4": { "version": "4.7.1", - "integrity": "sha512-haHyTW7Y9joE5MVs37P2lNYfU2RWBLfcRDD8OWldcdZm5TiCE91B5Xl1oWSwiDUSd4rlExpt2pu1fksYQjRBYQ==", - "dev": true + "dev": true, + "license": "BSD" }, "node_modules/antlr4ts": { "version": "0.5.0-alpha.4", - "integrity": "sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==" + "license": "BSD-3-Clause" }, "node_modules/any-signal": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-3.0.1.tgz", - "integrity": "sha512-xgZgJtKEa9YmDqXodIgl7Fl1C8yNXr8w6gXjqK3LW4GcEiYT+6AQfJSE/8SPsEpLLmcvbv8YU+qet94UewHxqg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/anymatch": { "version": "3.1.2", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -3948,8 +3819,8 @@ }, "node_modules/append-transform": { "version": "2.0.0", - "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", "dev": true, + "license": "MIT", "dependencies": { "default-require-extensions": "^3.0.0" }, @@ -3959,19 +3830,19 @@ }, "node_modules/archy": { "version": "1.0.0", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/argparse": { "version": "1.0.10", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } }, "node_modules/arr-diff": { "version": "2.0.0", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "license": "MIT", "dependencies": { "arr-flatten": "^1.0.1" }, @@ -3981,58 +3852,58 @@ }, "node_modules/arr-flatten": { "version": "1.1.0", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/array-differ": { "version": "3.0.0", - "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/array-flatten": { "version": "1.1.1", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/array-union": { "version": "2.1.0", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/array-unique": { "version": "0.2.1", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/arrify": { "version": "2.0.1", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/asn1": { "version": "0.2.4", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "dev": true, + "license": "MIT", "dependencies": { "safer-buffer": "~2.1.0" } }, "node_modules/asn1.js": { "version": "5.4.1", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", "dev": true, + "license": "MIT", "dependencies": { "bn.js": "^4.0.0", "inherits": "^2.0.1", @@ -4042,52 +3913,51 @@ }, "node_modules/ast-parents": { "version": "0.0.1", - "integrity": "sha1-UI/Q8F0MSHddnszaLhdEIyYejdM=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/astral-regex": { "version": "2.0.0", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/async": { "version": "2.6.3", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "license": "MIT", "dependencies": { "lodash": "^4.17.14" } }, "node_modules/async-eventemitter": { "version": "0.2.4", - "integrity": "sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw==", + "license": "MIT", "dependencies": { "async": "^2.4.0" } }, "node_modules/async-limiter": { "version": "1.0.1", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/asynckit": { "version": "0.4.0", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + "license": "MIT" }, "node_modules/at-least-node": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "license": "ISC", "engines": { "node": ">= 4.0.0" } }, "node_modules/available-typed-arrays": { "version": "1.0.5", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -4097,31 +3967,29 @@ }, "node_modules/aws4": { "version": "1.11.0", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/axios": { "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "license": "MIT", "dependencies": { "follow-redirects": "^1.14.0" } }, "node_modules/balanced-match": { "version": "1.0.2", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "license": "MIT" }, "node_modules/base-x": { "version": "3.0.8", - "integrity": "sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA==", + "license": "MIT", "dependencies": { "safe-buffer": "^5.0.1" } }, "node_modules/base64-js": { "version": "1.5.1", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "funding": [ { "type": "github", @@ -4135,30 +4003,30 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/bcrypt-pbkdf": { "version": "1.0.2", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "tweetnacl": "^0.14.3" } }, "node_modules/bcrypt-pbkdf/node_modules/tweetnacl": { "version": "0.14.5", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true + "dev": true, + "license": "Unlicense" }, "node_modules/bech32": { "version": "1.1.4", - "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" + "license": "MIT" }, "node_modules/big.js": { "version": "6.2.1", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-6.2.1.tgz", - "integrity": "sha512-bCtHMwL9LeDIozFn+oNhhFoq+yQ3BNdnsLSASUxLciOb1vgvpHsIO1dsENiGMgbb4SkP5TrzWzRiLddn8ahVOQ==", "dev": true, + "license": "MIT", "engines": { "node": "*" }, @@ -4169,23 +4037,22 @@ }, "node_modules/bignumber.js": { "version": "9.0.1", - "integrity": "sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==", + "license": "MIT", "engines": { "node": "*" } }, "node_modules/binary-extensions": { "version": "2.2.0", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/bl": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "dev": true, + "license": "MIT", "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", @@ -4194,25 +4061,24 @@ }, "node_modules/blakejs": { "version": "1.1.1", - "integrity": "sha512-bLG6PHOCZJKNshTjGRBvET0vTciwQE6zFKOKKXPDJfwFBd4Ac0yBfPZqcGvGJap50l7ktvlpFqc2jGVaUgbJgg==" + "license": "CC0-1.0" }, "node_modules/blob-to-it": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/blob-to-it/-/blob-to-it-1.0.4.tgz", - "integrity": "sha512-iCmk0W4NdbrWgRRuxOriU8aM5ijeVLI61Zulsmg/lUHNr7pYjoj+U77opLefNagevtrrbMt3JQ5Qip7ar178kA==", "dev": true, + "license": "ISC", "dependencies": { "browser-readablestream-to-it": "^1.0.3" } }, "node_modules/bn.js": { "version": "4.12.0", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "license": "MIT" }, "node_modules/body-parser": { "version": "1.19.0", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", "dev": true, + "license": "MIT", "dependencies": { "bytes": "3.1.0", "content-type": "~1.0.4", @@ -4231,16 +4097,16 @@ }, "node_modules/body-parser/node_modules/debug": { "version": "2.6.9", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/body-parser/node_modules/http-errors": { "version": "1.7.2", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", "dev": true, + "license": "MIT", "dependencies": { "depd": "~1.1.2", "inherits": "2.0.3", @@ -4254,26 +4120,26 @@ }, "node_modules/body-parser/node_modules/inherits": { "version": "2.0.3", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/body-parser/node_modules/qs": { "version": "6.7.0", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.6" } }, "node_modules/body-parser/node_modules/raw-body": { "version": "2.4.0", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", "dev": true, + "license": "MIT", "dependencies": { "bytes": "3.1.0", "http-errors": "1.7.2", @@ -4286,13 +4152,12 @@ }, "node_modules/boolbase": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/brace-expansion": { "version": "1.1.11", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -4300,7 +4165,7 @@ }, "node_modules/braces": { "version": "3.0.2", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "license": "MIT", "dependencies": { "fill-range": "^7.0.1" }, @@ -4310,21 +4175,20 @@ }, "node_modules/brorand": { "version": "1.1.0", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + "license": "MIT" }, "node_modules/browser-readablestream-to-it": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/browser-readablestream-to-it/-/browser-readablestream-to-it-1.0.3.tgz", - "integrity": "sha512-+12sHB+Br8HIh6VAMVEG5r3UXCyESIgDW7kzk3BjIXa43DVqVwL7GC5TW3jeh+72dtcH99pPVpw0X8i0jt+/kw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/browser-stdout": { "version": "1.3.1", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" + "license": "ISC" }, "node_modules/browserify-aes": { "version": "1.2.0", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "license": "MIT", "dependencies": { "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", @@ -4336,12 +4200,12 @@ }, "node_modules/browserify-aes/node_modules/buffer-xor": { "version": "1.0.3", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + "license": "MIT" }, "node_modules/browserify-cipher": { "version": "1.0.1", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, + "license": "MIT", "dependencies": { "browserify-aes": "^1.0.4", "browserify-des": "^1.0.0", @@ -4350,8 +4214,8 @@ }, "node_modules/browserify-des": { "version": "1.0.2", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "dev": true, + "license": "MIT", "dependencies": { "cipher-base": "^1.0.1", "des.js": "^1.0.0", @@ -4361,8 +4225,8 @@ }, "node_modules/browserify-rsa": { "version": "4.1.0", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", "dev": true, + "license": "MIT", "dependencies": { "bn.js": "^5.0.0", "randombytes": "^2.0.1" @@ -4370,13 +4234,13 @@ }, "node_modules/browserify-rsa/node_modules/bn.js": { "version": "5.2.0", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/browserify-sign": { "version": "4.2.1", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", "dev": true, + "license": "ISC", "dependencies": { "bn.js": "^5.1.1", "browserify-rsa": "^4.0.1", @@ -4391,13 +4255,13 @@ }, "node_modules/browserify-sign/node_modules/bn.js": { "version": "5.2.0", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/browserslist": { "version": "4.17.2", - "integrity": "sha512-jSDZyqJmkKMEMi7SZAgX5UltFdR5NAO43vY0AwTpu4X3sGH7GLLQ83KiUomgrnvZRCeW0yPPnKqnxPqQOER9zQ==", "dev": true, + "license": "MIT", "dependencies": { "caniuse-lite": "^1.0.30001261", "electron-to-chromium": "^1.3.854", @@ -4418,14 +4282,14 @@ }, "node_modules/bs58": { "version": "4.0.1", - "integrity": "sha1-vhYedsNU9veIrkBx9j806MTwpCo=", + "license": "MIT", "dependencies": { "base-x": "^3.0.2" } }, "node_modules/bs58check": { "version": "2.1.2", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", + "license": "MIT", "dependencies": { "bs58": "^4.0.0", "create-hash": "^1.1.0", @@ -4434,7 +4298,6 @@ }, "node_modules/buffer": { "version": "5.7.1", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "funding": [ { "type": "github", @@ -4449,6 +4312,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" @@ -4456,26 +4320,25 @@ }, "node_modules/buffer-from": { "version": "1.1.2", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + "license": "MIT" }, "node_modules/buffer-to-arraybuffer": { "version": "0.0.5", - "integrity": "sha1-YGSkD6dutDxyOrqe+PbhIW0QURo=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/buffer-xor": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-2.0.2.tgz", - "integrity": "sha512-eHslX0bin3GB+Lx2p7lEYRShRewuNZL3fUl4qlVJGGiwoPGftmt8JQgk2Y9Ji5/01TnVDo33E5b5O3vUB1HdqQ==", + "license": "MIT", "dependencies": { "safe-buffer": "^5.1.1" } }, "node_modules/bufferutil": { "version": "4.0.4", - "integrity": "sha512-VNxjXUCrF3LvbLgwfkTb5LsFvk6pGIn7OBb9x+3o+iJ6mKw0JTUp4chBFc88hi1aspeZGeZG9jAIbpFYPQSLZw==", "devOptional": true, "hasInstallScript": true, + "license": "MIT", "dependencies": { "node-gyp-build": "^4.2.0" }, @@ -4485,15 +4348,15 @@ }, "node_modules/bytes": { "version": "3.1.0", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/cacheable-request": { "version": "6.1.0", - "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", "dev": true, + "license": "MIT", "dependencies": { "clone-response": "^1.0.2", "get-stream": "^5.1.0", @@ -4509,16 +4372,16 @@ }, "node_modules/cacheable-request/node_modules/lowercase-keys": { "version": "2.0.0", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/caching-transform": { "version": "4.0.0", - "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", "dev": true, + "license": "MIT", "dependencies": { "hasha": "^5.0.0", "make-dir": "^3.0.0", @@ -4531,8 +4394,8 @@ }, "node_modules/caching-transform/node_modules/hasha": { "version": "5.2.2", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", "dev": true, + "license": "MIT", "dependencies": { "is-stream": "^2.0.0", "type-fest": "^0.8.0" @@ -4546,15 +4409,15 @@ }, "node_modules/caching-transform/node_modules/type-fest": { "version": "0.8.1", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" } }, "node_modules/call-bind": { "version": "1.0.2", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "license": "MIT", "dependencies": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" @@ -4565,8 +4428,8 @@ }, "node_modules/caller-callsite": { "version": "2.0.0", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", "dev": true, + "license": "MIT", "dependencies": { "callsites": "^2.0.0" }, @@ -4576,16 +4439,16 @@ }, "node_modules/caller-callsite/node_modules/callsites": { "version": "2.0.0", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/caller-path": { "version": "2.0.0", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", "dev": true, + "license": "MIT", "dependencies": { "caller-callsite": "^2.0.0" }, @@ -4595,24 +4458,24 @@ }, "node_modules/callsites": { "version": "3.1.0", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/camelcase": { "version": "5.3.1", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/caniuse-lite": { "version": "1.0.30001264", - "integrity": "sha512-Ftfqqfcs/ePiUmyaySsQ4PUsdcYyXG2rfoBVsk3iY1ahHaJEw65vfb7Suzqm+cEkwwPIv/XWkg27iCpRavH4zA==", "dev": true, + "license": "CC-BY-4.0", "funding": { "type": "opencollective", "url": "https://opencollective.com/browserslist" @@ -4620,8 +4483,7 @@ }, "node_modules/cbor": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/cbor/-/cbor-5.2.0.tgz", - "integrity": "sha512-5IMhi9e1QU76ppa5/ajP1BmMWZ2FHkhAhjeVKQ/EFCgYSEaeVaoGtL7cxJskf9oCCk+XjzaIdc3IuU/dbA/o2A==", + "license": "MIT", "dependencies": { "bignumber.js": "^9.0.1", "nofilter": "^1.0.4" @@ -4632,16 +4494,15 @@ }, "node_modules/cborg": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.9.0.tgz", - "integrity": "sha512-V55F9PB2rQHXcmkZKiUEE+4IhOHu9clfO5fpcVNpSPb5V0ZdPoKhgiGA0w26J5Pd93FiMXW47ovZMw3T8V1eWA==", "dev": true, + "license": "Apache-2.0", "bin": { "cborg": "cli.js" } }, "node_modules/chalk": { "version": "4.1.2", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -4655,12 +4516,12 @@ }, "node_modules/chardet": { "version": "0.7.0", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/chokidar": { "version": "3.5.2", - "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "license": "MIT", "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -4679,18 +4540,17 @@ }, "node_modules/chownr": { "version": "1.1.4", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/ci-info": { "version": "2.0.0", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + "license": "MIT" }, "node_modules/cids": { "version": "0.7.5", - "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", - "deprecated": "This module has been superseded by the multiformats module", "dev": true, + "license": "MIT", "dependencies": { "buffer": "^5.5.0", "class-is": "^1.1.0", @@ -4705,9 +4565,8 @@ }, "node_modules/cids/node_modules/multicodec": { "version": "1.0.4", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", "dev": true, + "license": "MIT", "dependencies": { "buffer": "^5.6.0", "varint": "^5.0.0" @@ -4715,7 +4574,7 @@ }, "node_modules/cipher-base": { "version": "1.0.4", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "license": "MIT", "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -4723,20 +4582,20 @@ }, "node_modules/class-is": { "version": "1.1.0", - "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/clean-stack": { "version": "2.2.0", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/cli-cursor": { "version": "2.1.0", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, + "license": "MIT", "dependencies": { "restore-cursor": "^2.0.0" }, @@ -4746,9 +4605,8 @@ }, "node_modules/cli-spinners": { "version": "2.6.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", - "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" }, @@ -4758,9 +4616,8 @@ }, "node_modules/cli-table3": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.0.tgz", - "integrity": "sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ==", "dev": true, + "license": "MIT", "dependencies": { "object-assign": "^4.1.0", "string-width": "^4.2.0" @@ -4774,13 +4631,12 @@ }, "node_modules/cli-width": { "version": "2.2.1", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/cliui": { "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -4789,24 +4645,23 @@ }, "node_modules/clone": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8" } }, "node_modules/clone-response": { "version": "1.0.2", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", "dev": true, + "license": "MIT", "dependencies": { "mimic-response": "^1.0.0" } }, "node_modules/color-convert": { "version": "2.0.1", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -4816,20 +4671,19 @@ }, "node_modules/color-name": { "version": "1.1.4", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/colors": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.1.90" } }, "node_modules/combined-stream": { "version": "1.0.8", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", "dependencies": { "delayed-stream": "~1.0.0" }, @@ -4839,28 +4693,28 @@ }, "node_modules/command-exists": { "version": "1.2.9", - "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" + "license": "MIT" }, "node_modules/commander": { "version": "3.0.2", - "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==" + "license": "MIT" }, "node_modules/commondir": { "version": "1.0.1", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/concat-map": { "version": "0.0.1", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "license": "MIT" }, "node_modules/concat-stream": { "version": "1.6.2", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "engines": [ "node >= 0.8" ], + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", @@ -4870,8 +4724,8 @@ }, "node_modules/concat-stream/node_modules/readable-stream": { "version": "2.3.7", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -4884,21 +4738,21 @@ }, "node_modules/concat-stream/node_modules/safe-buffer": { "version": "5.1.2", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/concat-stream/node_modules/string_decoder": { "version": "1.1.1", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/content-disposition": { "version": "0.5.3", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", "dev": true, + "license": "MIT", "dependencies": { "safe-buffer": "5.1.2" }, @@ -4908,13 +4762,13 @@ }, "node_modules/content-disposition/node_modules/safe-buffer": { "version": "5.1.2", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/content-hash": { "version": "2.5.2", - "integrity": "sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw==", "dev": true, + "license": "ISC", "dependencies": { "cids": "^0.7.1", "multicodec": "^0.5.5", @@ -4923,46 +4777,46 @@ }, "node_modules/content-type": { "version": "1.0.4", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/convert-source-map": { "version": "1.8.0", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", "dev": true, + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.1" } }, "node_modules/convert-source-map/node_modules/safe-buffer": { "version": "5.1.2", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/cookie": { "version": "0.4.1", - "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/cookie-signature": { "version": "1.0.6", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/cookiejar": { "version": "2.1.3", - "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/core-js-pure": { "version": "3.17.3", - "integrity": "sha512-YusrqwiOTTn8058JDa0cv9unbXdIiIgcgI9gXso0ey4WgkFLd3lYlV9rp9n7nDCsYxXsMDTjA4m1h3T348mdlQ==", "hasInstallScript": true, + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" @@ -4970,13 +4824,13 @@ }, "node_modules/core-util-is": { "version": "1.0.3", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/cors": { "version": "2.8.5", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", "dev": true, + "license": "MIT", "dependencies": { "object-assign": "^4", "vary": "^1" @@ -4987,8 +4841,8 @@ }, "node_modules/cosmiconfig": { "version": "5.2.1", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", "dev": true, + "license": "MIT", "dependencies": { "import-fresh": "^2.0.0", "is-directory": "^0.3.1", @@ -5001,8 +4855,8 @@ }, "node_modules/cosmiconfig/node_modules/import-fresh": { "version": "2.0.0", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", "dev": true, + "license": "MIT", "dependencies": { "caller-path": "^2.0.0", "resolve-from": "^3.0.0" @@ -5013,15 +4867,15 @@ }, "node_modules/cosmiconfig/node_modules/resolve-from": { "version": "3.0.0", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/crc-32": { "version": "1.2.0", - "integrity": "sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==", + "license": "Apache-2.0", "dependencies": { "exit-on-epipe": "~1.0.1", "printj": "~1.1.0" @@ -5035,8 +4889,8 @@ }, "node_modules/create-ecdh": { "version": "4.0.4", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", "dev": true, + "license": "MIT", "dependencies": { "bn.js": "^4.1.0", "elliptic": "^6.5.3" @@ -5044,7 +4898,7 @@ }, "node_modules/create-hash": { "version": "1.2.0", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "license": "MIT", "dependencies": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", @@ -5055,7 +4909,7 @@ }, "node_modules/create-hmac": { "version": "1.1.7", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "license": "MIT", "dependencies": { "cipher-base": "^1.0.3", "create-hash": "^1.1.0", @@ -5067,8 +4921,8 @@ }, "node_modules/cross-spawn": { "version": "7.0.3", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -5080,8 +4934,8 @@ }, "node_modules/crypto-browserify": { "version": "3.12.0", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, + "license": "MIT", "dependencies": { "browserify-cipher": "^1.0.0", "browserify-sign": "^4.0.0", @@ -5101,9 +4955,8 @@ }, "node_modules/css-select": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz", - "integrity": "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0", "css-what": "^5.1.0", @@ -5117,9 +4970,8 @@ }, "node_modules/css-what": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", - "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">= 6" }, @@ -5129,8 +4981,8 @@ }, "node_modules/d": { "version": "1.0.1", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", "dev": true, + "license": "ISC", "dependencies": { "es5-ext": "^0.10.50", "type": "^1.0.1" @@ -5138,9 +4990,8 @@ }, "node_modules/dag-jose": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dag-jose/-/dag-jose-1.0.0.tgz", - "integrity": "sha512-U0b/YsIPBp6YZNTFrVjwLZAlY3qGRxZTIEcM/CcQmrVrCWq9MWQq9pheXVSPLIhF4SNwzp2SikPva4/BIrJY+g==", "dev": true, + "license": "(Apache-2.0 OR MIT)", "dependencies": { "@ipld/dag-cbor": "^6.0.3", "multiformats": "^9.0.2" @@ -5148,9 +4999,8 @@ }, "node_modules/dag-jose/node_modules/@ipld/dag-cbor": { "version": "6.0.15", - "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-6.0.15.tgz", - "integrity": "sha512-Vm3VTSTwlmGV92a3C5aeY+r2A18zbH2amehNhsX8PBa3muXICaWrN8Uri85A5hLH7D7ElhE8PdjxD6kNqUmTZA==", "dev": true, + "license": "(Apache-2.0 AND MIT)", "dependencies": { "cborg": "^1.5.4", "multiformats": "^9.5.4" @@ -5158,8 +5008,8 @@ }, "node_modules/dashdash": { "version": "1.14.1", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, + "license": "MIT", "dependencies": { "assert-plus": "^1.0.0" }, @@ -5169,21 +5019,19 @@ }, "node_modules/dashdash/node_modules/assert-plus": { "version": "1.0.0", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8" } }, "node_modules/death": { "version": "1.1.0", - "integrity": "sha1-AaqcQB7dknUFFEcLgmY5DGbGcxg=", "dev": true }, "node_modules/debug": { "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -5198,24 +5046,24 @@ }, "node_modules/decamelize": { "version": "1.2.0", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/decode-uri-component": { "version": "0.2.0", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10" } }, "node_modules/decompress-response": { "version": "3.3.0", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", "dev": true, + "license": "MIT", "dependencies": { "mimic-response": "^1.0.0" }, @@ -5225,7 +5073,7 @@ }, "node_modules/deep-equal": { "version": "1.1.1", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "license": "MIT", "dependencies": { "is-arguments": "^1.0.4", "is-date-object": "^1.0.1", @@ -5240,13 +5088,13 @@ }, "node_modules/deep-is": { "version": "0.1.4", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/default-require-extensions": { "version": "3.0.0", - "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", "dev": true, + "license": "MIT", "dependencies": { "strip-bom": "^4.0.0" }, @@ -5256,29 +5104,28 @@ }, "node_modules/default-require-extensions/node_modules/strip-bom": { "version": "4.0.0", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/defaults": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==", "dev": true, + "license": "MIT", "dependencies": { "clone": "^1.0.2" } }, "node_modules/defer-to-connect": { "version": "1.1.3", - "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/deferred-leveldown": { "version": "5.3.0", - "integrity": "sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw==", + "license": "MIT", "dependencies": { "abstract-leveldown": "~6.2.1", "inherits": "^2.0.3" @@ -5289,7 +5136,7 @@ }, "node_modules/deferred-leveldown/node_modules/abstract-leveldown": { "version": "6.2.3", - "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", + "license": "MIT", "dependencies": { "buffer": "^5.5.0", "immediate": "^3.2.3", @@ -5303,7 +5150,7 @@ }, "node_modules/define-properties": { "version": "1.1.3", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "license": "MIT", "dependencies": { "object-keys": "^1.0.12" }, @@ -5313,7 +5160,7 @@ }, "node_modules/del": { "version": "6.0.0", - "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", + "license": "MIT", "dependencies": { "globby": "^11.0.1", "graceful-fs": "^4.2.4", @@ -5333,22 +5180,22 @@ }, "node_modules/delayed-stream": { "version": "1.0.0", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "license": "MIT", "engines": { "node": ">=0.4.0" } }, "node_modules/depd": { "version": "1.1.2", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/des.js": { "version": "1.0.1", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" @@ -5356,13 +5203,13 @@ }, "node_modules/destroy": { "version": "1.0.4", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/detect-port": { "version": "1.3.0", - "integrity": "sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==", "dev": true, + "license": "MIT", "dependencies": { "address": "^1.0.1", "debug": "^2.6.0" @@ -5377,29 +5224,28 @@ }, "node_modules/detect-port/node_modules/debug": { "version": "2.6.9", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/detect-port/node_modules/ms": { "version": "2.0.0", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/diff": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" } }, "node_modules/diffie-hellman": { "version": "5.0.3", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, + "license": "MIT", "dependencies": { "bn.js": "^4.1.0", "miller-rabin": "^4.0.0", @@ -5408,7 +5254,7 @@ }, "node_modules/dir-glob": { "version": "3.0.1", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "license": "MIT", "dependencies": { "path-type": "^4.0.0" }, @@ -5418,9 +5264,8 @@ }, "node_modules/dns-over-http-resolver": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/dns-over-http-resolver/-/dns-over-http-resolver-1.2.3.tgz", - "integrity": "sha512-miDiVSI6KSNbi4SVifzO/reD8rMnxgrlnkrlkugOLQpWQTe2qMdHsZp5DmfKjxNE+/T3VAAYLQUZMv9SMr6+AA==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^4.3.1", "native-fetch": "^3.0.0", @@ -5429,8 +5274,8 @@ }, "node_modules/doctrine": { "version": "3.0.0", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -5440,18 +5285,16 @@ }, "node_modules/dom-converter": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", "dev": true, + "license": "MIT", "dependencies": { "utila": "~0.4" } }, "node_modules/dom-serializer": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", - "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", "dev": true, + "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.2.0", @@ -5463,26 +5306,23 @@ }, "node_modules/dom-walk": { "version": "0.1.2", - "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==", "dev": true }, "node_modules/domelementtype": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", "dev": true, "funding": [ { "type": "github", "url": "https://github.com/sponsors/fb55" } - ] + ], + "license": "BSD-2-Clause" }, "node_modules/domhandler": { "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "domelementtype": "^2.2.0" }, @@ -5495,9 +5335,8 @@ }, "node_modules/domutils": { "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "dom-serializer": "^1.0.1", "domelementtype": "^2.2.0", @@ -5509,22 +5348,21 @@ }, "node_modules/dotenv": { "version": "16.0.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.1.tgz", - "integrity": "sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=12" } }, "node_modules/duplexer3": { "version": "0.1.4", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/ecc-jsbn": { "version": "0.1.2", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, + "license": "MIT", "dependencies": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" @@ -5532,14 +5370,13 @@ }, "node_modules/ee-first": { "version": "1.1.1", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true - }, + "dev": true, + "license": "MIT" + }, "node_modules/electron-fetch": { "version": "1.7.4", - "resolved": "https://registry.npmjs.org/electron-fetch/-/electron-fetch-1.7.4.tgz", - "integrity": "sha512-+fBLXEy4CJWQ5bz8dyaeSG1hD6JJ15kBZyj3eh24pIVrd3hLM47H/umffrdQfS6GZ0falF0g9JT9f3Rs6AVUhw==", "dev": true, + "license": "MIT", "dependencies": { "encoding": "^0.1.13" }, @@ -5549,12 +5386,12 @@ }, "node_modules/electron-to-chromium": { "version": "1.3.857", - "integrity": "sha512-a5kIr2lajm4bJ5E4D3fp8Y/BRB0Dx2VOcCRE5Gtb679mXIME/OFhWler8Gy2ksrf8gFX+EFCSIGA33FB3gqYpg==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/elliptic": { "version": "6.5.4", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "license": "MIT", "dependencies": { "bn.js": "^4.11.9", "brorand": "^1.1.0", @@ -5567,29 +5404,28 @@ }, "node_modules/emoji-regex": { "version": "9.2.2", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/encodeurl": { "version": "1.0.2", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/encoding": { "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", "dev": true, + "license": "MIT", "dependencies": { "iconv-lite": "^0.6.2" } }, "node_modules/encoding-down": { "version": "6.3.0", - "integrity": "sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw==", + "license": "MIT", "dependencies": { "abstract-leveldown": "^6.2.1", "inherits": "^2.0.3", @@ -5602,9 +5438,8 @@ }, "node_modules/encoding/node_modules/iconv-lite": { "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -5614,15 +5449,15 @@ }, "node_modules/end-of-stream": { "version": "1.4.4", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dev": true, + "license": "MIT", "dependencies": { "once": "^1.4.0" } }, "node_modules/enquirer": { "version": "2.3.6", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "license": "MIT", "dependencies": { "ansi-colors": "^4.1.1" }, @@ -5632,29 +5467,27 @@ }, "node_modules/entities": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", "dev": true, + "license": "BSD-2-Clause", "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } }, "node_modules/env-paths": { "version": "2.2.1", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/err-code": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", - "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/errno": { "version": "0.1.8", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "license": "MIT", "dependencies": { "prr": "~1.0.1" }, @@ -5664,17 +5497,16 @@ }, "node_modules/error-ex": { "version": "1.3.2", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, + "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" } }, "node_modules/es-abstract": { "version": "1.19.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.3.tgz", - "integrity": "sha512-4axXLNovnMYf0+csS5rVnS5hLmV1ek+ecx9MuCjByL1E5Nn54avf6CHQxIjgQIHBnfX9AMxTRIy0q+Yu5J/fXA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", @@ -5706,8 +5538,8 @@ }, "node_modules/es-abstract/node_modules/object.assign": { "version": "4.1.2", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", @@ -5723,8 +5555,8 @@ }, "node_modules/es-to-primitive": { "version": "1.2.1", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, + "license": "MIT", "dependencies": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -5739,8 +5571,8 @@ }, "node_modules/es5-ext": { "version": "0.10.53", - "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", "dev": true, + "license": "ISC", "dependencies": { "es6-iterator": "~2.0.3", "es6-symbol": "~3.1.3", @@ -5749,13 +5581,13 @@ }, "node_modules/es6-error": { "version": "4.1.1", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/es6-iterator": { "version": "2.0.3", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "dev": true, + "license": "MIT", "dependencies": { "d": "1", "es5-ext": "^0.10.35", @@ -5764,8 +5596,8 @@ }, "node_modules/es6-symbol": { "version": "3.1.3", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", "dev": true, + "license": "ISC", "dependencies": { "d": "^1.0.1", "ext": "^1.1.2" @@ -5773,19 +5605,19 @@ }, "node_modules/escalade": { "version": "3.1.1", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/escape-html": { "version": "1.0.3", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/escape-string-regexp": { "version": "4.0.0", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -5795,8 +5627,8 @@ }, "node_modules/escodegen": { "version": "1.8.1", - "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esprima": "^2.7.1", "estraverse": "^1.9.1", @@ -5816,8 +5648,8 @@ }, "node_modules/escodegen/node_modules/esprima": { "version": "2.7.3", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", "dev": true, + "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -5828,7 +5660,6 @@ }, "node_modules/escodegen/node_modules/estraverse": { "version": "1.9.3", - "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", "dev": true, "engines": { "node": ">=0.10.0" @@ -5836,8 +5667,8 @@ }, "node_modules/escodegen/node_modules/levn": { "version": "0.3.0", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "~1.1.2", "type-check": "~0.3.2" @@ -5848,8 +5679,8 @@ }, "node_modules/escodegen/node_modules/optionator": { "version": "0.8.3", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", "dev": true, + "license": "MIT", "dependencies": { "deep-is": "~0.1.3", "fast-levenshtein": "~2.0.6", @@ -5864,7 +5695,6 @@ }, "node_modules/escodegen/node_modules/prelude-ls": { "version": "1.1.2", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", "dev": true, "engines": { "node": ">= 0.8.0" @@ -5872,7 +5702,6 @@ }, "node_modules/escodegen/node_modules/source-map": { "version": "0.2.0", - "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", "dev": true, "optional": true, "dependencies": { @@ -5884,8 +5713,8 @@ }, "node_modules/escodegen/node_modules/type-check": { "version": "0.3.2", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "~1.1.2" }, @@ -5895,8 +5724,8 @@ }, "node_modules/eslint": { "version": "7.32.0", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "7.12.11", "@eslint/eslintrc": "^0.4.3", @@ -5951,16 +5780,16 @@ }, "node_modules/eslint-plugin-no-only-tests": { "version": "2.6.0", - "integrity": "sha512-T9SmE/g6UV1uZo1oHAqOvL86XWl7Pl2EpRpnLI8g/bkJu+h7XBCB+1LnubRZ2CUQXj805vh4/CYZdnqtVaEo2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=4.0.0" } }, "node_modules/eslint-scope": { "version": "5.1.1", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -5971,8 +5800,8 @@ }, "node_modules/eslint-utils": { "version": "2.1.0", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", "dev": true, + "license": "MIT", "dependencies": { "eslint-visitor-keys": "^1.1.0" }, @@ -5985,24 +5814,24 @@ }, "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { "version": "1.3.0", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=4" } }, "node_modules/eslint-visitor-keys": { "version": "2.1.0", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=10" } }, "node_modules/espree": { "version": "7.3.1", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "acorn": "^7.4.0", "acorn-jsx": "^5.3.1", @@ -6014,15 +5843,15 @@ }, "node_modules/espree/node_modules/eslint-visitor-keys": { "version": "1.3.0", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=4" } }, "node_modules/esprima": { "version": "4.0.1", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -6033,8 +5862,8 @@ }, "node_modules/esquery": { "version": "1.4.0", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -6044,16 +5873,16 @@ }, "node_modules/esquery/node_modules/estraverse": { "version": "5.2.0", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/esrecurse": { "version": "4.3.0", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -6063,40 +5892,40 @@ }, "node_modules/esrecurse/node_modules/estraverse": { "version": "5.2.0", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/estraverse": { "version": "4.3.0", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/esutils": { "version": "2.0.3", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/etag": { "version": "1.8.1", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/eth-ens-namehash": { "version": "2.0.8", - "integrity": "sha1-IprEbsqG1S4MmR58sq74P/D2i88=", "dev": true, + "license": "ISC", "dependencies": { "idna-uts46-hx": "^2.3.1", "js-sha3": "^0.5.7" @@ -6104,8 +5933,8 @@ }, "node_modules/eth-lib": { "version": "0.1.29", - "integrity": "sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ==", "dev": true, + "license": "MIT", "dependencies": { "bn.js": "^4.11.6", "elliptic": "^6.4.0", @@ -6117,18 +5946,18 @@ }, "node_modules/eth-lib/node_modules/safe-buffer": { "version": "5.1.2", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/eth-lib/node_modules/ultron": { "version": "1.1.1", - "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/eth-lib/node_modules/ws": { "version": "3.3.3", - "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", "dev": true, + "license": "MIT", "dependencies": { "async-limiter": "~1.0.0", "safe-buffer": "~5.1.0", @@ -6137,20 +5966,20 @@ }, "node_modules/ethereum-bloom-filters": { "version": "1.0.10", - "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==", "dev": true, + "license": "MIT", "dependencies": { "js-sha3": "^0.8.0" } }, "node_modules/ethereum-bloom-filters/node_modules/js-sha3": { "version": "0.8.0", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/ethereum-cryptography": { "version": "0.1.3", - "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "license": "MIT", "dependencies": { "@types/pbkdf2": "^3.0.0", "@types/secp256k1": "^4.0.1", @@ -6171,7 +6000,7 @@ }, "node_modules/ethereumjs-abi": { "version": "0.6.8", - "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==", + "license": "MIT", "dependencies": { "bn.js": "^4.11.8", "ethereumjs-util": "^6.0.0" @@ -6179,14 +6008,14 @@ }, "node_modules/ethereumjs-abi/node_modules/@types/bn.js": { "version": "4.11.6", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/ethereumjs-abi/node_modules/ethereumjs-util": { "version": "6.2.1", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "license": "MPL-2.0", "dependencies": { "@types/bn.js": "^4.11.3", "bn.js": "^4.11.0", @@ -6199,8 +6028,7 @@ }, "node_modules/ethereumjs-util": { "version": "7.1.4", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.4.tgz", - "integrity": "sha512-p6KmuPCX4mZIqsQzXfmSx9Y0l2hqf+VkAiwSisW3UKUFdk8ZkAt+AYaor83z2nSi6CU2zSsXMlD80hAbNEGM0A==", + "license": "MPL-2.0", "dependencies": { "@types/bn.js": "^5.1.0", "bn.js": "^5.1.2", @@ -6214,11 +6042,10 @@ }, "node_modules/ethereumjs-util/node_modules/bn.js": { "version": "5.2.0", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" + "license": "MIT" }, "node_modules/ethers": { "version": "5.5.1", - "integrity": "sha512-RodEvUFZI+EmFcE6bwkuJqpCYHazdzeR1nMzg+YWQSmQEsNtfl1KHGfp/FWZYl48bI/g7cgBeP2IlPthjiVngw==", "funding": [ { "type": "individual", @@ -6229,6 +6056,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abi": "5.5.0", "@ethersproject/abstract-provider": "5.5.1", @@ -6264,8 +6092,8 @@ }, "node_modules/ethjs-unit": { "version": "0.1.6", - "integrity": "sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk=", "dev": true, + "license": "MIT", "dependencies": { "bn.js": "4.11.6", "number-to-bn": "1.7.0" @@ -6277,12 +6105,12 @@ }, "node_modules/ethjs-unit/node_modules/bn.js": { "version": "4.11.6", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/ethjs-util": { "version": "0.1.6", - "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", + "license": "MIT", "dependencies": { "is-hex-prefixed": "1.0.0", "strip-hex-prefix": "1.0.0" @@ -6294,14 +6122,14 @@ }, "node_modules/event-target-shim": { "version": "5.0.1", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/evp_bytestokey": { "version": "1.0.3", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "license": "MIT", "dependencies": { "md5.js": "^1.3.4", "safe-buffer": "^5.1.1" @@ -6309,8 +6137,8 @@ }, "node_modules/execa": { "version": "4.1.0", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", "dev": true, + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.0", "get-stream": "^5.0.0", @@ -6331,14 +6159,14 @@ }, "node_modules/exit-on-epipe": { "version": "1.0.1", - "integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==", + "license": "Apache-2.0", "engines": { "node": ">=0.8" } }, "node_modules/expand-brackets": { "version": "0.1.5", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "license": "MIT", "dependencies": { "is-posix-bracket": "^0.1.0" }, @@ -6348,7 +6176,7 @@ }, "node_modules/expand-range": { "version": "1.8.2", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "license": "MIT", "dependencies": { "fill-range": "^2.1.0" }, @@ -6358,7 +6186,7 @@ }, "node_modules/expand-range/node_modules/fill-range": { "version": "2.2.4", - "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "license": "MIT", "dependencies": { "is-number": "^2.1.0", "isobject": "^2.0.0", @@ -6372,7 +6200,7 @@ }, "node_modules/expand-range/node_modules/is-number": { "version": "2.1.0", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -6382,8 +6210,8 @@ }, "node_modules/express": { "version": "4.17.1", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", "dev": true, + "license": "MIT", "dependencies": { "accepts": "~1.3.7", "array-flatten": "1.1.1", @@ -6422,8 +6250,8 @@ }, "node_modules/express/node_modules/accepts": { "version": "1.3.7", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", "dev": true, + "license": "MIT", "dependencies": { "mime-types": "~2.1.24", "negotiator": "0.6.2" @@ -6434,68 +6262,68 @@ }, "node_modules/express/node_modules/cookie": { "version": "0.4.0", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/express/node_modules/debug": { "version": "2.6.9", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/express/node_modules/ms": { "version": "2.0.0", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/express/node_modules/negotiator": { "version": "0.6.2", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/express/node_modules/qs": { "version": "6.7.0", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.6" } }, "node_modules/express/node_modules/safe-buffer": { "version": "5.1.2", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/ext": { "version": "1.6.0", - "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==", "dev": true, + "license": "ISC", "dependencies": { "type": "^2.5.0" } }, "node_modules/ext/node_modules/type": { "version": "2.5.0", - "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/extend": { "version": "3.0.2", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/external-editor": { "version": "3.1.0", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", "dev": true, + "license": "MIT", "dependencies": { "chardet": "^0.7.0", "iconv-lite": "^0.4.24", @@ -6507,7 +6335,7 @@ }, "node_modules/extglob": { "version": "0.3.2", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "license": "MIT", "dependencies": { "is-extglob": "^1.0.0" }, @@ -6517,38 +6345,37 @@ }, "node_modules/extglob/node_modules/is-extglob": { "version": "1.0.0", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/extsprintf": { "version": "1.3.0", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", "dev": true, "engines": [ "node >=0.6.0" - ] + ], + "license": "MIT" }, "node_modules/fast-deep-equal": { "version": "3.1.3", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-diff": { "version": "1.2.0", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", - "dev": true + "dev": true, + "license": "Apache-2.0" }, "node_modules/fast-fifo": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.1.0.tgz", - "integrity": "sha512-Kl29QoNbNvn4nhDsLYjyIAaIqaJB6rBx5p3sL9VjaefJ+eMFBWVZiaoguaoZfzEKr5RhAti0UgM8703akGPJ6g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-glob": { "version": "3.2.7", - "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -6562,7 +6389,7 @@ }, "node_modules/fast-glob/node_modules/micromatch": { "version": "4.0.4", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "license": "MIT", "dependencies": { "braces": "^3.0.1", "picomatch": "^2.2.3" @@ -6573,26 +6400,25 @@ }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-levenshtein": { "version": "2.0.6", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fastq": { "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "license": "ISC", "dependencies": { "reusify": "^1.0.4" } }, "node_modules/figures": { "version": "2.0.0", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "dev": true, + "license": "MIT", "dependencies": { "escape-string-regexp": "^1.0.5" }, @@ -6602,16 +6428,16 @@ }, "node_modules/figures/node_modules/escape-string-regexp": { "version": "1.0.5", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/file-entry-cache": { "version": "6.0.1", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, + "license": "MIT", "dependencies": { "flat-cache": "^3.0.4" }, @@ -6621,14 +6447,14 @@ }, "node_modules/filename-regex": { "version": "2.0.1", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/fill-range": { "version": "7.0.1", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -6638,7 +6464,7 @@ }, "node_modules/filter-values": { "version": "0.4.1", - "integrity": "sha1-Webb1dP9YwK9LbFcKOcbwWEO6Es=", + "license": "MIT", "dependencies": { "for-own": "^0.1.3", "is-match": "^0.4.0" @@ -6649,8 +6475,8 @@ }, "node_modules/finalhandler": { "version": "1.1.2", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "dev": true, + "license": "MIT", "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", @@ -6666,21 +6492,21 @@ }, "node_modules/finalhandler/node_modules/debug": { "version": "2.6.9", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/find-cache-dir": { "version": "3.3.2", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dev": true, + "license": "MIT", "dependencies": { "commondir": "^1.0.1", "make-dir": "^3.0.2", @@ -6695,7 +6521,7 @@ }, "node_modules/find-up": { "version": "2.1.0", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "license": "MIT", "dependencies": { "locate-path": "^2.0.0" }, @@ -6705,16 +6531,15 @@ }, "node_modules/flat": { "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "license": "BSD-3-Clause", "bin": { "flat": "cli.js" } }, "node_modules/flat-cache": { "version": "3.0.4", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, + "license": "MIT", "dependencies": { "flatted": "^3.1.0", "rimraf": "^3.0.2" @@ -6725,19 +6550,18 @@ }, "node_modules/flatted": { "version": "3.2.2", - "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/follow-redirects": { "version": "1.15.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", "funding": [ { "type": "individual", "url": "https://github.com/sponsors/RubenVerborgh" } ], + "license": "MIT", "engines": { "node": ">=4.0" }, @@ -6749,14 +6573,14 @@ }, "node_modules/for-in": { "version": "1.0.2", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/for-own": { "version": "0.1.5", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "license": "MIT", "dependencies": { "for-in": "^1.0.1" }, @@ -6766,13 +6590,13 @@ }, "node_modules/foreach": { "version": "2.0.5", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/foreground-child": { "version": "2.0.0", - "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", "dev": true, + "license": "ISC", "dependencies": { "cross-spawn": "^7.0.0", "signal-exit": "^3.0.2" @@ -6783,16 +6607,15 @@ }, "node_modules/forever-agent": { "version": "0.6.1", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", "dev": true, + "license": "Apache-2.0", "engines": { "node": "*" } }, "node_modules/form-data": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -6804,27 +6627,26 @@ }, "node_modules/forwarded": { "version": "0.2.0", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/fp-ts": { "version": "1.19.3", - "integrity": "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==" + "license": "MIT" }, "node_modules/fresh": { "version": "0.5.2", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/fromentries": { "version": "1.3.2", - "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", "dev": true, "funding": [ { @@ -6839,17 +6661,17 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/fs-constants": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fs-extra": { "version": "7.0.1", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "license": "MIT", "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -6861,53 +6683,40 @@ }, "node_modules/fs-minipass": { "version": "1.2.7", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", "dev": true, + "license": "ISC", "dependencies": { "minipass": "^2.6.0" } }, "node_modules/fs.realpath": { "version": "1.0.0", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } + "license": "ISC" }, "node_modules/function-bind": { "version": "1.1.1", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "license": "MIT" }, "node_modules/functional-red-black-tree": { "version": "1.0.1", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" + "license": "MIT" }, "node_modules/fuse.js": { "version": "6.6.2", - "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-6.6.2.tgz", - "integrity": "sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==", + "license": "Apache-2.0", "engines": { "node": ">=10" } }, "node_modules/ganache-cli": { "version": "6.12.2", - "integrity": "sha512-bnmwnJDBDsOWBUP8E/BExWf85TsdDEFelQSzihSJm9VChVO1SHp94YXLP5BlA4j/OTxp0wR4R1Tje9OHOuAJVw==", "bundleDependencies": [ "source-map-support", "yargs", "ethereumjs-util" ], "dev": true, + "license": "MIT", "dependencies": { "ethereumjs-util": "6.2.1", "source-map-support": "0.5.12", @@ -7949,22 +7758,22 @@ }, "node_modules/gensync": { "version": "1.0.0-beta.2", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/get-caller-file": { "version": "2.0.5", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } }, "node_modules/get-intrinsic": { "version": "1.1.1", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "license": "MIT", "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -7976,22 +7785,21 @@ }, "node_modules/get-iterator": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-iterator/-/get-iterator-1.0.2.tgz", - "integrity": "sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/get-package-type": { "version": "0.1.0", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.0.0" } }, "node_modules/get-stream": { "version": "5.2.0", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dev": true, + "license": "MIT", "dependencies": { "pump": "^3.0.0" }, @@ -8004,8 +7812,8 @@ }, "node_modules/get-symbol-description": { "version": "1.0.0", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.1" @@ -8019,24 +7827,24 @@ }, "node_modules/getpass": { "version": "0.1.7", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, + "license": "MIT", "dependencies": { "assert-plus": "^1.0.0" } }, "node_modules/getpass/node_modules/assert-plus": { "version": "1.0.0", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8" } }, "node_modules/ghost-testrpc": { "version": "0.0.2", - "integrity": "sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ==", "dev": true, + "license": "ISC", "dependencies": { "chalk": "^2.4.2", "node-emoji": "^1.10.0" @@ -8047,8 +7855,8 @@ }, "node_modules/ghost-testrpc/node_modules/ansi-styles": { "version": "3.2.1", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -8058,8 +7866,8 @@ }, "node_modules/ghost-testrpc/node_modules/chalk": { "version": "2.4.2", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -8071,37 +7879,37 @@ }, "node_modules/ghost-testrpc/node_modules/color-convert": { "version": "1.9.3", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "node_modules/ghost-testrpc/node_modules/color-name": { "version": "1.1.3", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/ghost-testrpc/node_modules/escape-string-regexp": { "version": "1.0.5", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/ghost-testrpc/node_modules/has-flag": { "version": "3.0.0", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/ghost-testrpc/node_modules/supports-color": { "version": "5.5.0", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -8111,7 +7919,7 @@ }, "node_modules/glob": { "version": "7.1.7", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -8129,7 +7937,7 @@ }, "node_modules/glob-base": { "version": "0.3.0", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "license": "MIT", "dependencies": { "glob-parent": "^2.0.0", "is-glob": "^2.0.0" @@ -8140,21 +7948,21 @@ }, "node_modules/glob-base/node_modules/glob-parent": { "version": "2.0.0", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "license": "ISC", "dependencies": { "is-glob": "^2.0.0" } }, "node_modules/glob-base/node_modules/is-extglob": { "version": "1.0.0", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/glob-base/node_modules/is-glob": { "version": "2.0.1", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "license": "MIT", "dependencies": { "is-extglob": "^1.0.0" }, @@ -8164,7 +7972,7 @@ }, "node_modules/glob-parent": { "version": "5.1.2", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -8174,8 +7982,8 @@ }, "node_modules/global": { "version": "4.4.0", - "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", "dev": true, + "license": "MIT", "dependencies": { "min-document": "^2.19.0", "process": "^0.11.10" @@ -8183,8 +7991,8 @@ }, "node_modules/global-modules": { "version": "2.0.0", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", "dev": true, + "license": "MIT", "dependencies": { "global-prefix": "^3.0.0" }, @@ -8194,8 +8002,8 @@ }, "node_modules/global-prefix": { "version": "3.0.0", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", "dev": true, + "license": "MIT", "dependencies": { "ini": "^1.3.5", "kind-of": "^6.0.2", @@ -8207,16 +8015,16 @@ }, "node_modules/global-prefix/node_modules/kind-of": { "version": "6.0.3", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/global-prefix/node_modules/which": { "version": "1.3.1", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -8226,8 +8034,8 @@ }, "node_modules/globals": { "version": "13.11.0", - "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", "dev": true, + "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -8240,7 +8048,7 @@ }, "node_modules/globby": { "version": "11.0.4", - "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "license": "MIT", "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -8258,15 +8066,15 @@ }, "node_modules/globby/node_modules/ignore": { "version": "5.1.8", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/got": { "version": "9.6.0", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", "dev": true, + "license": "MIT", "dependencies": { "@sindresorhus/is": "^0.14.0", "@szmarczak/http-timer": "^1.1.2", @@ -8286,8 +8094,8 @@ }, "node_modules/got/node_modules/get-stream": { "version": "4.1.0", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", "dev": true, + "license": "MIT", "dependencies": { "pump": "^3.0.0" }, @@ -8297,19 +8105,19 @@ }, "node_modules/graceful-fs": { "version": "4.2.8", - "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" + "license": "ISC" }, "node_modules/growl": { "version": "1.10.5", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "license": "MIT", "engines": { "node": ">=4.x" } }, "node_modules/handlebars": { "version": "4.7.7", - "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", "dev": true, + "license": "MIT", "dependencies": { "minimist": "^1.2.5", "neo-async": "^2.6.0", @@ -8328,8 +8136,8 @@ }, "node_modules/handlebars/node_modules/uglify-js": { "version": "3.14.2", - "integrity": "sha512-rtPMlmcO4agTUfz10CbgJ1k6UAoXM2gWb3GoMPPZB/+/Ackf8lNWk11K4rYi2D0apgoFRLtQOZhb+/iGNJq26A==", "dev": true, + "license": "BSD-2-Clause", "optional": true, "bin": { "uglifyjs": "bin/uglifyjs" @@ -8340,21 +8148,20 @@ }, "node_modules/handlebars/node_modules/wordwrap": { "version": "1.0.0", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/har-schema": { "version": "2.0.0", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", "dev": true, + "license": "ISC", "engines": { "node": ">=4" } }, "node_modules/hardhat": { "version": "2.9.3", - "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.9.3.tgz", - "integrity": "sha512-7Vw99RbYbMZ15UzegOR/nqIYIqddZXvLwJGaX5sX4G5bydILnbjmDU6g3jMKJSiArEixS3vHAEaOs5CW1JQ3hg==", + "license": "MIT", "dependencies": { "@ethereumjs/block": "^3.6.0", "@ethereumjs/blockchain": "^5.5.0", @@ -8414,9 +8221,8 @@ }, "node_modules/hardhat-cannon": { "version": "0.2.3", - "resolved": "https://registry.npmjs.org/hardhat-cannon/-/hardhat-cannon-0.2.3.tgz", - "integrity": "sha512-oAqOd6iOlUc+PEn+2JLYm3xANzprKtPiOChPJpxNJlkvqs54cueFGob5i1/vO+cUIE9wf7bNsP06Jjhpj+yAUA==", "dev": true, + "license": "MIT", "dependencies": { "@iarna/toml": "^3.0.0", "ajv": "^8.10.0", @@ -8438,8 +8244,6 @@ }, "node_modules/hardhat-cannon/node_modules/@ethersproject/abi": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.6.0.tgz", - "integrity": "sha512-AhVByTwdXCc2YQ20v300w6KVHle9g2OFc28ZAFCPnJyEpkv1xKXjZcSTgWOlv1i+0dqlgF8RCF2Rn2KC1t+1Vg==", "dev": true, "funding": [ { @@ -8451,6 +8255,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/address": "^5.6.0", "@ethersproject/bignumber": "^5.6.0", @@ -8465,8 +8270,6 @@ }, "node_modules/hardhat-cannon/node_modules/@ethersproject/abstract-provider": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.6.0.tgz", - "integrity": "sha512-oPMFlKLN+g+y7a79cLK3WiLcjWFnZQtXWgnLAbHZcN3s7L4v90UHpTOrLk+m3yr0gt+/h9STTM6zrr7PM8uoRw==", "dev": true, "funding": [ { @@ -8478,6 +8281,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.6.0", "@ethersproject/bytes": "^5.6.0", @@ -8490,8 +8294,6 @@ }, "node_modules/hardhat-cannon/node_modules/@ethersproject/abstract-signer": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.6.0.tgz", - "integrity": "sha512-WOqnG0NJKtI8n0wWZPReHtaLkDByPL67tn4nBaDAhmVq8sjHTPbCdz4DRhVu/cfTOvfy9w3iq5QZ7BX7zw56BQ==", "dev": true, "funding": [ { @@ -8503,6 +8305,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-provider": "^5.6.0", "@ethersproject/bignumber": "^5.6.0", @@ -8513,8 +8316,6 @@ }, "node_modules/hardhat-cannon/node_modules/@ethersproject/address": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.6.0.tgz", - "integrity": "sha512-6nvhYXjbXsHPS+30sHZ+U4VMagFC/9zAk6Gd/h3S21YW4+yfb0WfRtaAIZ4kfM4rrVwqiy284LP0GtL5HXGLxQ==", "dev": true, "funding": [ { @@ -8526,6 +8327,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.6.0", "@ethersproject/bytes": "^5.6.0", @@ -8536,8 +8338,6 @@ }, "node_modules/hardhat-cannon/node_modules/@ethersproject/base64": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.6.0.tgz", - "integrity": "sha512-2Neq8wxJ9xHxCF9TUgmKeSh9BXJ6OAxWfeGWvbauPh8FuHEjamgHilllx8KkSd5ErxyHIX7Xv3Fkcud2kY9ezw==", "dev": true, "funding": [ { @@ -8549,14 +8349,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.0" } }, "node_modules/hardhat-cannon/node_modules/@ethersproject/basex": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.6.0.tgz", - "integrity": "sha512-qN4T+hQd/Md32MoJpc69rOwLYRUXwjTlhHDIeUkUmiN/JyWkkLLMoG0TqvSQKNqZOMgN5stbUYN6ILC+eD7MEQ==", "dev": true, "funding": [ { @@ -8568,6 +8367,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.0", "@ethersproject/properties": "^5.6.0" @@ -8575,8 +8375,6 @@ }, "node_modules/hardhat-cannon/node_modules/@ethersproject/bignumber": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.6.0.tgz", - "integrity": "sha512-VziMaXIUHQlHJmkv1dlcd6GY2PmT0khtAqaMctCIDogxkrarMzA9L94KN1NeXqqOfFD6r0sJT3vCTOFSmZ07DA==", "dev": true, "funding": [ { @@ -8588,6 +8386,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.0", "@ethersproject/logger": "^5.6.0", @@ -8596,8 +8395,6 @@ }, "node_modules/hardhat-cannon/node_modules/@ethersproject/bytes": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.6.1.tgz", - "integrity": "sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==", "dev": true, "funding": [ { @@ -8609,14 +8406,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/logger": "^5.6.0" } }, "node_modules/hardhat-cannon/node_modules/@ethersproject/constants": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.6.0.tgz", - "integrity": "sha512-SrdaJx2bK0WQl23nSpV/b1aq293Lh0sUaZT/yYKPDKn4tlAbkH96SPJwIhwSwTsoQQZxuh1jnqsKwyymoiBdWA==", "dev": true, "funding": [ { @@ -8628,14 +8424,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.6.0" } }, "node_modules/hardhat-cannon/node_modules/@ethersproject/contracts": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.6.0.tgz", - "integrity": "sha512-74Ge7iqTDom0NX+mux8KbRUeJgu1eHZ3iv6utv++sLJG80FVuU9HnHeKVPfjd9s3woFhaFoQGf3B3iH/FrQmgw==", "dev": true, "funding": [ { @@ -8647,6 +8442,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abi": "^5.6.0", "@ethersproject/abstract-provider": "^5.6.0", @@ -8662,8 +8458,6 @@ }, "node_modules/hardhat-cannon/node_modules/@ethersproject/hash": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.6.0.tgz", - "integrity": "sha512-fFd+k9gtczqlr0/BruWLAu7UAOas1uRRJvOR84uDf4lNZ+bTkGl366qvniUZHKtlqxBRU65MkOobkmvmpHU+jA==", "dev": true, "funding": [ { @@ -8675,6 +8469,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-signer": "^5.6.0", "@ethersproject/address": "^5.6.0", @@ -8688,8 +8483,6 @@ }, "node_modules/hardhat-cannon/node_modules/@ethersproject/hdnode": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.6.0.tgz", - "integrity": "sha512-61g3Jp3nwDqJcL/p4nugSyLrpl/+ChXIOtCEM8UDmWeB3JCAt5FoLdOMXQc3WWkc0oM2C0aAn6GFqqMcS/mHTw==", "dev": true, "funding": [ { @@ -8701,6 +8494,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-signer": "^5.6.0", "@ethersproject/basex": "^5.6.0", @@ -8718,8 +8512,6 @@ }, "node_modules/hardhat-cannon/node_modules/@ethersproject/json-wallets": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.6.0.tgz", - "integrity": "sha512-fmh86jViB9r0ibWXTQipxpAGMiuxoqUf78oqJDlCAJXgnJF024hOOX7qVgqsjtbeoxmcLwpPsXNU0WEe/16qPQ==", "dev": true, "funding": [ { @@ -8731,6 +8523,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-signer": "^5.6.0", "@ethersproject/address": "^5.6.0", @@ -8749,8 +8542,6 @@ }, "node_modules/hardhat-cannon/node_modules/@ethersproject/keccak256": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.6.0.tgz", - "integrity": "sha512-tk56BJ96mdj/ksi7HWZVWGjCq0WVl/QvfhFQNeL8fxhBlGoP+L80uDCiQcpJPd+2XxkivS3lwRm3E0CXTfol0w==", "dev": true, "funding": [ { @@ -8762,6 +8553,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.0", "js-sha3": "0.8.0" @@ -8769,8 +8561,6 @@ }, "node_modules/hardhat-cannon/node_modules/@ethersproject/logger": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.6.0.tgz", - "integrity": "sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==", "dev": true, "funding": [ { @@ -8781,12 +8571,11 @@ "type": "individual", "url": "https://www.buymeacoffee.com/ricmoo" } - ] + ], + "license": "MIT" }, "node_modules/hardhat-cannon/node_modules/@ethersproject/networks": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.6.1.tgz", - "integrity": "sha512-b2rrupf3kCTcc3jr9xOWBuHylSFtbpJf79Ga7QR98ienU2UqGimPGEsYMgbI29KHJfA5Us89XwGVmxrlxmSrMg==", "dev": true, "funding": [ { @@ -8798,14 +8587,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/logger": "^5.6.0" } }, "node_modules/hardhat-cannon/node_modules/@ethersproject/pbkdf2": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.6.0.tgz", - "integrity": "sha512-Wu1AxTgJo3T3H6MIu/eejLFok9TYoSdgwRr5oGY1LTLfmGesDoSx05pemsbrPT2gG4cQME+baTSCp5sEo2erZQ==", "dev": true, "funding": [ { @@ -8817,6 +8605,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.0", "@ethersproject/sha2": "^5.6.0" @@ -8824,8 +8613,6 @@ }, "node_modules/hardhat-cannon/node_modules/@ethersproject/properties": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.6.0.tgz", - "integrity": "sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==", "dev": true, "funding": [ { @@ -8837,14 +8624,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/logger": "^5.6.0" } }, "node_modules/hardhat-cannon/node_modules/@ethersproject/providers": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.6.2.tgz", - "integrity": "sha512-6/EaFW/hNWz+224FXwl8+HdMRzVHt8DpPmu5MZaIQqx/K/ELnC9eY236SMV7mleCM3NnEArFwcAAxH5kUUgaRg==", "dev": true, "funding": [ { @@ -8856,6 +8642,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-provider": "^5.6.0", "@ethersproject/abstract-signer": "^5.6.0", @@ -8880,8 +8667,6 @@ }, "node_modules/hardhat-cannon/node_modules/@ethersproject/random": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.6.0.tgz", - "integrity": "sha512-si0PLcLjq+NG/XHSZz90asNf+YfKEqJGVdxoEkSukzbnBgC8rydbgbUgBbBGLeHN4kAJwUFEKsu3sCXT93YMsw==", "dev": true, "funding": [ { @@ -8893,6 +8678,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.0", "@ethersproject/logger": "^5.6.0" @@ -8900,8 +8686,6 @@ }, "node_modules/hardhat-cannon/node_modules/@ethersproject/rlp": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.6.0.tgz", - "integrity": "sha512-dz9WR1xpcTL+9DtOT/aDO+YyxSSdO8YIS0jyZwHHSlAmnxA6cKU3TrTd4Xc/bHayctxTgGLYNuVVoiXE4tTq1g==", "dev": true, "funding": [ { @@ -8913,6 +8697,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.0", "@ethersproject/logger": "^5.6.0" @@ -8920,8 +8705,6 @@ }, "node_modules/hardhat-cannon/node_modules/@ethersproject/sha2": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.6.0.tgz", - "integrity": "sha512-1tNWCPFLu1n3JM9t4/kytz35DkuF9MxqkGGEHNauEbaARdm2fafnOyw1s0tIQDPKF/7bkP1u3dbrmjpn5CelyA==", "dev": true, "funding": [ { @@ -8933,6 +8716,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.0", "@ethersproject/logger": "^5.6.0", @@ -8941,8 +8725,6 @@ }, "node_modules/hardhat-cannon/node_modules/@ethersproject/signing-key": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.6.0.tgz", - "integrity": "sha512-S+njkhowmLeUu/r7ir8n78OUKx63kBdMCPssePS89So1TH4hZqnWFsThEd/GiXYp9qMxVrydf7KdM9MTGPFukA==", "dev": true, "funding": [ { @@ -8954,6 +8736,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.0", "@ethersproject/logger": "^5.6.0", @@ -8965,8 +8748,6 @@ }, "node_modules/hardhat-cannon/node_modules/@ethersproject/solidity": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.6.0.tgz", - "integrity": "sha512-YwF52vTNd50kjDzqKaoNNbC/r9kMDPq3YzDWmsjFTRBcIF1y4JCQJ8gB30wsTfHbaxgxelI5BfxQSxD/PbJOww==", "dev": true, "funding": [ { @@ -8978,6 +8759,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.6.0", "@ethersproject/bytes": "^5.6.0", @@ -8989,8 +8771,6 @@ }, "node_modules/hardhat-cannon/node_modules/@ethersproject/strings": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.6.0.tgz", - "integrity": "sha512-uv10vTtLTZqrJuqBZR862ZQjTIa724wGPWQqZrofaPI/kUsf53TBG0I0D+hQ1qyNtllbNzaW+PDPHHUI6/65Mg==", "dev": true, "funding": [ { @@ -9002,6 +8782,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.0", "@ethersproject/constants": "^5.6.0", @@ -9010,8 +8791,6 @@ }, "node_modules/hardhat-cannon/node_modules/@ethersproject/transactions": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.6.0.tgz", - "integrity": "sha512-4HX+VOhNjXHZyGzER6E/LVI2i6lf9ejYeWD6l4g50AdmimyuStKc39kvKf1bXWQMg7QNVh+uC7dYwtaZ02IXeg==", "dev": true, "funding": [ { @@ -9023,6 +8802,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/address": "^5.6.0", "@ethersproject/bignumber": "^5.6.0", @@ -9037,8 +8817,6 @@ }, "node_modules/hardhat-cannon/node_modules/@ethersproject/units": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.6.0.tgz", - "integrity": "sha512-tig9x0Qmh8qbo1w8/6tmtyrm/QQRviBh389EQ+d8fP4wDsBrJBf08oZfoiz1/uenKK9M78yAP4PoR7SsVoTjsw==", "dev": true, "funding": [ { @@ -9050,6 +8828,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.6.0", "@ethersproject/constants": "^5.6.0", @@ -9058,8 +8837,6 @@ }, "node_modules/hardhat-cannon/node_modules/@ethersproject/wallet": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.6.0.tgz", - "integrity": "sha512-qMlSdOSTyp0MBeE+r7SUhr1jjDlC1zAXB8VD84hCnpijPQiSNbxr6GdiLXxpUs8UKzkDiNYYC5DRI3MZr+n+tg==", "dev": true, "funding": [ { @@ -9071,6 +8848,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-provider": "^5.6.0", "@ethersproject/abstract-signer": "^5.6.0", @@ -9091,8 +8869,6 @@ }, "node_modules/hardhat-cannon/node_modules/@ethersproject/web": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.6.0.tgz", - "integrity": "sha512-G/XHj0hV1FxI2teHRfCGvfBUHFmU+YOSbCxlAMqJklxSa7QMiHFQfAxvwY2PFqgvdkxEKwRNr/eCjfAPEm2Ctg==", "dev": true, "funding": [ { @@ -9104,6 +8880,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/base64": "^5.6.0", "@ethersproject/bytes": "^5.6.0", @@ -9114,8 +8891,6 @@ }, "node_modules/hardhat-cannon/node_modules/@ethersproject/wordlists": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.6.0.tgz", - "integrity": "sha512-q0bxNBfIX3fUuAo9OmjlEYxP40IB8ABgb7HjEZCL5IKubzV3j30CWi2rqQbjTS2HfoyQbfINoKcTVWP4ejwR7Q==", "dev": true, "funding": [ { @@ -9127,6 +8902,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.0", "@ethersproject/hash": "^5.6.0", @@ -9137,9 +8913,8 @@ }, "node_modules/hardhat-cannon/node_modules/ajv": { "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -9153,8 +8928,6 @@ }, "node_modules/hardhat-cannon/node_modules/ethers": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.6.2.tgz", - "integrity": "sha512-EzGCbns24/Yluu7+ToWnMca3SXJ1Jk1BvWB7CCmVNxyOeM4LLvw2OLuIHhlkhQk1dtOcj9UMsdkxUh8RiG1dxQ==", "dev": true, "funding": [ { @@ -9166,6 +8939,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abi": "5.6.0", "@ethersproject/abstract-provider": "5.6.0", @@ -9201,9 +8975,8 @@ }, "node_modules/hardhat-cannon/node_modules/fs-extra": { "version": "10.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz", - "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==", "dev": true, + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -9215,21 +8988,18 @@ }, "node_modules/hardhat-cannon/node_modules/js-sha3": { "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/hardhat-cannon/node_modules/json-schema-traverse": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/hardhat-cannon/node_modules/jsonfile": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, + "license": "MIT", "dependencies": { "universalify": "^2.0.0" }, @@ -9239,18 +9009,16 @@ }, "node_modules/hardhat-cannon/node_modules/universalify": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 10.0.0" } }, "node_modules/hardhat-cannon/node_modules/ws": { "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.3.0" }, @@ -9269,9 +9037,8 @@ }, "node_modules/hardhat-contract-sizer": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/hardhat-contract-sizer/-/hardhat-contract-sizer-2.1.1.tgz", - "integrity": "sha512-QgfuwdUkKT7Ugn6Zja26Eie7h6OLcBfWBewaaQtYMCzyglNafQPgUIznN2C42/iFmGrlqFPbqv4B98Iev89KSQ==", "dev": true, + "license": "MIT", "dependencies": { "cli-table3": "^0.6.0", "colors": "^1.4.0" @@ -9282,7 +9049,7 @@ }, "node_modules/hardhat/node_modules/ansi-styles": { "version": "3.2.1", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -9292,7 +9059,7 @@ }, "node_modules/hardhat/node_modules/chalk": { "version": "2.4.2", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -9304,39 +9071,39 @@ }, "node_modules/hardhat/node_modules/color-convert": { "version": "1.9.3", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "node_modules/hardhat/node_modules/color-name": { "version": "1.1.3", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "license": "MIT" }, "node_modules/hardhat/node_modules/escape-string-regexp": { "version": "1.0.5", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/hardhat/node_modules/has-flag": { "version": "3.0.0", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/hardhat/node_modules/semver": { "version": "6.3.0", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/hardhat/node_modules/supports-color": { "version": "5.5.0", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -9346,15 +9113,14 @@ }, "node_modules/hardhat/node_modules/uuid": { "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } }, "node_modules/has": { "version": "1.0.3", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "license": "MIT", "dependencies": { "function-bind": "^1.1.1" }, @@ -9364,31 +9130,30 @@ }, "node_modules/has-bigints": { "version": "1.0.1", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-flag": { "version": "4.0.0", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/has-symbol-support-x": { "version": "1.4.2", - "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", "dev": true, + "license": "MIT", "engines": { "node": "*" } }, "node_modules/has-symbols": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -9398,8 +9163,8 @@ }, "node_modules/has-to-string-tag-x": { "version": "1.4.1", - "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", "dev": true, + "license": "MIT", "dependencies": { "has-symbol-support-x": "^1.4.1" }, @@ -9409,7 +9174,7 @@ }, "node_modules/has-tostringtag": { "version": "1.0.0", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "license": "MIT", "dependencies": { "has-symbols": "^1.0.2" }, @@ -9422,7 +9187,7 @@ }, "node_modules/hash-base": { "version": "3.1.0", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.4", "readable-stream": "^3.6.0", @@ -9434,7 +9199,7 @@ }, "node_modules/hash.js": { "version": "1.1.7", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" @@ -9442,14 +9207,14 @@ }, "node_modules/he": { "version": "1.2.0", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "license": "MIT", "bin": { "he": "bin/he" } }, "node_modules/hmac-drbg": { "version": "1.0.1", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "license": "MIT", "dependencies": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", @@ -9458,13 +9223,11 @@ }, "node_modules/html-escaper": { "version": "2.0.2", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/htmlparser2": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", "dev": true, "funding": [ "https://github.com/fb55/htmlparser2?sponsor=1", @@ -9473,6 +9236,7 @@ "url": "https://github.com/sponsors/fb55" } ], + "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.0.0", @@ -9482,12 +9246,12 @@ }, "node_modules/http-cache-semantics": { "version": "4.1.0", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", - "dev": true + "dev": true, + "license": "BSD-2-Clause" }, "node_modules/http-errors": { "version": "1.7.3", - "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "license": "MIT", "dependencies": { "depd": "~1.1.2", "inherits": "2.0.4", @@ -9501,12 +9265,12 @@ }, "node_modules/http-https": { "version": "1.0.0", - "integrity": "sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs=", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/https-proxy-agent": { "version": "5.0.0", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "license": "MIT", "dependencies": { "agent-base": "6", "debug": "4" @@ -9517,15 +9281,15 @@ }, "node_modules/human-signals": { "version": "1.1.1", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=8.12.0" } }, "node_modules/iconv-lite": { "version": "0.4.24", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -9535,8 +9299,8 @@ }, "node_modules/idna-uts46-hx": { "version": "2.3.1", - "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==", "dev": true, + "license": "MIT", "dependencies": { "punycode": "2.1.0" }, @@ -9546,15 +9310,14 @@ }, "node_modules/idna-uts46-hx/node_modules/punycode": { "version": "2.1.0", - "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/ieee754": { "version": "1.2.1", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "funding": [ { "type": "github", @@ -9568,28 +9331,29 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "BSD-3-Clause" }, "node_modules/ignore": { "version": "4.0.6", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/immediate": { "version": "3.3.0", - "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==" + "license": "MIT" }, "node_modules/immutable": { "version": "4.0.0-rc.14", - "integrity": "sha512-pfkvmRKJSoW7JFx0QeYlAmT+kNYvn5j0u7bnpNq4N2RCvHSTlLT208G8jgaquNe+Q8kCPHKOSpxJkyvLDpYq0w==" + "license": "MIT" }, "node_modules/import-fresh": { "version": "3.3.0", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, + "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -9603,22 +9367,22 @@ }, "node_modules/imurmurhash": { "version": "0.1.4", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.19" } }, "node_modules/indent-string": { "version": "4.0.0", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/inflight": { "version": "1.0.6", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -9626,17 +9390,17 @@ }, "node_modules/inherits": { "version": "2.0.4", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "license": "ISC" }, "node_modules/ini": { "version": "1.3.8", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/inquirer": { "version": "6.5.2", - "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-escapes": "^3.2.0", "chalk": "^2.4.2", @@ -9658,9 +9422,8 @@ }, "node_modules/inquirer-list-search-prompt": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/inquirer-list-search-prompt/-/inquirer-list-search-prompt-1.0.2.tgz", - "integrity": "sha512-p2pxuhxCurxZbWkYydLaI+9f2qkSDQUB2MeIJ07jxNBqH/bkHcz7Kk78+Im/XnL1MdyHbh0KKMzjAHmeSLn7oA==", "dev": true, + "license": "ISC", "dependencies": { "ansi-escapes": "^3.0.0", "chalk": "^2.0.0", @@ -9676,18 +9439,16 @@ }, "node_modules/inquirer-list-search-prompt/node_modules/ansi-escapes": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/inquirer-list-search-prompt/node_modules/ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -9697,9 +9458,8 @@ }, "node_modules/inquirer-list-search-prompt/node_modules/chalk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -9711,42 +9471,37 @@ }, "node_modules/inquirer-list-search-prompt/node_modules/color-convert": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "node_modules/inquirer-list-search-prompt/node_modules/color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/inquirer-list-search-prompt/node_modules/escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/inquirer-list-search-prompt/node_modules/has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/inquirer-list-search-prompt/node_modules/supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -9756,24 +9511,24 @@ }, "node_modules/inquirer/node_modules/ansi-escapes": { "version": "3.2.0", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/inquirer/node_modules/ansi-regex": { "version": "4.1.0", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/inquirer/node_modules/ansi-styles": { "version": "3.2.1", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -9783,8 +9538,8 @@ }, "node_modules/inquirer/node_modules/chalk": { "version": "2.4.2", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -9796,45 +9551,45 @@ }, "node_modules/inquirer/node_modules/color-convert": { "version": "1.9.3", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "node_modules/inquirer/node_modules/color-name": { "version": "1.1.3", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/inquirer/node_modules/escape-string-regexp": { "version": "1.0.5", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/inquirer/node_modules/has-flag": { "version": "3.0.0", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/inquirer/node_modules/is-fullwidth-code-point": { "version": "2.0.0", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/inquirer/node_modules/string-width": { "version": "2.1.1", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, + "license": "MIT", "dependencies": { "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^4.0.0" @@ -9845,16 +9600,16 @@ }, "node_modules/inquirer/node_modules/string-width/node_modules/ansi-regex": { "version": "3.0.0", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/inquirer/node_modules/string-width/node_modules/strip-ansi": { "version": "4.0.0", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^3.0.0" }, @@ -9864,8 +9619,8 @@ }, "node_modules/inquirer/node_modules/strip-ansi": { "version": "5.2.0", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^4.1.0" }, @@ -9875,8 +9630,8 @@ }, "node_modules/inquirer/node_modules/supports-color": { "version": "5.5.0", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -9886,9 +9641,8 @@ }, "node_modules/interface-datastore": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-6.1.0.tgz", - "integrity": "sha512-oNHdsrWBsI/kDwUtEgt+aaZtQFKtQYN0TGZzc3SGiIA6m+plZ6malhmsygtbmDpfpIsNNC7ce9Gyaj+Tki+gVw==", "dev": true, + "license": "MIT", "dependencies": { "interface-store": "^2.0.1", "nanoid": "^3.0.2", @@ -9897,14 +9651,13 @@ }, "node_modules/interface-store": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-2.0.2.tgz", - "integrity": "sha512-rScRlhDcz6k199EkHqT8NpM87ebN89ICOzILoBHgaG36/WX50N32BnU/kpZgCGPLhARRAWUUX5/cyaIjt7Kipg==", - "dev": true + "dev": true, + "license": "(Apache-2.0 OR MIT)" }, "node_modules/internal-slot": { "version": "1.0.3", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", "dev": true, + "license": "MIT", "dependencies": { "get-intrinsic": "^1.1.0", "has": "^1.0.3", @@ -9916,41 +9669,39 @@ }, "node_modules/interpret": { "version": "1.4.0", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.10" } }, "node_modules/io-ts": { "version": "1.10.4", - "integrity": "sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==", + "license": "MIT", "dependencies": { "fp-ts": "^1.0.0" } }, "node_modules/ip-regex": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/ipaddr.js": { "version": "1.9.1", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.10" } }, "node_modules/ipfs-core-types": { "version": "0.10.3", - "resolved": "https://registry.npmjs.org/ipfs-core-types/-/ipfs-core-types-0.10.3.tgz", - "integrity": "sha512-GNid2lRBjR5qgScCglgk7w9Hk3TZAwPHQXxOLQx72wgyc0jF2U5NXRoKW0GRvX8NPbHmsrFszForIqxd23I1Gw==", "dev": true, + "license": "(Apache-2.0 OR MIT)", "dependencies": { "@ipld/dag-pb": "^2.1.3", "interface-datastore": "^6.0.2", @@ -9961,9 +9712,8 @@ }, "node_modules/ipfs-core-utils": { "version": "0.14.3", - "resolved": "https://registry.npmjs.org/ipfs-core-utils/-/ipfs-core-utils-0.14.3.tgz", - "integrity": "sha512-aBkewVhgAj3NWXPwu6imj0wADGiGVZmJzqKzODOJsibDjkx6FGdMv8kvvqtLnK8LS/dvSk9yk32IDtuDyYoV7Q==", "dev": true, + "license": "MIT", "dependencies": { "any-signal": "^3.0.0", "blob-to-it": "^1.0.1", @@ -9989,8 +9739,6 @@ }, "node_modules/ipfs-core-utils/node_modules/buffer": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "dev": true, "funding": [ { @@ -10006,6 +9754,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" @@ -10013,9 +9762,8 @@ }, "node_modules/ipfs-core-utils/node_modules/ipfs-utils": { "version": "9.0.7", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-9.0.7.tgz", - "integrity": "sha512-Umvb0Zydy2zZiTmQBGLfLISr8vOmXX8cxEIP+N8zGHrtRShG/j32yl1xd/BtS+Hbg0FIbVm3opwvxB2gmta0YA==", "dev": true, + "license": "MIT", "dependencies": { "any-signal": "^3.0.0", "buffer": "^6.0.1", @@ -10036,8 +9784,6 @@ "node_modules/ipfs-core-utils/node_modules/node-fetch": { "name": "@achingbrain/node-fetch", "version": "2.6.7", - "resolved": "https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-iTASGs+HTFK5E4ZqcMsHmeJ4zodyq8L38lZV33jwqcBJYoUt3HjN4+ot+O9/0b+ke8ddE7UgOtVuZN/OkV19/g==", "dev": true, "license": "MIT", "engines": { @@ -10046,9 +9792,8 @@ }, "node_modules/ipfs-http-client": { "version": "56.0.1", - "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-56.0.1.tgz", - "integrity": "sha512-U0sUyGZndcIluMJL3gDdCSgF7RwShDklJJxfDf9IRcbO72hqSJsib4amYzqcqfetft6vYa8uRIoJFEIWndHwrg==", "dev": true, + "license": "(Apache-2.0 OR MIT)", "dependencies": { "@ipld/dag-cbor": "^7.0.0", "@ipld/dag-json": "^8.0.1", @@ -10076,9 +9821,8 @@ }, "node_modules/ipfs-unixfs": { "version": "6.0.6", - "resolved": "https://registry.npmjs.org/ipfs-unixfs/-/ipfs-unixfs-6.0.6.tgz", - "integrity": "sha512-gTkjYKXuHnqIf6EFfS+ESaYEl3I3aaQQ0UX8MhpNzreMLEuMnuqpoI/uLLllTZa31WRplKixabbpRTSmTYRNwA==", "dev": true, + "license": "MIT", "dependencies": { "err-code": "^3.0.1", "protobufjs": "^6.10.2" @@ -10090,9 +9834,8 @@ }, "node_modules/ipfs-utils": { "version": "9.0.2", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-9.0.2.tgz", - "integrity": "sha512-o0DjVfd1kcr09fAYMkSnZ56ZkfoAzZhFWkizG3/tL7svukZpqyGyRxNlF58F+hsrn/oL8ouAP9x+4Hdf8XM+hg==", "dev": true, + "license": "MIT", "dependencies": { "abort-controller": "^3.0.0", "any-signal": "^2.1.0", @@ -10114,9 +9857,8 @@ }, "node_modules/ipfs-utils/node_modules/any-signal": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-2.1.2.tgz", - "integrity": "sha512-B+rDnWasMi/eWcajPcCWSlYc7muXOrcYrqgyzcdKisl2H/WTlQ0gip1KyQfr0ZlxJdsuWCj/LWwQm7fhyhRfIQ==", "dev": true, + "license": "MIT", "dependencies": { "abort-controller": "^3.0.0", "native-abort-controller": "^1.0.3" @@ -10124,8 +9866,6 @@ }, "node_modules/ipfs-utils/node_modules/buffer": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "dev": true, "funding": [ { @@ -10141,6 +9881,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" @@ -10149,8 +9890,6 @@ "node_modules/ipfs-utils/node_modules/node-fetch": { "name": "@achingbrain/node-fetch", "version": "2.6.7", - "resolved": "https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-iTASGs+HTFK5E4ZqcMsHmeJ4zodyq8L38lZV33jwqcBJYoUt3HjN4+ot+O9/0b+ke8ddE7UgOtVuZN/OkV19/g==", "dev": true, "license": "MIT", "engines": { @@ -10159,7 +9898,7 @@ }, "node_modules/is-arguments": { "version": "1.1.1", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -10173,13 +9912,13 @@ }, "node_modules/is-arrayish": { "version": "0.2.1", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/is-bigint": { "version": "1.0.4", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dev": true, + "license": "MIT", "dependencies": { "has-bigints": "^1.0.1" }, @@ -10189,7 +9928,7 @@ }, "node_modules/is-binary-path": { "version": "2.1.0", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "license": "MIT", "dependencies": { "binary-extensions": "^2.0.0" }, @@ -10199,8 +9938,8 @@ }, "node_modules/is-boolean-object": { "version": "1.1.2", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -10214,8 +9953,8 @@ }, "node_modules/is-callable": { "version": "1.2.4", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -10225,7 +9964,7 @@ }, "node_modules/is-date-object": { "version": "1.0.5", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -10238,28 +9977,27 @@ }, "node_modules/is-directory": { "version": "0.3.1", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-dotfile": { "version": "1.0.3", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-electron": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.1.tgz", - "integrity": "sha512-r8EEQQsqT+Gn0aXFx7lTFygYQhILLCB+wn0WCDL5LZRINeLH/Rvw1j2oKodELLXYNImQ3CRlVsY8wW4cGOsyuw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/is-equal-shallow": { "version": "0.1.3", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "license": "MIT", "dependencies": { "is-primitive": "^2.0.0" }, @@ -10269,34 +10007,34 @@ }, "node_modules/is-extendable": { "version": "0.1.1", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-extglob": { "version": "2.1.1", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-function": { "version": "1.0.2", - "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/is-generator-function": { "version": "1.0.10", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", "dev": true, + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -10309,7 +10047,7 @@ }, "node_modules/is-glob": { "version": "4.0.1", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -10319,7 +10057,7 @@ }, "node_modules/is-hex-prefixed": { "version": "1.0.0", - "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=", + "license": "MIT", "engines": { "node": ">=6.5.0", "npm": ">=3" @@ -10327,18 +10065,16 @@ }, "node_modules/is-interactive": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-ip": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", - "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", "dev": true, + "license": "MIT", "dependencies": { "ip-regex": "^4.0.0" }, @@ -10348,7 +10084,7 @@ }, "node_modules/is-match": { "version": "0.4.1", - "integrity": "sha1-+19sZwmhVDt8fvp9lTDlt3b2H4M=", + "license": "MIT", "dependencies": { "deep-equal": "^1.0.1", "is-extendable": "^0.1.1", @@ -10361,14 +10097,14 @@ }, "node_modules/is-match/node_modules/is-extglob": { "version": "1.0.0", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-match/node_modules/is-glob": { "version": "2.0.1", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "license": "MIT", "dependencies": { "is-extglob": "^1.0.0" }, @@ -10378,9 +10114,8 @@ }, "node_modules/is-negative-zero": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -10390,15 +10125,15 @@ }, "node_modules/is-number": { "version": "7.0.0", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", "engines": { "node": ">=0.12.0" } }, "node_modules/is-number-object": { "version": "1.0.6", - "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", "dev": true, + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -10411,50 +10146,50 @@ }, "node_modules/is-object": { "version": "1.0.2", - "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-path-cwd": { "version": "2.2.0", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/is-path-inside": { "version": "3.0.3", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-plain-obj": { "version": "2.1.0", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-posix-bracket": { "version": "0.1.1", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-primitive": { "version": "2.0.0", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-regex": { "version": "1.1.4", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -10468,17 +10203,16 @@ }, "node_modules/is-retry-allowed": { "version": "1.2.0", - "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-shared-array-buffer": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2" }, @@ -10488,8 +10222,8 @@ }, "node_modules/is-stream": { "version": "2.0.1", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -10499,8 +10233,8 @@ }, "node_modules/is-string": { "version": "1.0.7", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -10513,8 +10247,8 @@ }, "node_modules/is-symbol": { "version": "1.0.4", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, + "license": "MIT", "dependencies": { "has-symbols": "^1.0.2" }, @@ -10527,8 +10261,8 @@ }, "node_modules/is-typed-array": { "version": "1.1.8", - "integrity": "sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA==", "dev": true, + "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", @@ -10545,12 +10279,12 @@ }, "node_modules/is-typedarray": { "version": "1.0.0", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/is-unicode-supported": { "version": "0.1.0", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -10560,9 +10294,8 @@ }, "node_modules/is-weakref": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2" }, @@ -10572,32 +10305,31 @@ }, "node_modules/is-windows": { "version": "1.0.2", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/isarray": { "version": "1.0.0", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "license": "MIT" }, "node_modules/isexe": { "version": "2.0.0", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + "license": "ISC" }, "node_modules/iso-url": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-1.2.1.tgz", - "integrity": "sha512-9JPDgCN4B7QPkLtYAAOrEuAWvP9rWvR5offAr0/SeF046wIkglqH3VXgYYP6NcsKslH80UIVgmPqNe3j7tG2ng==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" } }, "node_modules/isobject": { "version": "2.1.0", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "license": "MIT", "dependencies": { "isarray": "1.0.0" }, @@ -10607,21 +10339,21 @@ }, "node_modules/isstream": { "version": "0.1.2", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/istanbul-lib-coverage": { "version": "3.0.1", - "integrity": "sha512-GvCYYTxaCPqwMjobtVcVKvSHtAGe48MNhGjpK8LtVF8K0ISX7hCKl85LgtuaSneWVyQmaGcW3iXVV3GaZSLpmQ==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=8" } }, "node_modules/istanbul-lib-hook": { "version": "3.0.0", - "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "append-transform": "^2.0.0" }, @@ -10631,8 +10363,8 @@ }, "node_modules/istanbul-lib-instrument": { "version": "4.0.3", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@babel/core": "^7.7.5", "@istanbuljs/schema": "^0.1.2", @@ -10645,16 +10377,16 @@ }, "node_modules/istanbul-lib-instrument/node_modules/semver": { "version": "6.3.0", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/istanbul-lib-processinfo": { "version": "2.0.2", - "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==", "dev": true, + "license": "ISC", "dependencies": { "archy": "^1.0.0", "cross-spawn": "^7.0.0", @@ -10670,8 +10402,8 @@ }, "node_modules/istanbul-lib-processinfo/node_modules/p-map": { "version": "3.0.0", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", "dev": true, + "license": "MIT", "dependencies": { "aggregate-error": "^3.0.0" }, @@ -10681,8 +10413,8 @@ }, "node_modules/istanbul-lib-report": { "version": "3.0.0", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^3.0.0", @@ -10694,8 +10426,8 @@ }, "node_modules/istanbul-lib-source-maps": { "version": "4.0.0", - "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", @@ -10707,8 +10439,8 @@ }, "node_modules/istanbul-reports": { "version": "3.0.2", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" @@ -10719,8 +10451,8 @@ }, "node_modules/isurl": { "version": "1.0.0", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", "dev": true, + "license": "MIT", "dependencies": { "has-to-string-tag-x": "^1.2.0", "is-object": "^1.0.1" @@ -10731,21 +10463,18 @@ }, "node_modules/it-all": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/it-all/-/it-all-1.0.6.tgz", - "integrity": "sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/it-first": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/it-first/-/it-first-1.0.7.tgz", - "integrity": "sha512-nvJKZoBpZD/6Rtde6FXqwDqDZGF1sCADmr2Zoc0hZsIvnE449gRFnGctxDf09Bzc/FWnHXAdaHVIetY6lrE0/g==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/it-glob": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-1.0.2.tgz", - "integrity": "sha512-Ch2Dzhw4URfB9L/0ZHyY+uqOnKvBNeS/SMcRiPmJfpHiM0TsUZn+GkpcZxAoF3dJVdPm/PuIk3A4wlV7SUo23Q==", "dev": true, + "license": "ISC", "dependencies": { "@types/minimatch": "^3.0.4", "minimatch": "^3.0.4" @@ -10753,27 +10482,23 @@ }, "node_modules/it-last": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/it-last/-/it-last-1.0.6.tgz", - "integrity": "sha512-aFGeibeiX/lM4bX3JY0OkVCFkAw8+n9lkukkLNivbJRvNz8lI3YXv5xcqhFUV2lDJiraEK3OXRDbGuevnnR67Q==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/it-map": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/it-map/-/it-map-1.0.6.tgz", - "integrity": "sha512-XT4/RM6UHIFG9IobGlQPFQUrlEKkU4eBUFG3qhWhfAdh1JfF2x11ShCrKCdmZ0OiZppPfoLuzcfA4cey6q3UAQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/it-peekable": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/it-peekable/-/it-peekable-1.0.3.tgz", - "integrity": "sha512-5+8zemFS+wSfIkSZyf0Zh5kNN+iGyccN02914BY4w/Dj+uoFEoPSvj5vaWn8pNZJNSxzjW0zHRxC3LUb2KWJTQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/it-to-stream": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/it-to-stream/-/it-to-stream-1.0.0.tgz", - "integrity": "sha512-pLULMZMAB/+vbdvbZtebC0nWBTbG581lk6w8P7DfIIIKUfa8FbY7Oi0FxZcFPbxvISs7A9E+cMpLDBc1XhpAOA==", "dev": true, + "license": "MIT", "dependencies": { "buffer": "^6.0.3", "fast-fifo": "^1.0.0", @@ -10785,8 +10510,6 @@ }, "node_modules/it-to-stream/node_modules/buffer": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "dev": true, "funding": [ { @@ -10802,6 +10525,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" @@ -10809,26 +10533,25 @@ }, "node_modules/js-levenshtein": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", - "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/js-sha3": { "version": "0.5.7", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/js-tokens": { "version": "4.0.0", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/js-yaml": { "version": "3.14.1", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -10839,13 +10562,13 @@ }, "node_modules/jsbn": { "version": "0.1.1", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jsesc": { "version": "2.5.2", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true, + "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, @@ -10855,38 +10578,37 @@ }, "node_modules/json-buffer": { "version": "3.0.0", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-parse-better-errors": { "version": "1.0.2", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-schema": { "version": "0.2.3", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", "dev": true }, "node_modules/json-schema-traverse": { "version": "0.4.1", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-stringify-safe": { "version": "5.0.1", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/json5": { "version": "2.2.0", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", "dev": true, + "license": "MIT", "dependencies": { "minimist": "^1.2.5" }, @@ -10899,26 +10621,26 @@ }, "node_modules/jsonfile": { "version": "4.0.0", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "license": "MIT", "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "node_modules/jsonschema": { "version": "1.4.0", - "integrity": "sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw==", "dev": true, + "license": "MIT", "engines": { "node": "*" } }, "node_modules/jsprim": { "version": "1.4.1", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "dev": true, "engines": [ "node >=0.6.0" ], + "license": "MIT", "dependencies": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -10928,22 +10650,21 @@ }, "node_modules/jsprim/node_modules/assert-plus": { "version": "1.0.0", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8" } }, "node_modules/just-extend": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", - "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/keccak": { "version": "3.0.2", - "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", "hasInstallScript": true, + "license": "MIT", "dependencies": { "node-addon-api": "^2.0.0", "node-gyp-build": "^4.2.0", @@ -10955,15 +10676,15 @@ }, "node_modules/keyv": { "version": "3.1.0", - "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", "dev": true, + "license": "MIT", "dependencies": { "json-buffer": "3.0.0" } }, "node_modules/kind-of": { "version": "3.2.2", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -10973,26 +10694,25 @@ }, "node_modules/kind-of/node_modules/is-buffer": { "version": "1.1.6", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "license": "MIT" }, "node_modules/klaw": { "version": "1.3.1", - "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "license": "MIT", "optionalDependencies": { "graceful-fs": "^4.1.9" } }, "node_modules/kleur": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/level-codec": { "version": "9.0.2", - "integrity": "sha512-UyIwNb1lJBChJnGfjmO0OR+ezh2iVu1Kas3nvBS/BzGnx79dv6g7unpKIDNPMhfdTEGoc7mC8uAu51XEtX+FHQ==", + "license": "MIT", "dependencies": { "buffer": "^5.6.0" }, @@ -11002,14 +10722,14 @@ }, "node_modules/level-concat-iterator": { "version": "2.0.1", - "integrity": "sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/level-errors": { "version": "2.0.1", - "integrity": "sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==", + "license": "MIT", "dependencies": { "errno": "~0.1.1" }, @@ -11019,7 +10739,7 @@ }, "node_modules/level-iterator-stream": { "version": "4.0.2", - "integrity": "sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q==", + "license": "MIT", "dependencies": { "inherits": "^2.0.4", "readable-stream": "^3.4.0", @@ -11031,7 +10751,7 @@ }, "node_modules/level-mem": { "version": "5.0.1", - "integrity": "sha512-qd+qUJHXsGSFoHTziptAKXoLX87QjR7v2KMbqncDXPxQuCdsQlzmyX+gwrEHhlzn08vkf8TyipYyMmiC6Gobzg==", + "license": "MIT", "dependencies": { "level-packager": "^5.0.3", "memdown": "^5.0.0" @@ -11042,7 +10762,7 @@ }, "node_modules/level-packager": { "version": "5.1.1", - "integrity": "sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ==", + "license": "MIT", "dependencies": { "encoding-down": "^6.3.0", "levelup": "^4.3.2" @@ -11053,7 +10773,7 @@ }, "node_modules/level-supports": { "version": "1.0.1", - "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", + "license": "MIT", "dependencies": { "xtend": "^4.0.2" }, @@ -11063,7 +10783,7 @@ }, "node_modules/level-ws": { "version": "2.0.0", - "integrity": "sha512-1iv7VXx0G9ec1isqQZ7y5LmoZo/ewAsyDHNA8EFDW5hqH2Kqovm33nSFkSdnLLAK+I5FlT+lo5Cw9itGe+CpQA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "readable-stream": "^3.1.0", @@ -11075,7 +10795,7 @@ }, "node_modules/levelup": { "version": "4.4.0", - "integrity": "sha512-94++VFO3qN95cM/d6eBXvd894oJE0w3cInq9USsyQzzoJxmiYzPAocNcuGCPGGjoXqDVJcr3C1jzt1TSjyaiLQ==", + "license": "MIT", "dependencies": { "deferred-leveldown": "~5.3.0", "level-errors": "~2.0.0", @@ -11089,8 +10809,8 @@ }, "node_modules/levn": { "version": "0.4.1", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -11101,7 +10821,7 @@ }, "node_modules/locate-path": { "version": "2.0.0", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "license": "MIT", "dependencies": { "p-locate": "^2.0.0", "path-exists": "^3.0.0" @@ -11112,33 +10832,31 @@ }, "node_modules/lodash": { "version": "4.17.21", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "license": "MIT" }, "node_modules/lodash.flattendeep": { "version": "4.4.0", - "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.get": { "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.merge": { "version": "4.6.2", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.truncate": { "version": "4.4.2", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/log-symbols": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "license": "MIT", "dependencies": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" @@ -11152,37 +10870,36 @@ }, "node_modules/long": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", - "dev": true + "dev": true, + "license": "Apache-2.0" }, "node_modules/lowercase-keys": { "version": "1.0.1", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/lru_map": { "version": "0.3.3", - "integrity": "sha1-tcg1G5Rky9dQM1p5ZQoOwOVhGN0=" + "license": "MIT" }, "node_modules/lru-cache": { "version": "5.1.1", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "license": "ISC", "dependencies": { "yallist": "^3.0.2" } }, "node_modules/ltgt": { "version": "2.2.1", - "integrity": "sha1-81ypHEk/e3PaDgdJUwTxezH4fuU=" + "license": "MIT" }, "node_modules/make-dir": { "version": "3.1.0", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, + "license": "MIT", "dependencies": { "semver": "^6.0.0" }, @@ -11195,26 +10912,26 @@ }, "node_modules/make-dir/node_modules/semver": { "version": "6.3.0", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/math-random": { "version": "1.0.4", - "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==" + "license": "MIT" }, "node_modules/mcl-wasm": { "version": "0.7.9", - "integrity": "sha512-iJIUcQWA88IJB/5L15GnJVnSQJmf/YaxxV6zRavv83HILHaJQb6y0iFyDMdDO0gN8X37tdxmAOrH/P8B6RB8sQ==", + "license": "BSD-3-Clause", "engines": { "node": ">=8.9.0" } }, "node_modules/md5.js": { "version": "1.3.5", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "license": "MIT", "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1", @@ -11223,15 +10940,15 @@ }, "node_modules/media-typer": { "version": "0.3.0", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/memdown": { "version": "5.1.0", - "integrity": "sha512-B3J+UizMRAlEArDjWHTMmadet+UKwHd3UjMgGBkZcKAxAYVPS9o0Yeiha4qvz7iGiL2Sb3igUft6p7nbFWctpw==", + "license": "MIT", "dependencies": { "abstract-leveldown": "~6.2.1", "functional-red-black-tree": "~1.0.1", @@ -11246,7 +10963,7 @@ }, "node_modules/memdown/node_modules/abstract-leveldown": { "version": "6.2.3", - "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", + "license": "MIT", "dependencies": { "buffer": "^5.5.0", "immediate": "^3.2.3", @@ -11260,25 +10977,23 @@ }, "node_modules/memdown/node_modules/immediate": { "version": "3.2.3", - "integrity": "sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw=" + "license": "MIT" }, "node_modules/memorystream": { "version": "0.3.1", - "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", "engines": { "node": ">= 0.10.0" } }, "node_modules/merge-descriptors": { "version": "1.0.1", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/merge-options": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", - "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", "dev": true, + "license": "MIT", "dependencies": { "is-plain-obj": "^2.1.0" }, @@ -11288,20 +11003,19 @@ }, "node_modules/merge-stream": { "version": "2.0.0", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/merge2": { "version": "1.4.1", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/merkle-patricia-tree": { "version": "4.2.4", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-4.2.4.tgz", - "integrity": "sha512-eHbf/BG6eGNsqqfbLED9rIqbsF4+sykEaBn6OLNs71tjclbMcMOk1tEPmJKcNcNCLkvbpY/lwyOlizWsqPNo8w==", + "license": "MPL-2.0", "dependencies": { "@types/levelup": "^4.3.0", "ethereumjs-util": "^7.1.4", @@ -11313,15 +11027,15 @@ }, "node_modules/methods": { "version": "1.1.2", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/micromatch": { "version": "2.3.11", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "license": "MIT", "dependencies": { "arr-diff": "^2.0.0", "array-unique": "^0.2.1", @@ -11343,7 +11057,7 @@ }, "node_modules/micromatch/node_modules/braces": { "version": "1.8.5", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "license": "MIT", "dependencies": { "expand-range": "^1.8.1", "preserve": "^0.2.0", @@ -11355,14 +11069,14 @@ }, "node_modules/micromatch/node_modules/is-extglob": { "version": "1.0.0", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/micromatch/node_modules/is-glob": { "version": "2.0.1", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "license": "MIT", "dependencies": { "is-extglob": "^1.0.0" }, @@ -11372,7 +11086,7 @@ }, "node_modules/micromatch/node_modules/normalize-path": { "version": "2.1.1", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "license": "MIT", "dependencies": { "remove-trailing-separator": "^1.0.1" }, @@ -11382,7 +11096,7 @@ }, "node_modules/miller-rabin": { "version": "4.0.1", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "license": "MIT", "dependencies": { "bn.js": "^4.0.0", "brorand": "^1.0.1" @@ -11393,8 +11107,8 @@ }, "node_modules/mime": { "version": "1.6.0", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, + "license": "MIT", "bin": { "mime": "cli.js" }, @@ -11404,14 +11118,14 @@ }, "node_modules/mime-db": { "version": "1.49.0", - "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { "version": "2.1.32", - "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", + "license": "MIT", "dependencies": { "mime-db": "1.49.0" }, @@ -11421,23 +11135,22 @@ }, "node_modules/mimic-fn": { "version": "2.1.0", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/mimic-response": { "version": "1.0.1", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/min-document": { "version": "2.19.0", - "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", "dev": true, "dependencies": { "dom-walk": "^0.1.0" @@ -11445,15 +11158,15 @@ }, "node_modules/minimalistic-assert": { "version": "1.0.1", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + "license": "ISC" }, "node_modules/minimalistic-crypto-utils": { "version": "1.0.1", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + "license": "MIT" }, "node_modules/minimatch": { "version": "3.0.4", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -11463,13 +11176,13 @@ }, "node_modules/minimist": { "version": "1.2.5", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/minipass": { "version": "2.9.0", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", "dev": true, + "license": "ISC", "dependencies": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -11477,16 +11190,16 @@ }, "node_modules/minizlib": { "version": "1.3.3", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", "dev": true, + "license": "MIT", "dependencies": { "minipass": "^2.9.0" } }, "node_modules/mkdirp": { "version": "0.5.5", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", "dev": true, + "license": "MIT", "dependencies": { "minimist": "^1.2.5" }, @@ -11496,15 +11209,13 @@ }, "node_modules/mkdirp-classic": { "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/mkdirp-promise": { "version": "5.0.1", - "integrity": "sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE=", - "deprecated": "This package is broken and no longer maintained. 'mkdirp' itself supports promises now, please switch to that.", "dev": true, + "license": "ISC", "dependencies": { "mkdirp": "*" }, @@ -11514,15 +11225,14 @@ }, "node_modules/mnemonist": { "version": "0.38.3", - "integrity": "sha512-2K9QYubXx/NAjv4VLq1d1Ly8pWNC5L3BrixtdkyTegXWJIqY+zLNDhhX/A+ZwWt70tB1S8H4BE8FLYEFyNoOBw==", + "license": "MIT", "dependencies": { "obliterator": "^1.6.1" } }, "node_modules/mocha": { "version": "9.2.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz", - "integrity": "sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==", + "license": "MIT", "dependencies": { "@ungap/promise-all-settled": "1.1.2", "ansi-colors": "4.1.1", @@ -11563,19 +11273,17 @@ }, "node_modules/mocha/node_modules/argparse": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + "license": "Python-2.0" }, "node_modules/mocha/node_modules/chokidar": { "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "funding": [ { "type": "individual", "url": "https://paulmillr.com/funding/" } ], + "license": "MIT", "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -11594,8 +11302,7 @@ }, "node_modules/mocha/node_modules/debug": { "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -11610,13 +11317,11 @@ }, "node_modules/mocha/node_modules/debug/node_modules/ms": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "license": "MIT" }, "node_modules/mocha/node_modules/find-up": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -11630,8 +11335,7 @@ }, "node_modules/mocha/node_modules/glob": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -11649,8 +11353,7 @@ }, "node_modules/mocha/node_modules/glob/node_modules/minimatch": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -11660,8 +11363,7 @@ }, "node_modules/mocha/node_modules/js-yaml": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -11671,8 +11373,7 @@ }, "node_modules/mocha/node_modules/locate-path": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -11685,8 +11386,7 @@ }, "node_modules/mocha/node_modules/minimatch": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz", - "integrity": "sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==", + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -11696,13 +11396,11 @@ }, "node_modules/mocha/node_modules/ms": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "license": "MIT" }, "node_modules/mocha/node_modules/nanoid": { "version": "3.3.1", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", - "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -11712,8 +11410,7 @@ }, "node_modules/mocha/node_modules/p-limit": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -11726,8 +11423,7 @@ }, "node_modules/mocha/node_modules/p-locate": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -11740,16 +11436,14 @@ }, "node_modules/mocha/node_modules/path-exists": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/mocha/node_modules/supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -11762,31 +11456,29 @@ }, "node_modules/mocha/node_modules/workerpool": { "version": "6.2.0", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz", - "integrity": "sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==" + "license": "Apache-2.0" }, "node_modules/mock-fs": { "version": "4.14.0", - "integrity": "sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/mri": { "version": "1.2.0", - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/ms": { "version": "2.1.2", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "license": "MIT" }, "node_modules/multiaddr": { "version": "10.0.1", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-10.0.1.tgz", - "integrity": "sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg==", "dev": true, + "license": "MIT", "dependencies": { "dns-over-http-resolver": "^1.2.3", "err-code": "^3.0.1", @@ -11798,24 +11490,21 @@ }, "node_modules/multiaddr-to-uri": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/multiaddr-to-uri/-/multiaddr-to-uri-8.0.0.tgz", - "integrity": "sha512-dq4p/vsOOUdVEd1J1gl+R2GFrXJQH8yjLtz4hodqdVbieg39LvBOdMQRdQnfbg5LSM/q1BYNVf5CBbwZFFqBgA==", "dev": true, + "license": "MIT", "dependencies": { "multiaddr": "^10.0.0" } }, "node_modules/multiaddr/node_modules/varint": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", - "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/multibase": { "version": "0.6.1", - "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", - "deprecated": "This module has been superseded by the multiformats module", "dev": true, + "license": "MIT", "dependencies": { "base-x": "^3.0.8", "buffer": "^5.5.0" @@ -11823,23 +11512,21 @@ }, "node_modules/multicodec": { "version": "0.5.7", - "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", - "deprecated": "This module has been superseded by the multiformats module", "dev": true, + "license": "MIT", "dependencies": { "varint": "^5.0.0" } }, "node_modules/multiformats": { "version": "9.6.4", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.6.4.tgz", - "integrity": "sha512-fCCB6XMrr6CqJiHNjfFNGT0v//dxOBMrOMqUIzpPc/mmITweLEyhvMpY9bF+jZ9z3vaMAau5E8B68DW77QMXkg==", - "dev": true + "dev": true, + "license": "(Apache-2.0 AND MIT)" }, "node_modules/multihashes": { "version": "0.4.21", - "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", "dev": true, + "license": "MIT", "dependencies": { "buffer": "^5.5.0", "multibase": "^0.7.0", @@ -11848,9 +11535,8 @@ }, "node_modules/multihashes/node_modules/multibase": { "version": "0.7.0", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "deprecated": "This module has been superseded by the multiformats module", "dev": true, + "license": "MIT", "dependencies": { "base-x": "^3.0.8", "buffer": "^5.5.0" @@ -11858,8 +11544,8 @@ }, "node_modules/multimatch": { "version": "4.0.0", - "integrity": "sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/minimatch": "^3.0.3", "array-differ": "^3.0.0", @@ -11873,30 +11559,30 @@ }, "node_modules/mustache": { "version": "4.2.0", - "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", + "license": "MIT", "bin": { "mustache": "bin/mustache" } }, "node_modules/mute-stream": { "version": "0.0.7", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/nano-json-stream-parser": { "version": "0.1.2", - "integrity": "sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/nanocolors": { "version": "0.2.12", - "integrity": "sha512-SFNdALvzW+rVlzqexid6epYdt8H9Zol7xDoQarioEFcFN0JHo4CYNztAxmtfgGTVRCmFlEOqqhBpoFGKqSAMug==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/nanoid": { "version": "3.1.23", - "integrity": "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==", "dev": true, + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -11906,47 +11592,44 @@ }, "node_modules/native-abort-controller": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/native-abort-controller/-/native-abort-controller-1.0.4.tgz", - "integrity": "sha512-zp8yev7nxczDJMoP6pDxyD20IU0T22eX8VwN2ztDccKvSZhRaV33yP1BGwKSZfXuqWUzsXopVFjBdau9OOAwMQ==", "dev": true, + "license": "MIT", "peerDependencies": { "abort-controller": "*" } }, "node_modules/native-fetch": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/native-fetch/-/native-fetch-3.0.0.tgz", - "integrity": "sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw==", "dev": true, + "license": "MIT", "peerDependencies": { "node-fetch": "*" } }, "node_modules/natural-compare": { "version": "1.4.0", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/neo-async": { "version": "2.6.2", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/next-tick": { "version": "1.0.0", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/nice-try": { "version": "1.0.5", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/nise": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.0.tgz", - "integrity": "sha512-W5WlHu+wvo3PaKLsJJkgPup2LrsXCcm7AWwyNZkUnn5rwPkuPBi3Iwk5SQtN0mv+K65k7nKKjwNQ30wg3wLAQQ==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^1.7.0", "@sinonjs/fake-timers": "^7.0.4", @@ -11957,35 +11640,33 @@ }, "node_modules/nise/node_modules/isarray": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/nise/node_modules/path-to-regexp": { "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", "dev": true, + "license": "MIT", "dependencies": { "isarray": "0.0.1" } }, "node_modules/node-addon-api": { "version": "2.0.2", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" + "license": "MIT" }, "node_modules/node-emoji": { "version": "1.11.0", - "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", "dev": true, + "license": "MIT", "dependencies": { "lodash": "^4.17.21" } }, "node_modules/node-fetch": { "version": "2.6.2", - "integrity": "sha512-aLoxToI6RfZ+0NOjmWAgn9+LEd30YCkJKFSyWacNZdEKTit/ZMcKjGkTRo8uWEsnIb/hfKecNPEbln02PdWbcA==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": "4.x || >=6.0.0" @@ -11993,7 +11674,7 @@ }, "node_modules/node-gyp-build": { "version": "4.3.0", - "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==", + "license": "MIT", "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", @@ -12002,8 +11683,8 @@ }, "node_modules/node-preload": { "version": "0.2.1", - "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", "dev": true, + "license": "MIT", "dependencies": { "process-on-spawn": "^1.0.0" }, @@ -12013,36 +11694,35 @@ }, "node_modules/node-releases": { "version": "1.1.77", - "integrity": "sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/nofilter": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-1.0.4.tgz", - "integrity": "sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/normalize-path": { "version": "3.0.0", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/normalize-url": { "version": "4.5.1", - "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/npm-run-path": { "version": "4.0.1", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.0.0" }, @@ -12052,9 +11732,8 @@ }, "node_modules/nth-check": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", - "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0" }, @@ -12064,8 +11743,8 @@ }, "node_modules/number-to-bn": { "version": "1.7.0", - "integrity": "sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA=", "dev": true, + "license": "MIT", "dependencies": { "bn.js": "4.11.6", "strip-hex-prefix": "1.0.0" @@ -12077,13 +11756,13 @@ }, "node_modules/number-to-bn/node_modules/bn.js": { "version": "4.11.6", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/nyc": { "version": "15.1.0", - "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", "dev": true, + "license": "ISC", "dependencies": { "@istanbuljs/load-nyc-config": "^1.0.0", "@istanbuljs/schema": "^0.1.2", @@ -12122,8 +11801,8 @@ }, "node_modules/nyc/node_modules/cliui": { "version": "6.0.0", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", "dev": true, + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -12132,8 +11811,8 @@ }, "node_modules/nyc/node_modules/find-up": { "version": "4.1.0", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -12144,8 +11823,8 @@ }, "node_modules/nyc/node_modules/locate-path": { "version": "5.0.0", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -12155,8 +11834,8 @@ }, "node_modules/nyc/node_modules/p-limit": { "version": "2.3.0", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -12169,8 +11848,8 @@ }, "node_modules/nyc/node_modules/p-locate": { "version": "4.1.0", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -12180,8 +11859,8 @@ }, "node_modules/nyc/node_modules/p-map": { "version": "3.0.0", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", "dev": true, + "license": "MIT", "dependencies": { "aggregate-error": "^3.0.0" }, @@ -12191,32 +11870,32 @@ }, "node_modules/nyc/node_modules/p-try": { "version": "2.2.0", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/nyc/node_modules/path-exists": { "version": "4.0.0", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/nyc/node_modules/resolve-from": { "version": "5.0.0", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/nyc/node_modules/wrap-ansi": { "version": "6.2.0", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -12228,8 +11907,8 @@ }, "node_modules/nyc/node_modules/yargs": { "version": "15.4.1", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", "dev": true, + "license": "MIT", "dependencies": { "cliui": "^6.0.0", "decamelize": "^1.2.0", @@ -12249,8 +11928,8 @@ }, "node_modules/nyc/node_modules/yargs-parser": { "version": "18.1.3", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "dev": true, + "license": "ISC", "dependencies": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" @@ -12261,23 +11940,22 @@ }, "node_modules/object-assign": { "version": "4.1.1", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/object-inspect": { "version": "1.12.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", - "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object-is": { "version": "1.1.5", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" @@ -12291,14 +11969,14 @@ }, "node_modules/object-keys": { "version": "1.1.1", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/object.omit": { "version": "2.0.1", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "license": "MIT", "dependencies": { "for-own": "^0.1.4", "is-extendable": "^0.1.1" @@ -12309,20 +11987,20 @@ }, "node_modules/obliterator": { "version": "1.6.1", - "integrity": "sha512-9WXswnqINnnhOG/5SLimUlzuU1hFJUc8zkwyD59Sd+dPOMf05PmnYG/d6Q7HZ+KmgkZJa1PxRso6QdM3sTNHig==" + "license": "MIT" }, "node_modules/oboe": { "version": "2.1.5", - "integrity": "sha1-VVQoTFQ6ImbXo48X4HOCH73jk80=", "dev": true, + "license": "BSD", "dependencies": { "http-https": "^1.0.0" } }, "node_modules/on-finished": { "version": "2.3.0", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", "dev": true, + "license": "MIT", "dependencies": { "ee-first": "1.1.1" }, @@ -12332,15 +12010,15 @@ }, "node_modules/once": { "version": "1.4.0", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "license": "ISC", "dependencies": { "wrappy": "1" } }, "node_modules/onetime": { "version": "5.1.2", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, + "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" }, @@ -12353,8 +12031,8 @@ }, "node_modules/optionator": { "version": "0.9.1", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", "dev": true, + "license": "MIT", "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", @@ -12369,9 +12047,8 @@ }, "node_modules/ora": { "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", "dev": true, + "license": "MIT", "dependencies": { "bl": "^4.1.0", "chalk": "^4.1.0", @@ -12392,9 +12069,8 @@ }, "node_modules/ora/node_modules/cli-cursor": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dev": true, + "license": "MIT", "dependencies": { "restore-cursor": "^3.1.0" }, @@ -12404,9 +12080,8 @@ }, "node_modules/ora/node_modules/restore-cursor": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dev": true, + "license": "MIT", "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" @@ -12417,7 +12092,6 @@ }, "node_modules/os-shim": { "version": "0.1.3", - "integrity": "sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=", "dev": true, "engines": { "node": ">= 0.4.0" @@ -12425,33 +12099,31 @@ }, "node_modules/os-tmpdir": { "version": "1.0.2", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/p-cancelable": { "version": "1.1.0", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/p-defer": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", - "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/p-fifo": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-fifo/-/p-fifo-1.0.0.tgz", - "integrity": "sha512-IjoCxXW48tqdtDFz6fqo5q1UfFVjjVZe8TC1QRflvNUJtNfCUhxOUw6MOVZhDPjqhSzc26xKdugsO17gmzd5+A==", "dev": true, + "license": "MIT", "dependencies": { "fast-fifo": "^1.0.0", "p-defer": "^3.0.0" @@ -12459,15 +12131,15 @@ }, "node_modules/p-finally": { "version": "1.0.0", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/p-limit": { "version": "1.3.0", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "license": "MIT", "dependencies": { "p-try": "^1.0.0" }, @@ -12477,7 +12149,7 @@ }, "node_modules/p-locate": { "version": "2.0.0", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "license": "MIT", "dependencies": { "p-limit": "^1.1.0" }, @@ -12487,7 +12159,7 @@ }, "node_modules/p-map": { "version": "4.0.0", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "license": "MIT", "dependencies": { "aggregate-error": "^3.0.0" }, @@ -12500,8 +12172,8 @@ }, "node_modules/p-timeout": { "version": "1.2.1", - "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", "dev": true, + "license": "MIT", "dependencies": { "p-finally": "^1.0.0" }, @@ -12511,15 +12183,15 @@ }, "node_modules/p-try": { "version": "1.0.0", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/package-hash": { "version": "4.0.0", - "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", "dev": true, + "license": "ISC", "dependencies": { "graceful-fs": "^4.1.15", "hasha": "^5.0.0", @@ -12532,8 +12204,8 @@ }, "node_modules/package-hash/node_modules/hasha": { "version": "5.2.2", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", "dev": true, + "license": "MIT", "dependencies": { "is-stream": "^2.0.0", "type-fest": "^0.8.0" @@ -12547,16 +12219,16 @@ }, "node_modules/package-hash/node_modules/type-fest": { "version": "0.8.1", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" } }, "node_modules/parent-module": { "version": "1.0.1", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, + "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -12566,8 +12238,8 @@ }, "node_modules/parse-asn1": { "version": "5.1.6", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", "dev": true, + "license": "ISC", "dependencies": { "asn1.js": "^5.2.0", "browserify-aes": "^1.0.0", @@ -12578,13 +12250,12 @@ }, "node_modules/parse-duration": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-1.0.2.tgz", - "integrity": "sha512-Dg27N6mfok+ow1a2rj/nRjtCfaKrHUZV2SJpEn/s8GaVUSlf4GGRCRP1c13Hj+wfPKVMrFDqLMLITkYKgKxyyg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/parse-glob": { "version": "3.0.4", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "license": "MIT", "dependencies": { "glob-base": "^0.3.0", "is-dotfile": "^1.0.0", @@ -12597,14 +12268,14 @@ }, "node_modules/parse-glob/node_modules/is-extglob": { "version": "1.0.0", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/parse-glob/node_modules/is-glob": { "version": "2.0.1", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "license": "MIT", "dependencies": { "is-extglob": "^1.0.0" }, @@ -12614,13 +12285,13 @@ }, "node_modules/parse-headers": { "version": "2.0.4", - "integrity": "sha512-psZ9iZoCNFLrgRjZ1d8mn0h9WRqJwFxM9q3x7iUjN/YT2OksthDJ5TiPCu2F38kS4zutqfW+YdVVkBZZx3/1aw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/parse-json": { "version": "4.0.0", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, + "license": "MIT", "dependencies": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" @@ -12631,58 +12302,58 @@ }, "node_modules/parseurl": { "version": "1.3.3", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/path-exists": { "version": "3.0.0", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/path-is-absolute": { "version": "1.0.1", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/path-is-inside": { "version": "1.0.2", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true + "dev": true, + "license": "(WTFPL OR MIT)" }, "node_modules/path-key": { "version": "3.1.1", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/path-parse": { "version": "1.0.7", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + "license": "MIT" }, "node_modules/path-to-regexp": { "version": "0.1.7", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/path-type": { "version": "4.0.0", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/pbkdf2": { "version": "3.1.2", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "license": "MIT", "dependencies": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", @@ -12696,12 +12367,12 @@ }, "node_modules/performance-now": { "version": "2.1.0", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/picomatch": { "version": "2.3.0", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "license": "MIT", "engines": { "node": ">=8.6" }, @@ -12711,8 +12382,8 @@ }, "node_modules/pkg-dir": { "version": "4.2.0", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, + "license": "MIT", "dependencies": { "find-up": "^4.0.0" }, @@ -12722,8 +12393,8 @@ }, "node_modules/pkg-dir/node_modules/find-up": { "version": "4.1.0", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -12734,8 +12405,8 @@ }, "node_modules/pkg-dir/node_modules/locate-path": { "version": "5.0.0", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -12745,8 +12416,8 @@ }, "node_modules/pkg-dir/node_modules/p-limit": { "version": "2.3.0", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -12759,8 +12430,8 @@ }, "node_modules/pkg-dir/node_modules/p-locate": { "version": "4.1.0", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -12770,25 +12441,25 @@ }, "node_modules/pkg-dir/node_modules/p-try": { "version": "2.2.0", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/pkg-dir/node_modules/path-exists": { "version": "4.0.0", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/pre-commit": { "version": "1.2.2", - "integrity": "sha1-287g7p3nI15X95xW186UZBpp7sY=", "dev": true, "hasInstallScript": true, + "license": "MIT", "dependencies": { "cross-spawn": "^5.0.1", "spawn-sync": "^1.0.15", @@ -12797,8 +12468,8 @@ }, "node_modules/pre-commit/node_modules/cross-spawn": { "version": "5.1.0", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, + "license": "MIT", "dependencies": { "lru-cache": "^4.0.1", "shebang-command": "^1.2.0", @@ -12807,8 +12478,8 @@ }, "node_modules/pre-commit/node_modules/lru-cache": { "version": "4.1.5", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", "dev": true, + "license": "ISC", "dependencies": { "pseudomap": "^1.0.2", "yallist": "^2.1.2" @@ -12816,8 +12487,8 @@ }, "node_modules/pre-commit/node_modules/shebang-command": { "version": "1.2.0", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, + "license": "MIT", "dependencies": { "shebang-regex": "^1.0.0" }, @@ -12827,16 +12498,16 @@ }, "node_modules/pre-commit/node_modules/shebang-regex": { "version": "1.0.0", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/pre-commit/node_modules/which": { "version": "1.2.14", - "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=", "dev": true, + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -12846,36 +12517,36 @@ }, "node_modules/pre-commit/node_modules/yallist": { "version": "2.1.2", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/prelude-ls": { "version": "1.2.1", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8.0" } }, "node_modules/prepend-http": { "version": "2.0.0", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/preserve": { "version": "0.2.0", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/prettier": { "version": "2.3.2", - "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==", "dev": true, + "license": "MIT", "bin": { "prettier": "bin-prettier.js" }, @@ -12885,8 +12556,8 @@ }, "node_modules/prettier-plugin-solidity": { "version": "1.0.0-beta.17", - "integrity": "sha512-YFkxV/rHi1mphi17/XKcJ9QjZlb+L/J0yY2erix21BZfzPv2BN9dfmSRGr/poDp/FBOFSW+jteP2BCMe7HndVQ==", "dev": true, + "license": "MIT", "dependencies": { "@solidity-parser/parser": "^0.13.2", "emoji-regex": "^9.2.2", @@ -12904,17 +12575,16 @@ }, "node_modules/prettier-plugin-solidity/node_modules/@solidity-parser/parser": { "version": "0.13.2", - "integrity": "sha512-RwHnpRnfrnD2MSPveYoPh8nhofEvX7fgjHk1Oq+NNvCcLx4r1js91CO9o+F/F3fBzOCyvm8kKRTriFICX/odWw==", "dev": true, + "license": "MIT", "dependencies": { "antlr4ts": "^0.5.0-alpha.4" } }, "node_modules/pretty-error": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", - "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", "dev": true, + "license": "MIT", "dependencies": { "lodash": "^4.17.20", "renderkid": "^2.0.4" @@ -12922,8 +12592,8 @@ }, "node_modules/pretty-quick": { "version": "3.1.1", - "integrity": "sha512-ZYLGiMoV2jcaas3vTJrLvKAYsxDoXQBUn8OSTxkl67Fyov9lyXivJTl0+2WVh+y6EovGcw7Lm5ThYpH+Sh3XxQ==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^3.0.0", "execa": "^4.0.0", @@ -12944,8 +12614,8 @@ }, "node_modules/pretty-quick/node_modules/chalk": { "version": "3.0.0", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -12956,8 +12626,8 @@ }, "node_modules/pretty-quick/node_modules/find-up": { "version": "4.1.0", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -12968,16 +12638,16 @@ }, "node_modules/pretty-quick/node_modules/ignore": { "version": "5.1.8", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/pretty-quick/node_modules/locate-path": { "version": "5.0.0", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -12987,8 +12657,8 @@ }, "node_modules/pretty-quick/node_modules/p-limit": { "version": "2.3.0", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -13001,8 +12671,8 @@ }, "node_modules/pretty-quick/node_modules/p-locate": { "version": "4.1.0", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -13012,23 +12682,23 @@ }, "node_modules/pretty-quick/node_modules/p-try": { "version": "2.2.0", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/pretty-quick/node_modules/path-exists": { "version": "4.0.0", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/printj": { "version": "1.1.2", - "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==", + "license": "Apache-2.0", "bin": { "printj": "bin/printj.njs" }, @@ -13038,21 +12708,21 @@ }, "node_modules/process": { "version": "0.11.10", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6.0" } }, "node_modules/process-nextick-args": { "version": "2.0.1", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/process-on-spawn": { "version": "1.0.0", - "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", "dev": true, + "license": "MIT", "dependencies": { "fromentries": "^1.2.0" }, @@ -13062,17 +12732,16 @@ }, "node_modules/progress": { "version": "2.0.3", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.4.0" } }, "node_modules/prompts": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, + "license": "MIT", "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" @@ -13083,10 +12752,9 @@ }, "node_modules/protobufjs": { "version": "6.11.2", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.2.tgz", - "integrity": "sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw==", "dev": true, "hasInstallScript": true, + "license": "BSD-3-Clause", "dependencies": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", @@ -13109,8 +12777,8 @@ }, "node_modules/proxy-addr": { "version": "2.0.7", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dev": true, + "license": "MIT", "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" @@ -13121,22 +12789,22 @@ }, "node_modules/prr": { "version": "1.0.1", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + "license": "MIT" }, "node_modules/pseudomap": { "version": "1.0.2", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/psl": { "version": "1.8.0", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/public-encrypt": { "version": "4.0.3", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "dev": true, + "license": "MIT", "dependencies": { "bn.js": "^4.1.0", "browserify-rsa": "^4.0.0", @@ -13148,8 +12816,8 @@ }, "node_modules/pump": { "version": "3.0.0", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, + "license": "MIT", "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -13157,15 +12825,15 @@ }, "node_modules/punycode": { "version": "2.1.1", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/qs": { "version": "6.10.1", - "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==", + "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.0.4" }, @@ -13178,8 +12846,8 @@ }, "node_modules/query-string": { "version": "5.1.1", - "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", "dev": true, + "license": "MIT", "dependencies": { "decode-uri-component": "^0.2.0", "object-assign": "^4.1.0", @@ -13191,7 +12859,6 @@ }, "node_modules/queue-microtask": { "version": "1.2.3", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "funding": [ { "type": "github", @@ -13205,11 +12872,12 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/randomatic": { "version": "3.1.1", - "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", + "license": "MIT", "dependencies": { "is-number": "^4.0.0", "kind-of": "^6.0.0", @@ -13221,29 +12889,29 @@ }, "node_modules/randomatic/node_modules/is-number": { "version": "4.0.0", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/randomatic/node_modules/kind-of": { "version": "6.0.3", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/randombytes": { "version": "2.1.0", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "license": "MIT", "dependencies": { "safe-buffer": "^5.1.0" } }, "node_modules/randomfill": { "version": "1.0.4", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "dev": true, + "license": "MIT", "dependencies": { "randombytes": "^2.0.5", "safe-buffer": "^5.1.0" @@ -13251,15 +12919,15 @@ }, "node_modules/range-parser": { "version": "1.2.1", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/raw-body": { "version": "2.4.1", - "integrity": "sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==", + "license": "MIT", "dependencies": { "bytes": "3.1.0", "http-errors": "1.7.3", @@ -13272,16 +12940,15 @@ }, "node_modules/react-native-fetch-api": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/react-native-fetch-api/-/react-native-fetch-api-2.0.0.tgz", - "integrity": "sha512-GOA8tc1EVYLnHvma/TU9VTgLOyralO7eATRuCDchQveXW9Fr9vXygyq9iwqmM7YRZ8qRJfEt9xOS7OYMdJvRFw==", "dev": true, + "license": "MIT", "dependencies": { "p-defer": "^3.0.0" } }, "node_modules/readable-stream": { "version": "3.6.0", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -13293,7 +12960,7 @@ }, "node_modules/readdirp": { "version": "3.6.0", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "license": "MIT", "dependencies": { "picomatch": "^2.2.1" }, @@ -13303,16 +12970,14 @@ }, "node_modules/receptacle": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/receptacle/-/receptacle-1.3.2.tgz", - "integrity": "sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A==", "dev": true, + "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/rechoir": { "version": "0.6.2", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", "dev": true, "dependencies": { "resolve": "^1.1.6" @@ -13323,8 +12988,8 @@ }, "node_modules/recursive-readdir": { "version": "2.2.2", - "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", "dev": true, + "license": "MIT", "dependencies": { "minimatch": "3.0.4" }, @@ -13334,7 +12999,7 @@ }, "node_modules/regex-cache": { "version": "0.4.4", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "license": "MIT", "dependencies": { "is-equal-shallow": "^0.1.3" }, @@ -13344,7 +13009,7 @@ }, "node_modules/regexp.prototype.flags": { "version": "1.3.1", - "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" @@ -13358,8 +13023,8 @@ }, "node_modules/regexpp": { "version": "3.2.0", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -13369,8 +13034,8 @@ }, "node_modules/release-zalgo": { "version": "1.0.0", - "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", "dev": true, + "license": "ISC", "dependencies": { "es6-error": "^4.0.1" }, @@ -13380,13 +13045,12 @@ }, "node_modules/remove-trailing-separator": { "version": "1.1.0", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + "license": "ISC" }, "node_modules/renderkid": { "version": "2.0.7", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", - "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", "dev": true, + "license": "MIT", "dependencies": { "css-select": "^4.1.3", "dom-converter": "^0.2.0", @@ -13397,18 +13061,16 @@ }, "node_modules/renderkid/node_modules/ansi-regex": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/renderkid/node_modules/strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^2.0.0" }, @@ -13418,40 +13080,40 @@ }, "node_modules/repeat-element": { "version": "1.1.4", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/repeat-string": { "version": "1.6.1", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "license": "MIT", "engines": { "node": ">=0.10" } }, "node_modules/require-directory": { "version": "2.1.1", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/require-from-string": { "version": "2.0.2", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/require-main-filename": { "version": "2.0.0", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/resolve": { "version": "1.17.0", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "license": "MIT", "dependencies": { "path-parse": "^1.0.6" }, @@ -13461,24 +13123,24 @@ }, "node_modules/resolve-from": { "version": "4.0.0", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/responselike": { "version": "1.0.2", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", "dev": true, + "license": "MIT", "dependencies": { "lowercase-keys": "^1.0.0" } }, "node_modules/restore-cursor": { "version": "2.0.0", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "dev": true, + "license": "MIT", "dependencies": { "onetime": "^2.0.0", "signal-exit": "^3.0.2" @@ -13489,16 +13151,16 @@ }, "node_modules/restore-cursor/node_modules/mimic-fn": { "version": "1.2.0", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/restore-cursor/node_modules/onetime": { "version": "2.0.1", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, + "license": "MIT", "dependencies": { "mimic-fn": "^1.0.0" }, @@ -13508,13 +13170,12 @@ }, "node_modules/retimer": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/retimer/-/retimer-3.0.0.tgz", - "integrity": "sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/reusify": { "version": "1.0.4", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -13522,7 +13183,7 @@ }, "node_modules/rimraf": { "version": "3.0.2", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -13535,7 +13196,7 @@ }, "node_modules/ripemd160": { "version": "2.0.2", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "license": "MIT", "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1" @@ -13543,7 +13204,7 @@ }, "node_modules/rlp": { "version": "2.2.6", - "integrity": "sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg==", + "license": "MPL-2.0", "dependencies": { "bn.js": "^4.11.1" }, @@ -13553,15 +13214,14 @@ }, "node_modules/run-async": { "version": "2.4.1", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.12.0" } }, "node_modules/run-parallel": { "version": "1.2.0", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "funding": [ { "type": "github", @@ -13576,18 +13236,19 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } }, "node_modules/rustbn.js": { "version": "0.2.0", - "integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==" + "license": "(MIT OR Apache-2.0)" }, "node_modules/rxjs": { "version": "6.6.7", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "tslib": "^1.9.0" }, @@ -13597,7 +13258,6 @@ }, "node_modules/safe-buffer": { "version": "5.2.1", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "funding": [ { "type": "github", @@ -13611,16 +13271,17 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/safer-buffer": { "version": "2.1.2", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "license": "MIT" }, "node_modules/sc-istanbul": { "version": "0.4.6", - "integrity": "sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "abbrev": "1.0.x", "async": "1.x", @@ -13643,18 +13304,18 @@ }, "node_modules/sc-istanbul/node_modules/abbrev": { "version": "1.0.9", - "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/sc-istanbul/node_modules/async": { "version": "1.5.2", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/sc-istanbul/node_modules/esprima": { "version": "2.7.3", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", "dev": true, + "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -13665,8 +13326,8 @@ }, "node_modules/sc-istanbul/node_modules/glob": { "version": "5.0.15", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", "dev": true, + "license": "ISC", "dependencies": { "inflight": "^1.0.4", "inherits": "2", @@ -13680,16 +13341,16 @@ }, "node_modules/sc-istanbul/node_modules/has-flag": { "version": "1.0.0", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/sc-istanbul/node_modules/nopt": { "version": "3.0.6", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", "dev": true, + "license": "ISC", "dependencies": { "abbrev": "1" }, @@ -13699,13 +13360,13 @@ }, "node_modules/sc-istanbul/node_modules/resolve": { "version": "1.1.7", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/sc-istanbul/node_modules/supports-color": { "version": "3.2.3", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^1.0.0" }, @@ -13715,8 +13376,8 @@ }, "node_modules/sc-istanbul/node_modules/which": { "version": "1.3.1", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -13726,17 +13387,17 @@ }, "node_modules/sc-istanbul/node_modules/wordwrap": { "version": "1.0.0", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/scrypt-js": { "version": "3.0.1", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" + "license": "MIT" }, "node_modules/secp256k1": { "version": "4.0.2", - "integrity": "sha512-UDar4sKvWAksIlfX3xIaQReADn+WFnHvbVujpcbr+9Sf/69odMwy2MUsz5CKLQgX9nsIyrjuxL2imVyoNHa3fg==", "hasInstallScript": true, + "license": "MIT", "dependencies": { "elliptic": "^6.5.2", "node-addon-api": "^2.0.0", @@ -13748,16 +13409,15 @@ }, "node_modules/semaphore-async-await": { "version": "1.5.1", - "integrity": "sha1-hXvvXjZEYBykuVcLh+nfXKEpdPo=", + "license": "MIT", "engines": { "node": ">=4.1" } }, "node_modules/semver": { "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "dev": true, + "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -13770,8 +13430,8 @@ }, "node_modules/semver/node_modules/lru-cache": { "version": "6.0.0", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, + "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -13781,13 +13441,13 @@ }, "node_modules/semver/node_modules/yallist": { "version": "4.0.0", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/send": { "version": "0.17.1", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", "dev": true, + "license": "MIT", "dependencies": { "debug": "2.6.9", "depd": "~1.1.2", @@ -13809,33 +13469,33 @@ }, "node_modules/send/node_modules/debug": { "version": "2.6.9", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/send/node_modules/ms": { "version": "2.1.1", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/serialize-javascript": { "version": "6.0.0", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" } }, "node_modules/serve-static": { "version": "1.14.1", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", "dev": true, + "license": "MIT", "dependencies": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", @@ -13848,8 +13508,8 @@ }, "node_modules/servify": { "version": "0.1.12", - "integrity": "sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==", "dev": true, + "license": "MIT", "dependencies": { "body-parser": "^1.16.0", "cors": "^2.8.1", @@ -13863,29 +13523,29 @@ }, "node_modules/servify/node_modules/assert-plus": { "version": "1.0.0", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8" } }, "node_modules/servify/node_modules/aws-sign2": { "version": "0.7.0", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", "dev": true, + "license": "Apache-2.0", "engines": { "node": "*" } }, "node_modules/servify/node_modules/caseless": { "version": "0.12.0", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true + "dev": true, + "license": "Apache-2.0" }, "node_modules/servify/node_modules/form-data": { "version": "2.3.3", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, + "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", @@ -13897,9 +13557,8 @@ }, "node_modules/servify/node_modules/har-validator": { "version": "5.1.5", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", "dev": true, + "license": "MIT", "dependencies": { "ajv": "^6.12.3", "har-schema": "^2.0.0" @@ -13910,8 +13569,8 @@ }, "node_modules/servify/node_modules/http-signature": { "version": "1.2.0", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, + "license": "MIT", "dependencies": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", @@ -13924,25 +13583,24 @@ }, "node_modules/servify/node_modules/oauth-sign": { "version": "0.9.0", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", "dev": true, + "license": "Apache-2.0", "engines": { "node": "*" } }, "node_modules/servify/node_modules/qs": { "version": "6.5.2", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.6" } }, "node_modules/servify/node_modules/request": { "version": "2.88.2", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", "dev": true, + "license": "Apache-2.0", "dependencies": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -13971,8 +13629,8 @@ }, "node_modules/servify/node_modules/tough-cookie": { "version": "2.5.0", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "psl": "^1.1.28", "punycode": "^2.1.1" @@ -13983,8 +13641,8 @@ }, "node_modules/servify/node_modules/tunnel-agent": { "version": "0.6.0", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, + "license": "Apache-2.0", "dependencies": { "safe-buffer": "^5.0.1" }, @@ -13994,20 +13652,20 @@ }, "node_modules/set-blocking": { "version": "2.0.0", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/setimmediate": { "version": "1.0.5", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + "license": "MIT" }, "node_modules/setprototypeof": { "version": "1.1.1", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + "license": "ISC" }, "node_modules/sha.js": { "version": "2.4.11", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "license": "(MIT AND BSD-3-Clause)", "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -14018,8 +13676,8 @@ }, "node_modules/shebang-command": { "version": "2.0.0", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -14029,16 +13687,16 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/shelljs": { "version": "0.8.4", - "integrity": "sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "glob": "^7.0.0", "interpret": "^1.0.0", @@ -14053,7 +13711,7 @@ }, "node_modules/side-channel": { "version": "1.0.4", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.0", "get-intrinsic": "^1.0.2", @@ -14065,12 +13723,11 @@ }, "node_modules/signal-exit": { "version": "3.0.3", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/simple-concat": { "version": "1.0.1", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", "dev": true, "funding": [ { @@ -14085,12 +13742,13 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/simple-get": { "version": "2.8.1", - "integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==", "dev": true, + "license": "MIT", "dependencies": { "decompress-response": "^3.3.0", "once": "^1.3.1", @@ -14099,9 +13757,8 @@ }, "node_modules/sinon": { "version": "11.1.2", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-11.1.2.tgz", - "integrity": "sha512-59237HChms4kg7/sXhiRcUzdSkKuydDeTiamT/jesUVHshBgL8XAmhgFo0GfK6RruMDM/iRSij1EybmMog9cJw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^1.8.3", "@sinonjs/fake-timers": "^7.1.2", @@ -14117,20 +13774,19 @@ }, "node_modules/sisteransi": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + "license": "MIT" }, "node_modules/slash": { "version": "3.0.0", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/slice-ansi": { "version": "4.0.0", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", @@ -14145,7 +13801,7 @@ }, "node_modules/solc": { "version": "0.7.3", - "integrity": "sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==", + "license": "MIT", "dependencies": { "command-exists": "^1.2.8", "commander": "3.0.2", @@ -14166,7 +13822,7 @@ }, "node_modules/solc/node_modules/fs-extra": { "version": "0.30.0", - "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "license": "MIT", "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^2.1.0", @@ -14177,18 +13833,18 @@ }, "node_modules/solc/node_modules/js-sha3": { "version": "0.8.0", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + "license": "MIT" }, "node_modules/solc/node_modules/jsonfile": { "version": "2.4.0", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "license": "MIT", "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "node_modules/solc/node_modules/rimraf": { "version": "2.7.1", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -14198,15 +13854,15 @@ }, "node_modules/solc/node_modules/semver": { "version": "5.7.1", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/solhint": { "version": "3.3.6", - "integrity": "sha512-HWUxTAv2h7hx3s3hAab3ifnlwb02ZWhwFU/wSudUHqteMS3ll9c+m1FlGn9V8ztE2rf3Z82fQZA005Wv7KpcFA==", "dev": true, + "license": "MIT", "dependencies": { "@solidity-parser/parser": "^0.13.2", "ajv": "^6.6.1", @@ -14232,16 +13888,16 @@ }, "node_modules/solhint/node_modules/@solidity-parser/parser": { "version": "0.13.2", - "integrity": "sha512-RwHnpRnfrnD2MSPveYoPh8nhofEvX7fgjHk1Oq+NNvCcLx4r1js91CO9o+F/F3fBzOCyvm8kKRTriFICX/odWw==", "dev": true, + "license": "MIT", "dependencies": { "antlr4ts": "^0.5.0-alpha.4" } }, "node_modules/solhint/node_modules/acorn": { "version": "6.4.2", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -14251,16 +13907,16 @@ }, "node_modules/solhint/node_modules/ansi-regex": { "version": "3.0.0", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/solhint/node_modules/ansi-styles": { "version": "3.2.1", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -14270,16 +13926,16 @@ }, "node_modules/solhint/node_modules/astral-regex": { "version": "1.0.0", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/solhint/node_modules/chalk": { "version": "2.4.2", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -14291,26 +13947,26 @@ }, "node_modules/solhint/node_modules/color-convert": { "version": "1.9.3", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "node_modules/solhint/node_modules/color-name": { "version": "1.1.3", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/solhint/node_modules/commander": { "version": "2.18.0", - "integrity": "sha512-6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/solhint/node_modules/cross-spawn": { "version": "6.0.5", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, + "license": "MIT", "dependencies": { "nice-try": "^1.0.4", "path-key": "^2.0.1", @@ -14324,29 +13980,29 @@ }, "node_modules/solhint/node_modules/cross-spawn/node_modules/semver": { "version": "5.7.1", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/solhint/node_modules/emoji-regex": { "version": "7.0.3", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/solhint/node_modules/escape-string-regexp": { "version": "1.0.5", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/solhint/node_modules/eslint": { "version": "5.16.0", - "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", "ajv": "^6.9.1", @@ -14394,8 +14050,8 @@ }, "node_modules/solhint/node_modules/eslint-scope": { "version": "4.0.3", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.1.0", "estraverse": "^4.1.1" @@ -14406,8 +14062,8 @@ }, "node_modules/solhint/node_modules/eslint-utils": { "version": "1.4.3", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", "dev": true, + "license": "MIT", "dependencies": { "eslint-visitor-keys": "^1.1.0" }, @@ -14417,24 +14073,24 @@ }, "node_modules/solhint/node_modules/eslint-visitor-keys": { "version": "1.3.0", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=4" } }, "node_modules/solhint/node_modules/eslint/node_modules/semver": { "version": "5.7.1", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/solhint/node_modules/espree": { "version": "5.0.1", - "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "acorn": "^6.0.7", "acorn-jsx": "^5.0.0", @@ -14446,8 +14102,8 @@ }, "node_modules/solhint/node_modules/file-entry-cache": { "version": "5.0.1", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", "dev": true, + "license": "MIT", "dependencies": { "flat-cache": "^2.0.1" }, @@ -14457,8 +14113,8 @@ }, "node_modules/solhint/node_modules/flat-cache": { "version": "2.0.1", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", "dev": true, + "license": "MIT", "dependencies": { "flatted": "^2.0.0", "rimraf": "2.6.3", @@ -14470,37 +14126,37 @@ }, "node_modules/solhint/node_modules/flatted": { "version": "2.0.2", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/solhint/node_modules/globals": { "version": "11.12.0", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/solhint/node_modules/has-flag": { "version": "3.0.0", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/solhint/node_modules/is-fullwidth-code-point": { "version": "2.0.0", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/solhint/node_modules/levn": { "version": "0.3.0", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "~1.1.2", "type-check": "~0.3.2" @@ -14511,8 +14167,8 @@ }, "node_modules/solhint/node_modules/optionator": { "version": "0.8.3", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", "dev": true, + "license": "MIT", "dependencies": { "deep-is": "~0.1.3", "fast-levenshtein": "~2.0.6", @@ -14527,15 +14183,14 @@ }, "node_modules/solhint/node_modules/path-key": { "version": "2.0.1", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/solhint/node_modules/prelude-ls": { "version": "1.1.2", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", "dev": true, "engines": { "node": ">= 0.8.0" @@ -14543,8 +14198,8 @@ }, "node_modules/solhint/node_modules/prettier": { "version": "1.19.1", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", "dev": true, + "license": "MIT", "optional": true, "bin": { "prettier": "bin-prettier.js" @@ -14555,16 +14210,16 @@ }, "node_modules/solhint/node_modules/regexpp": { "version": "2.0.1", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.5.0" } }, "node_modules/solhint/node_modules/rimraf": { "version": "2.6.3", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -14574,16 +14229,16 @@ }, "node_modules/solhint/node_modules/semver": { "version": "6.3.0", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/solhint/node_modules/shebang-command": { "version": "1.2.0", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, + "license": "MIT", "dependencies": { "shebang-regex": "^1.0.0" }, @@ -14593,16 +14248,16 @@ }, "node_modules/solhint/node_modules/shebang-regex": { "version": "1.0.0", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/solhint/node_modules/slice-ansi": { "version": "2.1.0", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^3.2.0", "astral-regex": "^1.0.0", @@ -14614,8 +14269,8 @@ }, "node_modules/solhint/node_modules/string-width": { "version": "3.1.0", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", @@ -14627,16 +14282,16 @@ }, "node_modules/solhint/node_modules/string-width/node_modules/ansi-regex": { "version": "4.1.0", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/solhint/node_modules/string-width/node_modules/strip-ansi": { "version": "5.2.0", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^4.1.0" }, @@ -14646,8 +14301,8 @@ }, "node_modules/solhint/node_modules/strip-ansi": { "version": "4.0.0", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^3.0.0" }, @@ -14657,16 +14312,16 @@ }, "node_modules/solhint/node_modules/strip-json-comments": { "version": "2.0.1", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/solhint/node_modules/supports-color": { "version": "5.5.0", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -14676,8 +14331,8 @@ }, "node_modules/solhint/node_modules/table": { "version": "5.4.6", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "ajv": "^6.10.2", "lodash": "^4.17.14", @@ -14690,8 +14345,8 @@ }, "node_modules/solhint/node_modules/type-check": { "version": "0.3.2", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "~1.1.2" }, @@ -14701,8 +14356,8 @@ }, "node_modules/solhint/node_modules/which": { "version": "1.3.1", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -14712,17 +14367,17 @@ }, "node_modules/solidity-ast": { "version": "0.4.26", - "integrity": "sha512-UR9Ip3QoiEvNON5lOA28JNEzKT+1fLFA4xpIbZSEl4CEnYr/a4Pj0qMJh0652UQ51pKplI/nncZsDOMzdHdCcg==" + "license": "MIT" }, "node_modules/solidity-comments-extractor": { "version": "0.0.7", - "integrity": "sha512-wciNMLg/Irp8OKGrh3S2tfvZiZ0NEyILfcRCXCD4mp7SgK/i9gzLfhY2hY7VMCQJ3kH9UB9BzNdibIVMchzyYw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/solidity-coverage": { "version": "0.7.17", - "integrity": "sha512-Erw2hd2xdACAvDX8jUdYkmgJlIIazGznwDJA5dhRaw4def2SisXN9jUjneeyOZnl/E7j6D3XJYug4Zg9iwodsg==", "dev": true, + "license": "ISC", "dependencies": { "@solidity-parser/parser": "^0.13.2", "@truffle/provider": "^0.2.24", @@ -14750,16 +14405,16 @@ }, "node_modules/solidity-coverage/node_modules/@solidity-parser/parser": { "version": "0.13.2", - "integrity": "sha512-RwHnpRnfrnD2MSPveYoPh8nhofEvX7fgjHk1Oq+NNvCcLx4r1js91CO9o+F/F3fBzOCyvm8kKRTriFICX/odWw==", "dev": true, + "license": "MIT", "dependencies": { "antlr4ts": "^0.5.0-alpha.4" } }, "node_modules/solidity-coverage/node_modules/ansi-styles": { "version": "3.2.1", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -14769,8 +14424,8 @@ }, "node_modules/solidity-coverage/node_modules/chalk": { "version": "2.4.2", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -14782,29 +14437,29 @@ }, "node_modules/solidity-coverage/node_modules/color-convert": { "version": "1.9.3", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "node_modules/solidity-coverage/node_modules/color-name": { "version": "1.1.3", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/solidity-coverage/node_modules/escape-string-regexp": { "version": "1.0.5", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/solidity-coverage/node_modules/fs-extra": { "version": "8.1.0", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "dev": true, + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", @@ -14816,8 +14471,8 @@ }, "node_modules/solidity-coverage/node_modules/globby": { "version": "10.0.2", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", "dev": true, + "license": "MIT", "dependencies": { "@types/glob": "^7.1.1", "array-union": "^2.1.0", @@ -14834,32 +14489,32 @@ }, "node_modules/solidity-coverage/node_modules/has-flag": { "version": "3.0.0", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/solidity-coverage/node_modules/ignore": { "version": "5.1.8", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/solidity-coverage/node_modules/pify": { "version": "4.0.1", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/solidity-coverage/node_modules/supports-color": { "version": "5.5.0", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -14869,20 +14524,19 @@ }, "node_modules/solidity-parser-antlr": { "version": "0.4.11", - "resolved": "https://registry.npmjs.org/solidity-parser-antlr/-/solidity-parser-antlr-0.4.11.tgz", - "integrity": "sha512-4jtxasNGmyC0midtjH/lTFPZYvTTUMy6agYcF+HoMnzW8+cqo3piFrINb4ZCzpPW+7tTVFCGa5ubP34zOzeuMg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/source-map": { "version": "0.6.1", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-support": { "version": "0.5.20", - "integrity": "sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==", + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -14890,9 +14544,9 @@ }, "node_modules/spawn-sync": { "version": "1.0.15", - "integrity": "sha1-sAeZVX63+wyDdsKdROih6mfldHY=", "dev": true, "hasInstallScript": true, + "license": "MIT", "dependencies": { "concat-stream": "^1.4.7", "os-shim": "^0.1.2" @@ -14900,8 +14554,8 @@ }, "node_modules/spawn-wrap": { "version": "2.0.0", - "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", "dev": true, + "license": "ISC", "dependencies": { "foreground-child": "^2.0.0", "is-windows": "^1.0.2", @@ -14916,12 +14570,12 @@ }, "node_modules/sprintf-js": { "version": "1.0.3", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + "license": "BSD-3-Clause" }, "node_modules/sshpk": { "version": "1.16.1", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", "dev": true, + "license": "MIT", "dependencies": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -14944,20 +14598,20 @@ }, "node_modules/sshpk/node_modules/assert-plus": { "version": "1.0.0", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8" } }, "node_modules/sshpk/node_modules/tweetnacl": { "version": "0.14.5", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true + "dev": true, + "license": "Unlicense" }, "node_modules/stacktrace-parser": { "version": "0.1.10", - "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", + "license": "MIT", "dependencies": { "type-fest": "^0.7.1" }, @@ -14967,50 +14621,48 @@ }, "node_modules/stacktrace-parser/node_modules/type-fest": { "version": "0.7.1", - "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" } }, "node_modules/statuses": { "version": "1.5.0", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/stream-to-it": { "version": "0.2.4", - "resolved": "https://registry.npmjs.org/stream-to-it/-/stream-to-it-0.2.4.tgz", - "integrity": "sha512-4vEbkSs83OahpmBybNJXlJd7d6/RxzkkSdT3I0mnGt79Xd2Kk+e1JqbvAvsQfCeKj3aKb0QIWkyK3/n0j506vQ==", "dev": true, + "license": "MIT", "dependencies": { "get-iterator": "^1.0.2" } }, "node_modules/strict-uri-encode": { "version": "1.1.0", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/string_decoder": { "version": "1.3.0", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", "dependencies": { "safe-buffer": "~5.2.0" } }, "node_modules/string-natural-compare": { "version": "3.0.1", - "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" + "license": "MIT" }, "node_modules/string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -15022,12 +14674,12 @@ }, "node_modules/string-width/node_modules/emoji-regex": { "version": "8.0.0", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "license": "MIT" }, "node_modules/string.prototype.trimend": { "version": "1.0.4", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" @@ -15038,8 +14690,8 @@ }, "node_modules/string.prototype.trimstart": { "version": "1.0.4", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" @@ -15050,8 +14702,7 @@ }, "node_modules/strip-ansi": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -15061,15 +14712,15 @@ }, "node_modules/strip-final-newline": { "version": "2.0.0", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/strip-hex-prefix": { "version": "1.0.0", - "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=", + "license": "MIT", "dependencies": { "is-hex-prefixed": "1.0.0" }, @@ -15080,7 +14731,7 @@ }, "node_modules/strip-json-comments": { "version": "3.1.1", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "license": "MIT", "engines": { "node": ">=8" }, @@ -15090,7 +14741,7 @@ }, "node_modules/supports-color": { "version": "7.2.0", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -15100,8 +14751,8 @@ }, "node_modules/swarm-js": { "version": "0.1.40", - "integrity": "sha512-yqiOCEoA4/IShXkY3WKwP5PvZhmoOOD8clsKA7EEcRILMkTEYHCQ21HDCAcVpmIxZq4LyZvWeRJ6quIyHk1caA==", "dev": true, + "license": "MIT", "dependencies": { "bluebird": "^3.5.0", "buffer": "^5.0.5", @@ -15118,13 +14769,13 @@ }, "node_modules/swarm-js/node_modules/bluebird": { "version": "3.7.2", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/swarm-js/node_modules/fs-extra": { "version": "4.0.3", - "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", "dev": true, + "license": "MIT", "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -15133,16 +14784,16 @@ }, "node_modules/swarm-js/node_modules/get-stream": { "version": "3.0.0", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/swarm-js/node_modules/got": { "version": "7.1.0", - "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", "dev": true, + "license": "MIT", "dependencies": { "decompress-response": "^3.2.0", "duplexer3": "^0.1.4", @@ -15165,40 +14816,40 @@ }, "node_modules/swarm-js/node_modules/is-plain-obj": { "version": "1.1.0", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/swarm-js/node_modules/is-stream": { "version": "1.1.0", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/swarm-js/node_modules/p-cancelable": { "version": "0.3.0", - "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/swarm-js/node_modules/prepend-http": { "version": "1.0.4", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/swarm-js/node_modules/url-parse-lax": { "version": "1.0.0", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "dev": true, + "license": "MIT", "dependencies": { "prepend-http": "^1.0.1" }, @@ -15208,9 +14859,8 @@ }, "node_modules/table": { "version": "6.8.0", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", - "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "ajv": "^8.0.1", "lodash.truncate": "^4.4.2", @@ -15224,8 +14874,8 @@ }, "node_modules/table/node_modules/ajv": { "version": "8.6.3", - "integrity": "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==", "dev": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -15239,13 +14889,13 @@ }, "node_modules/table/node_modules/json-schema-traverse": { "version": "1.0.0", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/tar": { "version": "4.4.19", - "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", "dev": true, + "license": "ISC", "dependencies": { "chownr": "^1.1.4", "fs-minipass": "^1.2.7", @@ -15261,9 +14911,8 @@ }, "node_modules/tar-fs": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", "dev": true, + "license": "MIT", "dependencies": { "chownr": "^1.1.1", "mkdirp-classic": "^0.5.2", @@ -15273,9 +14922,8 @@ }, "node_modules/tar-stream": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", "dev": true, + "license": "MIT", "dependencies": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", @@ -15289,8 +14937,8 @@ }, "node_modules/test-exclude": { "version": "6.0.0", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, + "license": "ISC", "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", @@ -15302,34 +14950,33 @@ }, "node_modules/text-table": { "version": "0.2.0", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/through": { "version": "2.3.8", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/timed-out": { "version": "4.0.1", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/timeout-abort-controller": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/timeout-abort-controller/-/timeout-abort-controller-3.0.0.tgz", - "integrity": "sha512-O3e+2B8BKrQxU2YRyEjC/2yFdb33slI22WRdUaDx6rvysfi9anloNZyR2q0l6LnePo5qH7gSM7uZtvvwZbc2yA==", "dev": true, + "license": "MIT", "dependencies": { "retimer": "^3.0.0" } }, "node_modules/tmp": { "version": "0.0.33", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "license": "MIT", "dependencies": { "os-tmpdir": "~1.0.2" }, @@ -15339,23 +14986,23 @@ }, "node_modules/to-fast-properties": { "version": "2.0.0", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/to-readable-stream": { "version": "1.0.0", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/to-regex-range": { "version": "5.0.1", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -15365,40 +15012,40 @@ }, "node_modules/toidentifier": { "version": "1.0.0", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "license": "MIT", "engines": { "node": ">=0.6" } }, "node_modules/true-case-path": { "version": "2.2.1", - "integrity": "sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==" + "license": "Apache-2.0" }, "node_modules/tslib": { "version": "1.14.1", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "license": "0BSD" }, "node_modules/tsort": { "version": "0.0.1", - "integrity": "sha1-4igPXoF/i/QnVlf9D5rr1E9aJ4Y=" + "license": "MIT" }, "node_modules/tweetnacl": { "version": "1.0.3", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" + "license": "Unlicense" }, "node_modules/tweetnacl-util": { "version": "0.15.1", - "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==" + "license": "Unlicense" }, "node_modules/type": { "version": "1.2.0", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/type-check": { "version": "0.4.0", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -15408,17 +15055,16 @@ }, "node_modules/type-detect": { "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/type-fest": { "version": "0.20.2", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -15428,8 +15074,8 @@ }, "node_modules/type-is": { "version": "1.6.18", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, + "license": "MIT", "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" @@ -15440,22 +15086,21 @@ }, "node_modules/typedarray": { "version": "0.0.6", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/typedarray-to-buffer": { "version": "3.1.5", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", "dev": true, + "license": "MIT", "dependencies": { "is-typedarray": "^1.0.0" } }, "node_modules/typescript": { "version": "4.7.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", - "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -15466,17 +15111,16 @@ }, "node_modules/uint8arrays": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", - "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", "dev": true, + "license": "MIT", "dependencies": { "multiformats": "^9.4.2" } }, "node_modules/unbox-primitive": { "version": "1.0.1", - "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", "dev": true, + "license": "MIT", "dependencies": { "function-bind": "^1.1.1", "has-bigints": "^1.0.1", @@ -15489,38 +15133,37 @@ }, "node_modules/undici": { "version": "4.16.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-4.16.0.tgz", - "integrity": "sha512-tkZSECUYi+/T1i4u+4+lwZmQgLXd4BLGlrc7KZPcLIW7Jpq99+Xpc30ONv7nS6F5UNOxp/HBZSSL9MafUrvJbw==", + "license": "MIT", "engines": { "node": ">=12.18" } }, "node_modules/universalify": { "version": "0.1.2", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "license": "MIT", "engines": { "node": ">= 4.0.0" } }, "node_modules/unpipe": { "version": "1.0.0", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/uri-js": { "version": "4.4.1", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } }, "node_modules/url-parse-lax": { "version": "3.0.0", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", "dev": true, + "license": "MIT", "dependencies": { "prepend-http": "^2.0.0" }, @@ -15530,26 +15173,26 @@ }, "node_modules/url-set-query": { "version": "1.0.0", - "integrity": "sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/url-to-options": { "version": "1.0.1", - "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/use-strict": { "version": "1.0.1", - "integrity": "sha1-C7gNlPSaSgUZK4Sox9NOlfGn46A=" + "license": "ISC" }, "node_modules/utf-8-validate": { "version": "5.0.6", - "integrity": "sha512-hoY0gOf9EkCw+nimK21FVKHUIG1BMqSiRwxB/q3A9yKZOrOI99PP77BxmarDqWz6rG3vVYiBWfhG8z2Tl+7fZA==", "devOptional": true, "hasInstallScript": true, + "license": "MIT", "dependencies": { "node-gyp-build": "^4.2.0" }, @@ -15559,13 +15202,13 @@ }, "node_modules/utf8": { "version": "3.0.0", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/util": { "version": "0.12.4", - "integrity": "sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "is-arguments": "^1.0.4", @@ -15577,56 +15220,54 @@ }, "node_modules/util-deprecate": { "version": "1.0.2", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "license": "MIT" }, "node_modules/utila": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/utils-merge": { "version": "1.0.1", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4.0" } }, "node_modules/uuid": { "version": "3.4.0", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", "dev": true, + "license": "MIT", "bin": { "uuid": "bin/uuid" } }, "node_modules/v8-compile-cache": { "version": "2.3.0", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/varint": { "version": "5.0.2", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/vary": { "version": "1.1.2", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/verror": { "version": "1.10.0", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "engines": [ "node >=0.6.0" ], + "license": "MIT", "dependencies": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", @@ -15635,31 +15276,30 @@ }, "node_modules/verror/node_modules/assert-plus": { "version": "1.0.0", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8" } }, "node_modules/verror/node_modules/core-util-is": { "version": "1.0.2", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/wcwidth": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", "dev": true, + "license": "MIT", "dependencies": { "defaults": "^1.0.3" } }, "node_modules/web3": { "version": "1.5.3", - "integrity": "sha512-eyBg/1K44flfv0hPjXfKvNwcUfIVDI4NX48qHQe6wd7C8nPSdbWqo9vLy6ksZIt9NLa90HjI8HsGYgnMSUxn6w==", "dev": true, "hasInstallScript": true, + "license": "LGPL-3.0", "dependencies": { "web3-bzz": "1.5.3", "web3-core": "1.5.3", @@ -15675,9 +15315,9 @@ }, "node_modules/web3-bzz": { "version": "1.5.3", - "integrity": "sha512-SlIkAqG0eS6cBS9Q2eBOTI1XFzqh83RqGJWnyrNZMDxUwsTVHL+zNnaPShVPvrWQA1Ub5b0bx1Kc5+qJVxsTJg==", "dev": true, "hasInstallScript": true, + "license": "LGPL-3.0", "dependencies": { "@types/node": "^12.12.6", "got": "9.6.0", @@ -15689,13 +15329,13 @@ }, "node_modules/web3-bzz/node_modules/@types/node": { "version": "12.20.27", - "integrity": "sha512-qZdePUDSLAZRXXV234bLBEUM0nAQjoxbcSwp1rqSMUe1rZ47mwU6OjciR/JvF1Oo8mc0ys6GE0ks0HGgqAZoGg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/web3-core": { "version": "1.5.3", - "integrity": "sha512-ACTbu8COCu+0eUNmd9pG7Q9EVsNkAg2w3Y7SqhDr+zjTgbSHZV01jXKlapm9z+G3AN/BziV3zGwudClJ4u4xXQ==", "dev": true, + "license": "LGPL-3.0", "dependencies": { "@types/bn.js": "^4.11.5", "@types/node": "^12.12.6", @@ -15711,8 +15351,8 @@ }, "node_modules/web3-core-helpers": { "version": "1.5.3", - "integrity": "sha512-Ip1IjB3S8vN7Kf1PPjK41U5gskmMk6IJQlxIVuS8/1U7n/o0jC8krqtpRwiMfAgYyw3TXwBFtxSRTvJtnLyXZw==", "dev": true, + "license": "LGPL-3.0", "dependencies": { "web3-eth-iban": "1.5.3", "web3-utils": "1.5.3" @@ -15723,8 +15363,8 @@ }, "node_modules/web3-core-method": { "version": "1.5.3", - "integrity": "sha512-8wJrwQ2qD9ibWieF9oHXwrJsUGrv3XAtEkNeyvyNMpktNTIjxJ2jaFGQUuLiyUrMubD18XXgLk4JS6PJU4Loeg==", "dev": true, + "license": "LGPL-3.0", "dependencies": { "@ethereumjs/common": "^2.4.0", "@ethersproject/transactions": "^5.0.0-beta.135", @@ -15739,8 +15379,8 @@ }, "node_modules/web3-core-promievent": { "version": "1.5.3", - "integrity": "sha512-CFfgqvk3Vk6PIAxtLLuX+pOMozxkKCY+/GdGr7weMh033mDXEPvwyVjoSRO1PqIKj668/hMGQsVoIgbyxkJ9Mg==", "dev": true, + "license": "LGPL-3.0", "dependencies": { "eventemitter3": "4.0.4" }, @@ -15750,13 +15390,13 @@ }, "node_modules/web3-core-promievent/node_modules/eventemitter3": { "version": "4.0.4", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/web3-core-requestmanager": { "version": "1.5.3", - "integrity": "sha512-9k/Bze2rs8ONix5IZR+hYdMNQv+ark2Ek2kVcrFgWO+LdLgZui/rn8FikPunjE+ub7x7pJaKCgVRbYFXjo3ZWg==", "dev": true, + "license": "LGPL-3.0", "dependencies": { "util": "^0.12.0", "web3-core-helpers": "1.5.3", @@ -15770,8 +15410,8 @@ }, "node_modules/web3-core-subscriptions": { "version": "1.5.3", - "integrity": "sha512-L2m9vG1iRN6thvmv/HQwO2YLhOQlmZU8dpLG6GSo9FBN14Uch868Swk0dYVr3rFSYjZ/GETevSXU+O+vhCummA==", "dev": true, + "license": "LGPL-3.0", "dependencies": { "eventemitter3": "4.0.4", "web3-core-helpers": "1.5.3" @@ -15782,26 +15422,26 @@ }, "node_modules/web3-core-subscriptions/node_modules/eventemitter3": { "version": "4.0.4", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/web3-core/node_modules/@types/bn.js": { "version": "4.11.6", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/web3-core/node_modules/@types/node": { "version": "12.20.27", - "integrity": "sha512-qZdePUDSLAZRXXV234bLBEUM0nAQjoxbcSwp1rqSMUe1rZ47mwU6OjciR/JvF1Oo8mc0ys6GE0ks0HGgqAZoGg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/web3-eth": { "version": "1.5.3", - "integrity": "sha512-saFurA1L23Bd7MEf7cBli6/jRdMhD4X/NaMiO2mdMMCXlPujoudlIJf+VWpRWJpsbDFdu7XJ2WHkmBYT5R3p1Q==", "dev": true, + "license": "LGPL-3.0", "dependencies": { "web3-core": "1.5.3", "web3-core-helpers": "1.5.3", @@ -15822,8 +15462,8 @@ }, "node_modules/web3-eth-abi": { "version": "1.5.3", - "integrity": "sha512-i/qhuFsoNrnV130CSRYX/z4SlCfSQ4mHntti5yTmmQpt70xZKYZ57BsU0R29ueSQ9/P+aQrL2t2rqkQkAloUxg==", "dev": true, + "license": "LGPL-3.0", "dependencies": { "@ethersproject/abi": "5.0.7", "web3-utils": "1.5.3" @@ -15834,8 +15474,8 @@ }, "node_modules/web3-eth-abi/node_modules/@ethersproject/abi": { "version": "5.0.7", - "integrity": "sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw==", "dev": true, + "license": "MIT", "dependencies": { "@ethersproject/address": "^5.0.4", "@ethersproject/bignumber": "^5.0.7", @@ -15850,8 +15490,8 @@ }, "node_modules/web3-eth-accounts": { "version": "1.5.3", - "integrity": "sha512-pdGhXgeBaEJENMvRT6W9cmji3Zz/46ugFSvmnLLw79qi5EH7XJhKISNVb41eWCrs4am5GhI67GLx5d2s2a72iw==", "dev": true, + "license": "LGPL-3.0", "dependencies": { "@ethereumjs/common": "^2.3.0", "@ethereumjs/tx": "^3.2.1", @@ -15871,8 +15511,8 @@ }, "node_modules/web3-eth-accounts/node_modules/eth-lib": { "version": "0.2.8", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", "dev": true, + "license": "MIT", "dependencies": { "bn.js": "^4.11.6", "elliptic": "^6.4.0", @@ -15881,17 +15521,16 @@ }, "node_modules/web3-eth-accounts/node_modules/uuid": { "version": "3.3.2", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", "dev": true, + "license": "MIT", "bin": { "uuid": "bin/uuid" } }, "node_modules/web3-eth-contract": { "version": "1.5.3", - "integrity": "sha512-Gdlt1L6cdHe83k7SdV6xhqCytVtOZkjD0kY/15x441AuuJ4JLubCHuqu69k2Dr3tWifHYVys/vG8QE/W16syGg==", "dev": true, + "license": "LGPL-3.0", "dependencies": { "@types/bn.js": "^4.11.5", "web3-core": "1.5.3", @@ -15908,16 +15547,16 @@ }, "node_modules/web3-eth-contract/node_modules/@types/bn.js": { "version": "4.11.6", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/web3-eth-ens": { "version": "1.5.3", - "integrity": "sha512-QmGFFtTGElg0E+3xfCIFhiUF+1imFi9eg/cdsRMUZU4F1+MZCC/ee+IAelYLfNTGsEslCqfAusliKOT9DdGGnw==", "dev": true, + "license": "LGPL-3.0", "dependencies": { "content-hash": "^2.5.2", "eth-ens-namehash": "2.0.8", @@ -15934,8 +15573,8 @@ }, "node_modules/web3-eth-iban": { "version": "1.5.3", - "integrity": "sha512-vMzmGqolYZvRHwP9P4Nf6G8uYM5aTLlQu2a34vz78p0KlDC+eV1th3+90Qeaupa28EG7OO0IT1F0BejiIauOPw==", "dev": true, + "license": "LGPL-3.0", "dependencies": { "bn.js": "^4.11.9", "web3-utils": "1.5.3" @@ -15946,8 +15585,8 @@ }, "node_modules/web3-eth-personal": { "version": "1.5.3", - "integrity": "sha512-JzibJafR7ak/Icas8uvos3BmUNrZw1vShuNR5Cxjo+vteOC8XMqz1Vr7RH65B4bmlfb3bm9xLxetUHO894+Sew==", "dev": true, + "license": "LGPL-3.0", "dependencies": { "@types/node": "^12.12.6", "web3-core": "1.5.3", @@ -15962,13 +15601,13 @@ }, "node_modules/web3-eth-personal/node_modules/@types/node": { "version": "12.20.27", - "integrity": "sha512-qZdePUDSLAZRXXV234bLBEUM0nAQjoxbcSwp1rqSMUe1rZ47mwU6OjciR/JvF1Oo8mc0ys6GE0ks0HGgqAZoGg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/web3-net": { "version": "1.5.3", - "integrity": "sha512-0W/xHIPvgVXPSdLu0iZYnpcrgNnhzHMC888uMlGP5+qMCt8VuflUZHy7tYXae9Mzsg1kxaJAS5lHVNyeNw4CoQ==", "dev": true, + "license": "LGPL-3.0", "dependencies": { "web3-core": "1.5.3", "web3-core-method": "1.5.3", @@ -15980,8 +15619,8 @@ }, "node_modules/web3-providers-http": { "version": "1.5.3", - "integrity": "sha512-5DpUyWGHtDAr2RYmBu34Fu+4gJuBAuNx2POeiJIooUtJ+Mu6pIx4XkONWH6V+Ez87tZAVAsFOkJRTYuzMr3rPw==", "dev": true, + "license": "LGPL-3.0", "dependencies": { "web3-core-helpers": "1.5.3", "xhr2-cookies": "1.1.0" @@ -15992,8 +15631,8 @@ }, "node_modules/web3-providers-ipc": { "version": "1.5.3", - "integrity": "sha512-JmeAptugVpmXI39LGxUSAymx0NOFdgpuI1hGQfIhbEAcd4sv7fhfd5D+ZU4oLHbRI8IFr4qfGU0uhR8BXhDzlg==", "dev": true, + "license": "LGPL-3.0", "dependencies": { "oboe": "2.1.5", "web3-core-helpers": "1.5.3" @@ -16004,8 +15643,8 @@ }, "node_modules/web3-providers-ws": { "version": "1.5.3", - "integrity": "sha512-6DhTw4Q7nm5CFYEUHOJM0gAb3xFx+9gWpVveg3YxJ/ybR1BUvEWo3bLgIJJtX56cYX0WyY6DS35a7f0LOI1kVg==", "dev": true, + "license": "LGPL-3.0", "dependencies": { "eventemitter3": "4.0.4", "web3-core-helpers": "1.5.3", @@ -16017,14 +15656,14 @@ }, "node_modules/web3-providers-ws/node_modules/eventemitter3": { "version": "4.0.4", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/web3-shh": { "version": "1.5.3", - "integrity": "sha512-COfEXfsqoV/BkcsNLRxQqnWc1Teb8/9GxdGag5GtPC5gQC/vsN+7hYVJUwNxY9LtJPKYTij2DHHnx6UkITng+Q==", "dev": true, "hasInstallScript": true, + "license": "LGPL-3.0", "dependencies": { "web3-core": "1.5.3", "web3-core-method": "1.5.3", @@ -16037,8 +15676,8 @@ }, "node_modules/web3-utils": { "version": "1.5.3", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", "dev": true, + "license": "LGPL-3.0", "dependencies": { "bn.js": "^4.11.9", "eth-lib": "0.2.8", @@ -16054,8 +15693,8 @@ }, "node_modules/web3-utils/node_modules/eth-lib": { "version": "0.2.8", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", "dev": true, + "license": "MIT", "dependencies": { "bn.js": "^4.11.6", "elliptic": "^6.4.0", @@ -16064,8 +15703,8 @@ }, "node_modules/websocket": { "version": "1.0.34", - "integrity": "sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "bufferutil": "^4.0.1", "debug": "^2.2.0", @@ -16080,20 +15719,20 @@ }, "node_modules/websocket/node_modules/debug": { "version": "2.6.9", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/websocket/node_modules/ms": { "version": "2.0.0", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/which": { "version": "2.0.2", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -16106,8 +15745,8 @@ }, "node_modules/which-boxed-primitive": { "version": "1.0.2", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dev": true, + "license": "MIT", "dependencies": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", @@ -16121,13 +15760,13 @@ }, "node_modules/which-module": { "version": "2.0.0", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/which-typed-array": { "version": "1.1.7", - "integrity": "sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw==", "dev": true, + "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", @@ -16145,32 +15784,32 @@ }, "node_modules/wide-align": { "version": "1.1.3", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "dev": true, + "license": "ISC", "dependencies": { "string-width": "^1.0.2 || 2" } }, "node_modules/wide-align/node_modules/ansi-regex": { "version": "3.0.0", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/wide-align/node_modules/is-fullwidth-code-point": { "version": "2.0.0", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/wide-align/node_modules/string-width": { "version": "2.1.1", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, + "license": "MIT", "dependencies": { "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^4.0.0" @@ -16181,8 +15820,8 @@ }, "node_modules/wide-align/node_modules/strip-ansi": { "version": "4.0.0", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^3.0.0" }, @@ -16192,21 +15831,20 @@ }, "node_modules/word-wrap": { "version": "1.2.3", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/workerpool": { "version": "6.1.5", - "integrity": "sha512-XdKkCK0Zqc6w3iTxLckiuJ81tiD/o5rBE/m+nXpRCB+/Sq4DqkfXZ/x0jW02DG1tGsfUGXbTJyZDP+eu67haSw==", - "dev": true + "dev": true, + "license": "Apache-2.0" }, "node_modules/wrap-ansi": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -16221,12 +15859,12 @@ }, "node_modules/wrappy": { "version": "1.0.2", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "license": "ISC" }, "node_modules/write": { "version": "1.0.3", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", "dev": true, + "license": "MIT", "dependencies": { "mkdirp": "^0.5.1" }, @@ -16236,8 +15874,8 @@ }, "node_modules/write-file-atomic": { "version": "3.0.3", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", "dev": true, + "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", "is-typedarray": "^1.0.0", @@ -16247,7 +15885,7 @@ }, "node_modules/ws": { "version": "7.5.5", - "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==", + "license": "MIT", "engines": { "node": ">=8.3.0" }, @@ -16266,8 +15904,8 @@ }, "node_modules/xhr": { "version": "2.6.0", - "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", "dev": true, + "license": "MIT", "dependencies": { "global": "~4.4.0", "is-function": "^1.0.1", @@ -16277,8 +15915,8 @@ }, "node_modules/xhr-request": { "version": "1.1.0", - "integrity": "sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==", "dev": true, + "license": "MIT", "dependencies": { "buffer-to-arraybuffer": "^0.0.5", "object-assign": "^4.1.1", @@ -16291,56 +15929,55 @@ }, "node_modules/xhr-request-promise": { "version": "0.1.3", - "integrity": "sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg==", "dev": true, + "license": "MIT", "dependencies": { "xhr-request": "^1.1.0" } }, "node_modules/xhr2-cookies": { "version": "1.1.0", - "integrity": "sha1-fXdEnQmZGX8VXLc7I99yUF7YnUg=", "dev": true, + "license": "MIT", "dependencies": { "cookiejar": "^2.1.1" } }, "node_modules/xmlhttprequest": { "version": "1.8.0", - "integrity": "sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.4.0" } }, "node_modules/xtend": { "version": "4.0.2", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "license": "MIT", "engines": { "node": ">=0.4" } }, "node_modules/y18n": { "version": "4.0.3", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/yaeti": { "version": "0.0.6", - "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.32" } }, "node_modules/yallist": { "version": "3.1.1", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "license": "ISC" }, "node_modules/yargs": { "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "license": "MIT", "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -16356,16 +15993,14 @@ }, "node_modules/yargs-parser": { "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "license": "ISC", "engines": { "node": ">=10" } }, "node_modules/yargs-unparser": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "license": "MIT", "dependencies": { "camelcase": "^6.0.0", "decamelize": "^4.0.0", @@ -16378,8 +16013,7 @@ }, "node_modules/yargs-unparser/node_modules/camelcase": { "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -16389,8 +16023,7 @@ }, "node_modules/yargs-unparser/node_modules/decamelize": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -16400,15 +16033,14 @@ }, "node_modules/yargs/node_modules/y18n": { "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", "engines": { "node": ">=10" } }, "node_modules/yocto-queue": { "version": "0.1.0", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -16423,7 +16055,6 @@ "packages/cli": { "name": "@synthetixio/cli", "version": "1.0.0", - "integrity": "sha1-7gffwTkOPy5qmVfPiOHUv6d3cZ0=", "license": "MIT", "dependencies": { "fuse.js": "6.6.2", @@ -16442,15 +16073,13 @@ }, "packages/cli/node_modules/argparse": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "dev": true, + "license": "Python-2.0" }, "packages/cli/node_modules/debug": { "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -16465,9 +16094,8 @@ }, "packages/cli/node_modules/find-up": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -16481,9 +16109,8 @@ }, "packages/cli/node_modules/js-yaml": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -16493,9 +16120,8 @@ }, "packages/cli/node_modules/locate-path": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -16508,9 +16134,8 @@ }, "packages/cli/node_modules/mocha": { "version": "9.1.1", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.1.1.tgz", - "integrity": "sha512-0wE74YMgOkCgBUj8VyIDwmLUjTsS13WV1Pg7l0SHea2qzZzlq7MDnfbPsHKcELBRk3+izEVkRofjmClpycudCA==", "dev": true, + "license": "MIT", "dependencies": { "@ungap/promise-all-settled": "1.1.2", "ansi-colors": "4.1.1", @@ -16552,15 +16177,13 @@ }, "packages/cli/node_modules/mocha/node_modules/ms": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true + "dev": true, + "license": "MIT" }, "packages/cli/node_modules/p-limit": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, + "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -16573,9 +16196,8 @@ }, "packages/cli/node_modules/p-locate": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -16588,17 +16210,15 @@ }, "packages/cli/node_modules/path-exists": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "packages/cli/node_modules/prompts": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.1.tgz", - "integrity": "sha512-qIP2lQyCwYbdzcqHIUi2HAxiWixhoM9OdLCWf8txXsapC/X9YdsCoeyRIXE/GP+Q0J37Q7+XN/MFqbUa7IzXNA==", + "license": "MIT", "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.4" @@ -16609,9 +16229,8 @@ }, "packages/cli/node_modules/supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -16641,7 +16260,6 @@ "packages/core-js": { "name": "@synthetixio/core-js", "version": "1.0.0", - "integrity": "sha1-X4ccZL9HxegLu/nwf92dqwYI/Wk=", "dependencies": { "chalk": "4.1.2", "ethers": "5.5.1" @@ -16656,15 +16274,13 @@ }, "packages/core-js/node_modules/argparse": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "dev": true, + "license": "Python-2.0" }, "packages/core-js/node_modules/find-up": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -16678,9 +16294,8 @@ }, "packages/core-js/node_modules/locate-path": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -16693,9 +16308,8 @@ }, "packages/core-js/node_modules/mocha": { "version": "9.1.1", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.1.1.tgz", - "integrity": "sha512-0wE74YMgOkCgBUj8VyIDwmLUjTsS13WV1Pg7l0SHea2qzZzlq7MDnfbPsHKcELBRk3+izEVkRofjmClpycudCA==", "dev": true, + "license": "MIT", "dependencies": { "@ungap/promise-all-settled": "1.1.2", "ansi-colors": "4.1.1", @@ -16737,9 +16351,8 @@ }, "packages/core-js/node_modules/mocha/node_modules/debug": { "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -16754,15 +16367,13 @@ }, "packages/core-js/node_modules/mocha/node_modules/debug/node_modules/ms": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "dev": true, + "license": "MIT" }, "packages/core-js/node_modules/mocha/node_modules/js-yaml": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -16772,15 +16383,13 @@ }, "packages/core-js/node_modules/mocha/node_modules/ms": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true + "dev": true, + "license": "MIT" }, "packages/core-js/node_modules/mocha/node_modules/supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -16793,9 +16402,8 @@ }, "packages/core-js/node_modules/p-limit": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, + "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -16808,9 +16416,8 @@ }, "packages/core-js/node_modules/p-locate": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -16823,9 +16430,8 @@ }, "packages/core-js/node_modules/path-exists": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -16865,14 +16471,12 @@ }, "packages/deployer/node_modules/argparse": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "dev": true, + "license": "Python-2.0" }, "packages/deployer/node_modules/axios": { "version": "0.27.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", - "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "license": "MIT", "dependencies": { "follow-redirects": "^1.14.9", "form-data": "^4.0.0" @@ -16880,9 +16484,8 @@ }, "packages/deployer/node_modules/debug": { "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -16897,9 +16500,8 @@ }, "packages/deployer/node_modules/find-up": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -16913,9 +16515,8 @@ }, "packages/deployer/node_modules/js-yaml": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -16925,9 +16526,8 @@ }, "packages/deployer/node_modules/locate-path": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -16940,8 +16540,7 @@ }, "packages/deployer/node_modules/mkdirp": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "license": "MIT", "bin": { "mkdirp": "bin/cmd.js" }, @@ -16951,9 +16550,8 @@ }, "packages/deployer/node_modules/mocha": { "version": "9.1.1", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.1.1.tgz", - "integrity": "sha512-0wE74YMgOkCgBUj8VyIDwmLUjTsS13WV1Pg7l0SHea2qzZzlq7MDnfbPsHKcELBRk3+izEVkRofjmClpycudCA==", "dev": true, + "license": "MIT", "dependencies": { "@ungap/promise-all-settled": "1.1.2", "ansi-colors": "4.1.1", @@ -16995,15 +16593,13 @@ }, "packages/deployer/node_modules/mocha/node_modules/ms": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true + "dev": true, + "license": "MIT" }, "packages/deployer/node_modules/p-limit": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, + "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -17016,9 +16612,8 @@ }, "packages/deployer/node_modules/p-locate": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -17031,18 +16626,16 @@ }, "packages/deployer/node_modules/path-exists": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "packages/deployer/node_modules/supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -17053,19 +16646,6 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "packages/governance-modules": { - "name": "@synthetixio/governance-modules", - "version": "1.0.0", - "extraneous": true, - "license": "MIT", - "devDependencies": { - "@nomiclabs/hardhat-ethers": "2.0.5", - "hardhat": "2.9.3", - "hardhat-cannon": "0.2.3", - "hardhat-contract-sizer": "2.1.1", - "solidity-coverage": "0.7.17" - } - }, "packages/grants-council": { "name": "@synthetixio/grants-council", "version": "1.0.0" @@ -17081,8 +16661,6 @@ }, "packages/sample-project/node_modules/@ethersproject/abi": { "version": "5.6.4", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.6.4.tgz", - "integrity": "sha512-TTeZUlCeIHG6527/2goZA6gW5F8Emoc7MrZDC7hhP84aRGvW3TEdTnZR08Ls88YXM1m2SuK42Osw/jSi3uO8gg==", "dev": true, "funding": [ { @@ -17094,6 +16672,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/address": "^5.6.1", "@ethersproject/bignumber": "^5.6.2", @@ -17108,8 +16687,6 @@ }, "packages/sample-project/node_modules/@ethersproject/abstract-provider": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.6.1.tgz", - "integrity": "sha512-BxlIgogYJtp1FS8Muvj8YfdClk3unZH0vRMVX791Z9INBNT/kuACZ9GzaY1Y4yFq+YSy6/w4gzj3HCRKrK9hsQ==", "dev": true, "funding": [ { @@ -17121,6 +16698,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.6.2", "@ethersproject/bytes": "^5.6.1", @@ -17133,8 +16711,6 @@ }, "packages/sample-project/node_modules/@ethersproject/abstract-signer": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.6.2.tgz", - "integrity": "sha512-n1r6lttFBG0t2vNiI3HoWaS/KdOt8xyDjzlP2cuevlWLG6EX0OwcKLyG/Kp/cuwNxdy/ous+R/DEMdTUwWQIjQ==", "dev": true, "funding": [ { @@ -17146,6 +16722,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-provider": "^5.6.1", "@ethersproject/bignumber": "^5.6.2", @@ -17156,8 +16733,6 @@ }, "packages/sample-project/node_modules/@ethersproject/address": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.6.1.tgz", - "integrity": "sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q==", "dev": true, "funding": [ { @@ -17169,6 +16744,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.6.2", "@ethersproject/bytes": "^5.6.1", @@ -17179,8 +16755,6 @@ }, "packages/sample-project/node_modules/@ethersproject/base64": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.6.1.tgz", - "integrity": "sha512-qB76rjop6a0RIYYMiB4Eh/8n+Hxu2NIZm8S/Q7kNo5pmZfXhHGHmS4MinUainiBC54SCyRnwzL+KZjj8zbsSsw==", "dev": true, "funding": [ { @@ -17192,14 +16766,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.1" } }, "packages/sample-project/node_modules/@ethersproject/basex": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.6.1.tgz", - "integrity": "sha512-a52MkVz4vuBXR06nvflPMotld1FJWSj2QT0985v7P/emPZO00PucFAkbcmq2vpVU7Ts7umKiSI6SppiLykVWsA==", "dev": true, "funding": [ { @@ -17211,6 +16784,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.1", "@ethersproject/properties": "^5.6.0" @@ -17218,8 +16792,6 @@ }, "packages/sample-project/node_modules/@ethersproject/bignumber": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.6.2.tgz", - "integrity": "sha512-v7+EEUbhGqT3XJ9LMPsKvXYHFc8eHxTowFCG/HgJErmq4XHJ2WR7aeyICg3uTOAQ7Icn0GFHAohXEhxQHq4Ubw==", "dev": true, "funding": [ { @@ -17231,6 +16803,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.1", "@ethersproject/logger": "^5.6.0", @@ -17239,8 +16812,6 @@ }, "packages/sample-project/node_modules/@ethersproject/bytes": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.6.1.tgz", - "integrity": "sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==", "dev": true, "funding": [ { @@ -17252,14 +16823,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/logger": "^5.6.0" } }, "packages/sample-project/node_modules/@ethersproject/constants": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.6.1.tgz", - "integrity": "sha512-QSq9WVnZbxXYFftrjSjZDUshp6/eKp6qrtdBtUCm0QxCV5z1fG/w3kdlcsjMCQuQHUnAclKoK7XpXMezhRDOLg==", "dev": true, "funding": [ { @@ -17271,14 +16841,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.6.2" } }, "packages/sample-project/node_modules/@ethersproject/contracts": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.6.2.tgz", - "integrity": "sha512-hguUA57BIKi6WY0kHvZp6PwPlWF87MCeB4B7Z7AbUpTxfFXFdn/3b0GmjZPagIHS+3yhcBJDnuEfU4Xz+Ks/8g==", "dev": true, "funding": [ { @@ -17290,6 +16859,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abi": "^5.6.3", "@ethersproject/abstract-provider": "^5.6.1", @@ -17305,8 +16875,6 @@ }, "packages/sample-project/node_modules/@ethersproject/hash": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.6.1.tgz", - "integrity": "sha512-L1xAHurbaxG8VVul4ankNX5HgQ8PNCTrnVXEiFnE9xoRnaUcgfD12tZINtDinSllxPLCtGwguQxJ5E6keE84pA==", "dev": true, "funding": [ { @@ -17318,6 +16886,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-signer": "^5.6.2", "@ethersproject/address": "^5.6.1", @@ -17331,8 +16900,6 @@ }, "packages/sample-project/node_modules/@ethersproject/hdnode": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.6.2.tgz", - "integrity": "sha512-tERxW8Ccf9CxW2db3WsN01Qao3wFeRsfYY9TCuhmG0xNpl2IO8wgXU3HtWIZ49gUWPggRy4Yg5axU0ACaEKf1Q==", "dev": true, "funding": [ { @@ -17344,6 +16911,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-signer": "^5.6.2", "@ethersproject/basex": "^5.6.1", @@ -17361,8 +16929,6 @@ }, "packages/sample-project/node_modules/@ethersproject/json-wallets": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.6.1.tgz", - "integrity": "sha512-KfyJ6Zwz3kGeX25nLihPwZYlDqamO6pfGKNnVMWWfEVVp42lTfCZVXXy5Ie8IZTN0HKwAngpIPi7gk4IJzgmqQ==", "dev": true, "funding": [ { @@ -17374,6 +16940,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-signer": "^5.6.2", "@ethersproject/address": "^5.6.1", @@ -17392,8 +16959,6 @@ }, "packages/sample-project/node_modules/@ethersproject/keccak256": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.6.1.tgz", - "integrity": "sha512-bB7DQHCTRDooZZdL3lk9wpL0+XuG3XLGHLh3cePnybsO3V0rdCAOQGpn/0R3aODmnTOOkCATJiD2hnL+5bwthA==", "dev": true, "funding": [ { @@ -17405,6 +16970,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.1", "js-sha3": "0.8.0" @@ -17412,8 +16978,6 @@ }, "packages/sample-project/node_modules/@ethersproject/logger": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.6.0.tgz", - "integrity": "sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==", "dev": true, "funding": [ { @@ -17424,12 +16988,11 @@ "type": "individual", "url": "https://www.buymeacoffee.com/ricmoo" } - ] + ], + "license": "MIT" }, "packages/sample-project/node_modules/@ethersproject/networks": { "version": "5.6.4", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.6.4.tgz", - "integrity": "sha512-KShHeHPahHI2UlWdtDMn2lJETcbtaJge4k7XSjDR9h79QTd6yQJmv6Cp2ZA4JdqWnhszAOLSuJEd9C0PRw7hSQ==", "dev": true, "funding": [ { @@ -17441,14 +17004,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/logger": "^5.6.0" } }, "packages/sample-project/node_modules/@ethersproject/pbkdf2": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.6.1.tgz", - "integrity": "sha512-k4gRQ+D93zDRPNUfmduNKq065uadC2YjMP/CqwwX5qG6R05f47boq6pLZtV/RnC4NZAYOPH1Cyo54q0c9sshRQ==", "dev": true, "funding": [ { @@ -17460,6 +17022,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.1", "@ethersproject/sha2": "^5.6.1" @@ -17467,8 +17030,6 @@ }, "packages/sample-project/node_modules/@ethersproject/properties": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.6.0.tgz", - "integrity": "sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==", "dev": true, "funding": [ { @@ -17480,14 +17041,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/logger": "^5.6.0" } }, "packages/sample-project/node_modules/@ethersproject/providers": { "version": "5.6.8", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.6.8.tgz", - "integrity": "sha512-Wf+CseT/iOJjrGtAOf3ck9zS7AgPmr2fZ3N97r4+YXN3mBePTG2/bJ8DApl9mVwYL+RpYbNxMEkEp4mPGdwG/w==", "dev": true, "funding": [ { @@ -17499,6 +17059,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-provider": "^5.6.1", "@ethersproject/abstract-signer": "^5.6.2", @@ -17524,8 +17085,6 @@ }, "packages/sample-project/node_modules/@ethersproject/random": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.6.1.tgz", - "integrity": "sha512-/wtPNHwbmng+5yi3fkipA8YBT59DdkGRoC2vWk09Dci/q5DlgnMkhIycjHlavrvrjJBkFjO/ueLyT+aUDfc4lA==", "dev": true, "funding": [ { @@ -17537,6 +17096,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.1", "@ethersproject/logger": "^5.6.0" @@ -17544,8 +17104,6 @@ }, "packages/sample-project/node_modules/@ethersproject/rlp": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.6.1.tgz", - "integrity": "sha512-uYjmcZx+DKlFUk7a5/W9aQVaoEC7+1MOBgNtvNg13+RnuUwT4F0zTovC0tmay5SmRslb29V1B7Y5KCri46WhuQ==", "dev": true, "funding": [ { @@ -17557,6 +17115,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.1", "@ethersproject/logger": "^5.6.0" @@ -17564,8 +17123,6 @@ }, "packages/sample-project/node_modules/@ethersproject/sha2": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.6.1.tgz", - "integrity": "sha512-5K2GyqcW7G4Yo3uenHegbXRPDgARpWUiXc6RiF7b6i/HXUoWlb7uCARh7BAHg7/qT/Q5ydofNwiZcim9qpjB6g==", "dev": true, "funding": [ { @@ -17577,6 +17134,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.1", "@ethersproject/logger": "^5.6.0", @@ -17585,8 +17143,6 @@ }, "packages/sample-project/node_modules/@ethersproject/signing-key": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.6.2.tgz", - "integrity": "sha512-jVbu0RuP7EFpw82vHcL+GP35+KaNruVAZM90GxgQnGqB6crhBqW/ozBfFvdeImtmb4qPko0uxXjn8l9jpn0cwQ==", "dev": true, "funding": [ { @@ -17598,6 +17154,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.1", "@ethersproject/logger": "^5.6.0", @@ -17609,8 +17166,6 @@ }, "packages/sample-project/node_modules/@ethersproject/solidity": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.6.1.tgz", - "integrity": "sha512-KWqVLkUUoLBfL1iwdzUVlkNqAUIFMpbbeH0rgCfKmJp0vFtY4AsaN91gHKo9ZZLkC4UOm3cI3BmMV4N53BOq4g==", "dev": true, "funding": [ { @@ -17622,6 +17177,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.6.2", "@ethersproject/bytes": "^5.6.1", @@ -17633,8 +17189,6 @@ }, "packages/sample-project/node_modules/@ethersproject/strings": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.6.1.tgz", - "integrity": "sha512-2X1Lgk6Jyfg26MUnsHiT456U9ijxKUybz8IM1Vih+NJxYtXhmvKBcHOmvGqpFSVJ0nQ4ZCoIViR8XlRw1v/+Cw==", "dev": true, "funding": [ { @@ -17646,6 +17200,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.1", "@ethersproject/constants": "^5.6.1", @@ -17654,8 +17209,6 @@ }, "packages/sample-project/node_modules/@ethersproject/transactions": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.6.2.tgz", - "integrity": "sha512-BuV63IRPHmJvthNkkt9G70Ullx6AcM+SDc+a8Aw/8Yew6YwT51TcBKEp1P4oOQ/bP25I18JJr7rcFRgFtU9B2Q==", "dev": true, "funding": [ { @@ -17667,6 +17220,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/address": "^5.6.1", "@ethersproject/bignumber": "^5.6.2", @@ -17681,8 +17235,6 @@ }, "packages/sample-project/node_modules/@ethersproject/units": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.6.1.tgz", - "integrity": "sha512-rEfSEvMQ7obcx3KWD5EWWx77gqv54K6BKiZzKxkQJqtpriVsICrktIQmKl8ReNToPeIYPnFHpXvKpi068YFZXw==", "dev": true, "funding": [ { @@ -17694,6 +17246,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.6.2", "@ethersproject/constants": "^5.6.1", @@ -17702,8 +17255,6 @@ }, "packages/sample-project/node_modules/@ethersproject/wallet": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.6.2.tgz", - "integrity": "sha512-lrgh0FDQPuOnHcF80Q3gHYsSUODp6aJLAdDmDV0xKCN/T7D99ta1jGVhulg3PY8wiXEngD0DfM0I2XKXlrqJfg==", "dev": true, "funding": [ { @@ -17715,6 +17266,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-provider": "^5.6.1", "@ethersproject/abstract-signer": "^5.6.2", @@ -17735,8 +17287,6 @@ }, "packages/sample-project/node_modules/@ethersproject/web": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.6.1.tgz", - "integrity": "sha512-/vSyzaQlNXkO1WV+RneYKqCJwualcUdx/Z3gseVovZP0wIlOFcCE1hkRhKBH8ImKbGQbMl9EAAyJFrJu7V0aqA==", "dev": true, "funding": [ { @@ -17748,6 +17298,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/base64": "^5.6.1", "@ethersproject/bytes": "^5.6.1", @@ -17758,8 +17309,6 @@ }, "packages/sample-project/node_modules/@ethersproject/wordlists": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.6.1.tgz", - "integrity": "sha512-wiPRgBpNbNwCQFoCr8bcWO8o5I810cqO6mkdtKfLKFlLxeCWcnzDi4Alu8iyNzlhYuS9npCwivMbRWF19dyblw==", "dev": true, "funding": [ { @@ -17771,6 +17320,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.6.1", "@ethersproject/hash": "^5.6.1", @@ -17781,9 +17331,8 @@ }, "packages/sample-project/node_modules/@usecannon/builder": { "version": "1.0.20", - "resolved": "https://registry.npmjs.org/@usecannon/builder/-/builder-1.0.20.tgz", - "integrity": "sha512-Zzac0olgFlNpCdNGecjUSfJZusKUYfLkIZoh+drzes5DeRdbqGhvEEezg70TKaOa6mR16rlwnsC+pBXFP3lMFw==", "dev": true, + "license": "MIT", "dependencies": { "adm-zip": "^0.5.9", "ajv": "^8.11.0", @@ -17803,9 +17352,8 @@ }, "packages/sample-project/node_modules/@usecannon/builder/node_modules/ipfs-http-client": { "version": "56.0.3", - "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-56.0.3.tgz", - "integrity": "sha512-E3L5ylVl6BjyRUsNehvfuRBYp1hj8vQ8in4zskVPMNzXs6JiCFUbif5a6BtcAlSK4xPQyJCeLNNAWLUeFQTLNA==", "dev": true, + "license": "(Apache-2.0 OR MIT)", "dependencies": { "@ipld/dag-cbor": "^7.0.0", "@ipld/dag-json": "^8.0.1", @@ -17833,9 +17381,8 @@ }, "packages/sample-project/node_modules/@usecannon/builder/node_modules/ipfs-utils": { "version": "9.0.7", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-9.0.7.tgz", - "integrity": "sha512-Umvb0Zydy2zZiTmQBGLfLISr8vOmXX8cxEIP+N8zGHrtRShG/j32yl1xd/BtS+Hbg0FIbVm3opwvxB2gmta0YA==", "dev": true, + "license": "MIT", "dependencies": { "any-signal": "^3.0.0", "buffer": "^6.0.1", @@ -17855,18 +17402,16 @@ }, "packages/sample-project/node_modules/adm-zip": { "version": "0.5.9", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.9.tgz", - "integrity": "sha512-s+3fXLkeeLjZ2kLjCBwQufpI5fuN+kIGBxu6530nVQZGVol0d7Y/M88/xw9HGGUcJjKf8LutN3VPRUBq6N7Ajg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.0" } }, "packages/sample-project/node_modules/ajv": { "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -17880,14 +17425,11 @@ }, "packages/sample-project/node_modules/bn.js": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true + "dev": true, + "license": "MIT" }, "packages/sample-project/node_modules/buffer": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "dev": true, "funding": [ { @@ -17903,6 +17445,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" @@ -17910,8 +17453,6 @@ }, "packages/sample-project/node_modules/ethers": { "version": "5.6.9", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.6.9.tgz", - "integrity": "sha512-lMGC2zv9HC5EC+8r429WaWu3uWJUCgUCt8xxKCFqkrFuBDZXDYIdzDUECxzjf2BMF8IVBByY1EBoGSL3RTm8RA==", "dev": true, "funding": [ { @@ -17923,6 +17464,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abi": "5.6.4", "@ethersproject/abstract-provider": "5.6.1", @@ -17958,9 +17500,8 @@ }, "packages/sample-project/node_modules/fs-extra": { "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", "dev": true, + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -17972,9 +17513,8 @@ }, "packages/sample-project/node_modules/hardhat-cannon": { "version": "1.0.20", - "resolved": "https://registry.npmjs.org/hardhat-cannon/-/hardhat-cannon-1.0.20.tgz", - "integrity": "sha512-va0Ux/QcpEwWt37Cd4724A9e+PD5zB7wpeB6CT/JnZEZvkyAYgCWJGXD5ErNg3MfsoTjYhe4iL+fr8lYX8hyUg==", "dev": true, + "license": "MIT", "dependencies": { "@iarna/toml": "^3.0.0", "@types/adm-zip": "^0.5.0", @@ -18004,21 +17544,18 @@ }, "packages/sample-project/node_modules/js-sha3": { "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==", - "dev": true + "dev": true, + "license": "MIT" }, "packages/sample-project/node_modules/json-schema-traverse": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true + "dev": true, + "license": "MIT" }, "packages/sample-project/node_modules/jsonfile": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, + "license": "MIT", "dependencies": { "universalify": "^2.0.0" }, @@ -18029,8 +17566,6 @@ "packages/sample-project/node_modules/node-fetch": { "name": "@achingbrain/node-fetch", "version": "2.6.7", - "resolved": "https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-iTASGs+HTFK5E4ZqcMsHmeJ4zodyq8L38lZV33jwqcBJYoUt3HjN4+ot+O9/0b+ke8ddE7UgOtVuZN/OkV19/g==", "dev": true, "license": "MIT", "engines": { @@ -18039,18 +17574,16 @@ }, "packages/sample-project/node_modules/universalify": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 10.0.0" } }, "packages/sample-project/node_modules/ws": { "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.3.0" }, @@ -18081,18 +17614,16 @@ }, "packages/scripts/node_modules/ansi-regex": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "packages/scripts/node_modules/ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -18102,9 +17633,8 @@ }, "packages/scripts/node_modules/cli-cursor": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dev": true, + "license": "MIT", "dependencies": { "restore-cursor": "^3.1.0" }, @@ -18114,51 +17644,45 @@ }, "packages/scripts/node_modules/cli-width": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", "dev": true, + "license": "ISC", "engines": { "node": ">= 10" } }, "packages/scripts/node_modules/color-convert": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "packages/scripts/node_modules/color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "dev": true, + "license": "MIT" }, "packages/scripts/node_modules/commander": { "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", "dev": true, + "license": "MIT", "engines": { "node": ">= 12" } }, "packages/scripts/node_modules/escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.0" } }, "packages/scripts/node_modules/figures": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, + "license": "MIT", "dependencies": { "escape-string-regexp": "^1.0.5" }, @@ -18171,18 +17695,16 @@ }, "packages/scripts/node_modules/has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "packages/scripts/node_modules/inquirer": { "version": "8.2.4", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz", - "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==", "dev": true, + "license": "MIT", "dependencies": { "ansi-escapes": "^4.2.1", "chalk": "^4.1.1", @@ -18206,33 +17728,29 @@ }, "packages/scripts/node_modules/is-fullwidth-code-point": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "packages/scripts/node_modules/mimic-fn": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "packages/scripts/node_modules/mute-stream": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true + "dev": true, + "license": "ISC" }, "packages/scripts/node_modules/restore-cursor": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dev": true, + "license": "MIT", "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" @@ -18243,18 +17761,16 @@ }, "packages/scripts/node_modules/rxjs": { "version": "7.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz", - "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", "dev": true, + "license": "Apache-2.0", "dependencies": { "tslib": "^2.1.0" } }, "packages/scripts/node_modules/sort-keys": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz", - "integrity": "sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==", "dev": true, + "license": "MIT", "dependencies": { "is-plain-obj": "^2.0.0" }, @@ -18267,9 +17783,8 @@ }, "packages/scripts/node_modules/supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -18279,9 +17794,8 @@ }, "packages/scripts/node_modules/synthetix": { "version": "2.73.1", - "resolved": "https://registry.npmjs.org/synthetix/-/synthetix-2.73.1.tgz", - "integrity": "sha512-NmYDuNQrUUyidizCpw0SV7b6g/uzXBw1wnXH6MDlTIOetqPoWRkTMotwUIXBgdEvF7VhoVoZNh5VFmykUJC+8Q==", "dev": true, + "license": "MIT", "dependencies": { "abi-decoder": "^2.3.0", "commander": "^8.1.0", @@ -18301,18 +17815,16 @@ }, "packages/scripts/node_modules/synthetix/node_modules/ansi-escapes": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "packages/scripts/node_modules/synthetix/node_modules/chalk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -18324,9 +17836,8 @@ }, "packages/scripts/node_modules/synthetix/node_modules/cli-cursor": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", "dev": true, + "license": "MIT", "dependencies": { "restore-cursor": "^2.0.0" }, @@ -18336,15 +17847,13 @@ }, "packages/scripts/node_modules/synthetix/node_modules/cli-width": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", - "dev": true + "dev": true, + "license": "ISC" }, "packages/scripts/node_modules/synthetix/node_modules/figures": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", "dev": true, + "license": "MIT", "dependencies": { "escape-string-regexp": "^1.0.5" }, @@ -18354,9 +17863,8 @@ }, "packages/scripts/node_modules/synthetix/node_modules/inquirer": { "version": "6.5.2", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", - "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-escapes": "^3.2.0", "chalk": "^2.4.2", @@ -18378,15 +17886,13 @@ }, "packages/scripts/node_modules/synthetix/node_modules/mute-stream": { "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==", - "dev": true + "dev": true, + "license": "ISC" }, "packages/scripts/node_modules/synthetix/node_modules/onetime": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", "dev": true, + "license": "MIT", "dependencies": { "mimic-fn": "^1.0.0" }, @@ -18396,9 +17902,8 @@ }, "packages/scripts/node_modules/synthetix/node_modules/restore-cursor": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", "dev": true, + "license": "MIT", "dependencies": { "onetime": "^2.0.0", "signal-exit": "^3.0.2" @@ -18409,9 +17914,8 @@ }, "packages/scripts/node_modules/synthetix/node_modules/rxjs": { "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "tslib": "^1.9.0" }, @@ -18421,9 +17925,8 @@ }, "packages/scripts/node_modules/synthetix/node_modules/string-width": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, + "license": "MIT", "dependencies": { "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^4.0.0" @@ -18434,18 +17937,16 @@ }, "packages/scripts/node_modules/synthetix/node_modules/string-width/node_modules/ansi-regex": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "packages/scripts/node_modules/synthetix/node_modules/string-width/node_modules/strip-ansi": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^3.0.0" }, @@ -18455,9 +17956,8 @@ }, "packages/scripts/node_modules/synthetix/node_modules/strip-ansi": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^4.1.0" }, @@ -18467,15 +17967,13 @@ }, "packages/scripts/node_modules/synthetix/node_modules/tslib": { "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true + "dev": true, + "license": "0BSD" }, "packages/scripts/node_modules/tslib": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", - "dev": true + "dev": true, + "license": "0BSD" }, "packages/spartan-council": { "name": "@synthetixio/spartan-council", @@ -18490,1144 +17988,1943 @@ }, "packages/synthetix-main": { "name": "@synthetixio/main", - "version": "1.0.0" - }, - "packages/treasury-council": { - "name": "@synthetixio/treasury-council", - "version": "1.0.0" - } - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.12.11", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" + "version": "1.0.0", + "license": "MIT", + "devDependencies": { + "@nomiclabs/hardhat-ethers": "2.0.5", + "hardhat": "2.9.3", + "hardhat-cannon": "1.0.22", + "hardhat-contract-sizer": "2.1.1", + "solidity-coverage": "0.7.17" } }, - "@babel/compat-data": { - "version": "7.15.0", - "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==", - "dev": true - }, - "@babel/core": { - "version": "7.15.5", - "integrity": "sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg==", + "packages/synthetix-main/node_modules/@ethersproject/abi": { + "version": "5.6.4", "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-compilation-targets": "^7.15.4", - "@babel/helper-module-transforms": "^7.15.4", - "@babel/helpers": "^7.15.4", - "@babel/parser": "^7.15.5", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.14.5", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.14.5" - } - }, - "semver": { - "version": "6.3.0", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" }, - "source-map": { - "version": "0.5.7", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" } - } - }, - "@babel/generator": { - "version": "7.15.4", - "integrity": "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - }, + ], + "license": "MIT", "dependencies": { - "source-map": { - "version": "0.5.7", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } + "@ethersproject/address": "^5.6.1", + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/constants": "^5.6.1", + "@ethersproject/hash": "^5.6.1", + "@ethersproject/keccak256": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/strings": "^5.6.1" } }, - "@babel/helper-compilation-targets": { - "version": "7.15.4", - "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==", + "packages/synthetix-main/node_modules/@ethersproject/abstract-provider": { + "version": "5.6.1", "dev": true, - "requires": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/networks": "^5.6.3", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/transactions": "^5.6.2", + "@ethersproject/web": "^5.6.1" } }, - "@babel/helper-function-name": { - "version": "7.15.4", - "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.15.4", - "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", + "packages/synthetix-main/node_modules/@ethersproject/abstract-signer": { + "version": "5.6.2", "dev": true, - "requires": { - "@babel/types": "^7.15.4" + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/abstract-provider": "^5.6.1", + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0" } }, - "@babel/helper-hoist-variables": { - "version": "7.15.4", - "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", + "packages/synthetix-main/node_modules/@ethersproject/address": { + "version": "5.6.1", "dev": true, - "requires": { - "@babel/types": "^7.15.4" + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/keccak256": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/rlp": "^5.6.1" } }, - "@babel/helper-member-expression-to-functions": { - "version": "7.15.4", - "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", + "packages/synthetix-main/node_modules/@ethersproject/base64": { + "version": "5.6.1", "dev": true, - "requires": { - "@babel/types": "^7.15.4" + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.6.1" } }, - "@babel/helper-module-imports": { - "version": "7.15.4", - "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", + "packages/synthetix-main/node_modules/@ethersproject/basex": { + "version": "5.6.1", "dev": true, - "requires": { - "@babel/types": "^7.15.4" + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/properties": "^5.6.0" } }, - "@babel/helper-module-transforms": { - "version": "7.15.7", - "integrity": "sha512-ZNqjjQG/AuFfekFTY+7nY4RgBSklgTu970c7Rj3m/JOhIu5KPBUuTA9AY6zaKcUvk4g6EbDXdBnhi35FAssdSw==", + "packages/synthetix-main/node_modules/@ethersproject/bignumber": { + "version": "5.6.2", "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.15.4", - "@babel/helper-replace-supers": "^7.15.4", - "@babel/helper-simple-access": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/helper-validator-identifier": "^7.15.7", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.6" + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "bn.js": "^5.2.1" } }, - "@babel/helper-optimise-call-expression": { - "version": "7.15.4", - "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", + "packages/synthetix-main/node_modules/@ethersproject/bytes": { + "version": "5.6.1", "dev": true, - "requires": { - "@babel/types": "^7.15.4" + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/logger": "^5.6.0" } }, - "@babel/helper-replace-supers": { - "version": "7.15.4", - "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", + "packages/synthetix-main/node_modules/@ethersproject/constants": { + "version": "5.6.1", "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bignumber": "^5.6.2" } }, - "@babel/helper-simple-access": { - "version": "7.15.4", - "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", + "packages/synthetix-main/node_modules/@ethersproject/contracts": { + "version": "5.6.2", "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/abi": "^5.6.3", + "@ethersproject/abstract-provider": "^5.6.1", + "@ethersproject/abstract-signer": "^5.6.2", + "@ethersproject/address": "^5.6.1", + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/constants": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/transactions": "^5.6.2" + } }, - "@babel/helper-split-export-declaration": { - "version": "7.15.4", - "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", + "packages/synthetix-main/node_modules/@ethersproject/hash": { + "version": "5.6.1", "dev": true, - "requires": { - "@babel/types": "^7.15.4" + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/abstract-signer": "^5.6.2", + "@ethersproject/address": "^5.6.1", + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/keccak256": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/strings": "^5.6.1" } }, - "@babel/helper-validator-identifier": { - "version": "7.15.7", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.14.5", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", - "dev": true - }, - "@babel/helpers": { - "version": "7.15.4", - "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", + "packages/synthetix-main/node_modules/@ethersproject/hdnode": { + "version": "5.6.2", "dev": true, - "requires": { - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/abstract-signer": "^5.6.2", + "@ethersproject/basex": "^5.6.1", + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/pbkdf2": "^5.6.1", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/sha2": "^5.6.1", + "@ethersproject/signing-key": "^5.6.2", + "@ethersproject/strings": "^5.6.1", + "@ethersproject/transactions": "^5.6.2", + "@ethersproject/wordlists": "^5.6.1" } }, - "@babel/highlight": { - "version": "7.14.5", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "packages/synthetix-main/node_modules/@ethersproject/json-wallets": { + "version": "5.6.1", "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" }, - "supports-color": { - "version": "5.5.0", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/abstract-signer": "^5.6.2", + "@ethersproject/address": "^5.6.1", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/hdnode": "^5.6.2", + "@ethersproject/keccak256": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/pbkdf2": "^5.6.1", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/random": "^5.6.1", + "@ethersproject/strings": "^5.6.1", + "@ethersproject/transactions": "^5.6.2", + "aes-js": "3.0.0", + "scrypt-js": "3.0.1" } }, - "@babel/parser": { - "version": "7.15.7", - "integrity": "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==", - "dev": true - }, - "@babel/template": { - "version": "7.15.4", - "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", + "packages/synthetix-main/node_modules/@ethersproject/keccak256": { + "version": "5.6.1", "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.14.5", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.14.5" - } + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.6.1", + "js-sha3": "0.8.0" } }, - "@babel/traverse": { - "version": "7.15.4", - "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", + "packages/synthetix-main/node_modules/@ethersproject/logger": { + "version": "5.6.0", "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.14.5", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.14.5" - } + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" }, - "globals": { - "version": "11.12.0", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" } - } + ], + "license": "MIT" }, - "@babel/types": { - "version": "7.15.6", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", + "packages/synthetix-main/node_modules/@ethersproject/networks": { + "version": "5.6.4", "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/logger": "^5.6.0" } }, - "@eslint/eslintrc": { - "version": "0.4.3", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "packages/synthetix-main/node_modules/@ethersproject/pbkdf2": { + "version": "5.6.1", "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - } - }, - "@ethereumjs/block": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/@ethereumjs/block/-/block-3.6.2.tgz", - "integrity": "sha512-mOqYWwMlAZpYUEOEqt7EfMFuVL2eyLqWWIzcf4odn6QgXY8jBI2NhVuJncrMCKeMZrsJAe7/auaRRB6YcdH+Qw==", - "requires": { - "@ethereumjs/common": "^2.6.3", - "@ethereumjs/tx": "^3.5.1", - "ethereumjs-util": "^7.1.4", - "merkle-patricia-tree": "^4.2.4" + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/sha2": "^5.6.1" } }, - "@ethereumjs/blockchain": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/@ethereumjs/blockchain/-/blockchain-5.5.2.tgz", - "integrity": "sha512-Jz26iJmmsQtngerW6r5BDFaew/f2mObLrRZo3rskLOx1lmtMZ8+TX/vJexmivrnWgmAsTdNWhlKUYY4thPhPig==", - "requires": { - "@ethereumjs/block": "^3.6.2", - "@ethereumjs/common": "^2.6.3", - "@ethereumjs/ethash": "^1.1.0", - "debug": "^4.3.3", - "ethereumjs-util": "^7.1.4", - "level-mem": "^5.0.1", - "lru-cache": "^5.1.1", - "semaphore-async-await": "^1.5.1" + "packages/synthetix-main/node_modules/@ethersproject/properties": { + "version": "5.6.0", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/logger": "^5.6.0" } }, - "@ethereumjs/common": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.3.tgz", - "integrity": "sha512-mQwPucDL7FDYIg9XQ8DL31CnIYZwGhU5hyOO5E+BMmT71G0+RHvIT5rIkLBirJEKxV6+Rcf9aEIY0kXInxUWpQ==", - "requires": { - "crc-32": "^1.2.0", - "ethereumjs-util": "^7.1.4" + "packages/synthetix-main/node_modules/@ethersproject/providers": { + "version": "5.6.8", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/abstract-provider": "^5.6.1", + "@ethersproject/abstract-signer": "^5.6.2", + "@ethersproject/address": "^5.6.1", + "@ethersproject/base64": "^5.6.1", + "@ethersproject/basex": "^5.6.1", + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/constants": "^5.6.1", + "@ethersproject/hash": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/networks": "^5.6.3", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/random": "^5.6.1", + "@ethersproject/rlp": "^5.6.1", + "@ethersproject/sha2": "^5.6.1", + "@ethersproject/strings": "^5.6.1", + "@ethersproject/transactions": "^5.6.2", + "@ethersproject/web": "^5.6.1", + "bech32": "1.1.4", + "ws": "7.4.6" } }, - "@ethereumjs/ethash": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/ethash/-/ethash-1.1.0.tgz", - "integrity": "sha512-/U7UOKW6BzpA+Vt+kISAoeDie1vAvY4Zy2KF5JJb+So7+1yKmJeJEHOGSnQIj330e9Zyl3L5Nae6VZyh2TJnAA==", - "requires": { - "@ethereumjs/block": "^3.5.0", - "@types/levelup": "^4.3.0", - "buffer-xor": "^2.0.1", - "ethereumjs-util": "^7.1.1", - "miller-rabin": "^4.0.0" + "packages/synthetix-main/node_modules/@ethersproject/random": { + "version": "5.6.1", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/logger": "^5.6.0" } }, - "@ethereumjs/tx": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.5.1.tgz", - "integrity": "sha512-xzDrTiu4sqZXUcaBxJ4n4W5FrppwxLxZB4ZDGVLtxSQR4lVuOnFR6RcUHdg1mpUhAPVrmnzLJpxaeXnPxIyhWA==", - "requires": { - "@ethereumjs/common": "^2.6.3", - "ethereumjs-util": "^7.1.4" + "packages/synthetix-main/node_modules/@ethersproject/rlp": { + "version": "5.6.1", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/logger": "^5.6.0" } }, - "@ethereumjs/vm": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/vm/-/vm-5.8.0.tgz", - "integrity": "sha512-mn2G2SX79QY4ckVvZUfxlNUpzwT2AEIkvgJI8aHoQaNYEHhH8rmdVDIaVVgz6//PjK52BZsK23afz+WvSR0Qqw==", - "requires": { - "@ethereumjs/block": "^3.6.2", - "@ethereumjs/blockchain": "^5.5.2", - "@ethereumjs/common": "^2.6.3", - "@ethereumjs/tx": "^3.5.1", - "async-eventemitter": "^0.2.4", - "core-js-pure": "^3.0.1", - "debug": "^4.3.3", - "ethereumjs-util": "^7.1.4", - "functional-red-black-tree": "^1.0.1", - "mcl-wasm": "^0.7.1", - "merkle-patricia-tree": "^4.2.4", - "rustbn.js": "~0.2.0" + "packages/synthetix-main/node_modules/@ethersproject/sha2": { + "version": "5.6.1", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "hash.js": "1.1.7" } }, - "@ethersproject/abi": { - "version": "5.5.0", - "integrity": "sha512-loW7I4AohP5KycATvc0MgujU6JyCHPqHdeoo9z3Nr9xEiNioxa65ccdm1+fsoJhkuhdRtfcL8cfyGamz2AxZ5w==", - "requires": { - "@ethersproject/address": "^5.5.0", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/constants": "^5.5.0", - "@ethersproject/hash": "^5.5.0", - "@ethersproject/keccak256": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/strings": "^5.5.0" + "packages/synthetix-main/node_modules/@ethersproject/signing-key": { + "version": "5.6.2", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "bn.js": "^5.2.1", + "elliptic": "6.5.4", + "hash.js": "1.1.7" } }, - "@ethersproject/abstract-provider": { - "version": "5.5.1", - "integrity": "sha512-m+MA/ful6eKbxpr99xUYeRvLkfnlqzrF8SZ46d/xFB1A7ZVknYc/sXJG0RcufF52Qn2jeFj1hhcoQ7IXjNKUqg==", - "requires": { - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/networks": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/transactions": "^5.5.0", - "@ethersproject/web": "^5.5.0" + "packages/synthetix-main/node_modules/@ethersproject/solidity": { + "version": "5.6.1", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/keccak256": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/sha2": "^5.6.1", + "@ethersproject/strings": "^5.6.1" } }, - "@ethersproject/abstract-signer": { - "version": "5.5.0", - "integrity": "sha512-lj//7r250MXVLKI7sVarXAbZXbv9P50lgmJQGr2/is82EwEb8r7HrxsmMqAjTsztMYy7ohrIhGMIml+Gx4D3mA==", - "requires": { - "@ethersproject/abstract-provider": "^5.5.0", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0" + "packages/synthetix-main/node_modules/@ethersproject/strings": { + "version": "5.6.1", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/constants": "^5.6.1", + "@ethersproject/logger": "^5.6.0" } }, - "@ethersproject/address": { - "version": "5.5.0", - "integrity": "sha512-l4Nj0eWlTUh6ro5IbPTgbpT4wRbdH5l8CQf7icF7sb/SI3Nhd9Y9HzhonTSTi6CefI0necIw7LJqQPopPLZyWw==", - "requires": { - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/keccak256": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/rlp": "^5.5.0" + "packages/synthetix-main/node_modules/@ethersproject/transactions": { + "version": "5.6.2", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/address": "^5.6.1", + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/constants": "^5.6.1", + "@ethersproject/keccak256": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/rlp": "^5.6.1", + "@ethersproject/signing-key": "^5.6.2" } }, - "@ethersproject/base64": { - "version": "5.5.0", - "integrity": "sha512-tdayUKhU1ljrlHzEWbStXazDpsx4eg1dBXUSI6+mHlYklOXoXF6lZvw8tnD6oVaWfnMxAgRSKROg3cVKtCcppA==", - "requires": { - "@ethersproject/bytes": "^5.5.0" + "packages/synthetix-main/node_modules/@ethersproject/units": { + "version": "5.6.1", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/constants": "^5.6.1", + "@ethersproject/logger": "^5.6.0" } }, - "@ethersproject/basex": { - "version": "5.5.0", - "integrity": "sha512-ZIodwhHpVJ0Y3hUCfUucmxKsWQA5TMnavp5j/UOuDdzZWzJlRmuOjcTMIGgHCYuZmHt36BfiSyQPSRskPxbfaQ==", - "requires": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/properties": "^5.5.0" + "packages/synthetix-main/node_modules/@ethersproject/wallet": { + "version": "5.6.2", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/abstract-provider": "^5.6.1", + "@ethersproject/abstract-signer": "^5.6.2", + "@ethersproject/address": "^5.6.1", + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/hash": "^5.6.1", + "@ethersproject/hdnode": "^5.6.2", + "@ethersproject/json-wallets": "^5.6.1", + "@ethersproject/keccak256": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/random": "^5.6.1", + "@ethersproject/signing-key": "^5.6.2", + "@ethersproject/transactions": "^5.6.2", + "@ethersproject/wordlists": "^5.6.1" } }, - "@ethersproject/bignumber": { - "version": "5.5.0", - "integrity": "sha512-6Xytlwvy6Rn3U3gKEc1vP7nR92frHkv6wtVr95LFR3jREXiCPzdWxKQ1cx4JGQBXxcguAwjA8murlYN2TSiEbg==", - "requires": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "bn.js": "^4.11.9" + "packages/synthetix-main/node_modules/@ethersproject/web": { + "version": "5.6.1", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/base64": "^5.6.1", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/strings": "^5.6.1" } }, - "@ethersproject/bytes": { - "version": "5.5.0", - "integrity": "sha512-ABvc7BHWhZU9PNM/tANm/Qx4ostPGadAuQzWTr3doklZOhDlmcBqclrQe/ZXUIj3K8wC28oYeuRa+A37tX9kog==", - "requires": { - "@ethersproject/logger": "^5.5.0" + "packages/synthetix-main/node_modules/@ethersproject/wordlists": { + "version": "5.6.1", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/hash": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/strings": "^5.6.1" } }, - "@ethersproject/constants": { - "version": "5.5.0", - "integrity": "sha512-2MsRRVChkvMWR+GyMGY4N1sAX9Mt3J9KykCsgUFd/1mwS0UH1qw+Bv9k1UJb3X3YJYFco9H20pjSlOIfCG5HYQ==", - "requires": { - "@ethersproject/bignumber": "^5.5.0" + "packages/synthetix-main/node_modules/@usecannon/builder": { + "version": "1.0.21", + "dev": true, + "license": "MIT", + "dependencies": { + "adm-zip": "^0.5.9", + "ajv": "^8.11.0", + "debug": "^4.3.4", + "fs-extra": "^10.1.0", + "ipfs-http-client": "^56.0.3", + "lodash": "^4.17.21", + "semver": "^7.3.7", + "typescript": "^4.6.2" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "ethers": ">=5.6.0" } }, - "@ethersproject/contracts": { - "version": "5.5.0", - "integrity": "sha512-2viY7NzyvJkh+Ug17v7g3/IJC8HqZBDcOjYARZLdzRxrfGlRgmYgl6xPRKVbEzy1dWKw/iv7chDcS83pg6cLxg==", - "requires": { - "@ethersproject/abi": "^5.5.0", - "@ethersproject/abstract-provider": "^5.5.0", - "@ethersproject/abstract-signer": "^5.5.0", - "@ethersproject/address": "^5.5.0", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/constants": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/transactions": "^5.5.0" + "packages/synthetix-main/node_modules/@usecannon/builder/node_modules/ipfs-http-client": { + "version": "56.0.3", + "dev": true, + "license": "(Apache-2.0 OR MIT)", + "dependencies": { + "@ipld/dag-cbor": "^7.0.0", + "@ipld/dag-json": "^8.0.1", + "@ipld/dag-pb": "^2.1.3", + "any-signal": "^3.0.0", + "dag-jose": "^1.0.0", + "debug": "^4.1.1", + "err-code": "^3.0.1", + "ipfs-core-types": "^0.10.3", + "ipfs-core-utils": "^0.14.3", + "ipfs-utils": "^9.0.6", + "it-first": "^1.0.6", + "it-last": "^1.0.4", + "merge-options": "^3.0.4", + "multiaddr": "^10.0.0", + "multiformats": "^9.5.1", + "parse-duration": "^1.0.0", + "stream-to-it": "^0.2.2", + "uint8arrays": "^3.0.0" + }, + "engines": { + "node": ">=15.0.0", + "npm": ">=3.0.0" } }, - "@ethersproject/hash": { - "version": "5.5.0", - "integrity": "sha512-dnGVpK1WtBjmnp3mUT0PlU2MpapnwWI0PibldQEq1408tQBAbZpPidkWoVVuNMOl/lISO3+4hXZWCL3YV7qzfg==", - "requires": { - "@ethersproject/abstract-signer": "^5.5.0", - "@ethersproject/address": "^5.5.0", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/keccak256": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/strings": "^5.5.0" + "packages/synthetix-main/node_modules/@usecannon/builder/node_modules/ipfs-utils": { + "version": "9.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "any-signal": "^3.0.0", + "buffer": "^6.0.1", + "electron-fetch": "^1.7.2", + "err-code": "^3.0.1", + "is-electron": "^2.2.0", + "iso-url": "^1.1.5", + "it-glob": "^1.0.1", + "it-to-stream": "^1.0.0", + "merge-options": "^3.0.4", + "nanoid": "^3.1.20", + "native-fetch": "^3.0.0", + "node-fetch": "https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.7.tgz", + "react-native-fetch-api": "^2.0.0", + "stream-to-it": "^0.2.2" } }, - "@ethersproject/hdnode": { - "version": "5.5.0", - "integrity": "sha512-mcSOo9zeUg1L0CoJH7zmxwUG5ggQHU1UrRf8jyTYy6HxdZV+r0PBoL1bxr+JHIPXRzS6u/UW4mEn43y0tmyF8Q==", - "requires": { - "@ethersproject/abstract-signer": "^5.5.0", - "@ethersproject/basex": "^5.5.0", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/pbkdf2": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/sha2": "^5.5.0", - "@ethersproject/signing-key": "^5.5.0", - "@ethersproject/strings": "^5.5.0", - "@ethersproject/transactions": "^5.5.0", - "@ethersproject/wordlists": "^5.5.0" + "packages/synthetix-main/node_modules/adm-zip": { + "version": "0.5.9", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0" } }, - "@ethersproject/json-wallets": { - "version": "5.5.0", - "integrity": "sha512-9lA21XQnCdcS72xlBn1jfQdj2A1VUxZzOzi9UkNdnokNKke/9Ya2xA9aIK1SC3PQyBDLt4C+dfps7ULpkvKikQ==", - "requires": { - "@ethersproject/abstract-signer": "^5.5.0", - "@ethersproject/address": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/hdnode": "^5.5.0", - "@ethersproject/keccak256": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/pbkdf2": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/random": "^5.5.0", - "@ethersproject/strings": "^5.5.0", - "@ethersproject/transactions": "^5.5.0", - "aes-js": "3.0.0", - "scrypt-js": "3.0.1" - } - }, - "@ethersproject/keccak256": { - "version": "5.5.0", - "integrity": "sha512-5VoFCTjo2rYbBe1l2f4mccaRFN/4VQEYFwwn04aJV2h7qf4ZvI2wFxUE1XOX+snbwCLRzIeikOqtAoPwMza9kg==", - "requires": { - "@ethersproject/bytes": "^5.5.0", - "js-sha3": "0.8.0" - }, + "packages/synthetix-main/node_modules/ajv": { + "version": "8.11.0", + "dev": true, + "license": "MIT", "dependencies": { - "js-sha3": { - "version": "0.8.0", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - } + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "@ethersproject/logger": { - "version": "5.5.0", - "integrity": "sha512-rIY/6WPm7T8n3qS2vuHTUBPdXHl+rGxWxW5okDfo9J4Z0+gRRZT0msvUdIJkE4/HS29GUMziwGaaKO2bWONBrg==" + "packages/synthetix-main/node_modules/bn.js": { + "version": "5.2.1", + "dev": true, + "license": "MIT" }, - "@ethersproject/networks": { - "version": "5.5.0", - "integrity": "sha512-KWfP3xOnJeF89Uf/FCJdV1a2aDJe5XTN2N52p4fcQ34QhDqQFkgQKZ39VGtiqUgHcLI8DfT0l9azC3KFTunqtA==", - "requires": { - "@ethersproject/logger": "^5.5.0" + "packages/synthetix-main/node_modules/buffer": { + "version": "6.0.3", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" } }, - "@ethersproject/pbkdf2": { - "version": "5.5.0", - "integrity": "sha512-SaDvQFvXPnz1QGpzr6/HToLifftSXGoXrbpZ6BvoZhmx4bNLHrxDe8MZisuecyOziP1aVEwzC2Hasj+86TgWVg==", - "requires": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/sha2": "^5.5.0" + "packages/synthetix-main/node_modules/ethers": { + "version": "5.6.9", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/abi": "5.6.4", + "@ethersproject/abstract-provider": "5.6.1", + "@ethersproject/abstract-signer": "5.6.2", + "@ethersproject/address": "5.6.1", + "@ethersproject/base64": "5.6.1", + "@ethersproject/basex": "5.6.1", + "@ethersproject/bignumber": "5.6.2", + "@ethersproject/bytes": "5.6.1", + "@ethersproject/constants": "5.6.1", + "@ethersproject/contracts": "5.6.2", + "@ethersproject/hash": "5.6.1", + "@ethersproject/hdnode": "5.6.2", + "@ethersproject/json-wallets": "5.6.1", + "@ethersproject/keccak256": "5.6.1", + "@ethersproject/logger": "5.6.0", + "@ethersproject/networks": "5.6.4", + "@ethersproject/pbkdf2": "5.6.1", + "@ethersproject/properties": "5.6.0", + "@ethersproject/providers": "5.6.8", + "@ethersproject/random": "5.6.1", + "@ethersproject/rlp": "5.6.1", + "@ethersproject/sha2": "5.6.1", + "@ethersproject/signing-key": "5.6.2", + "@ethersproject/solidity": "5.6.1", + "@ethersproject/strings": "5.6.1", + "@ethersproject/transactions": "5.6.2", + "@ethersproject/units": "5.6.1", + "@ethersproject/wallet": "5.6.2", + "@ethersproject/web": "5.6.1", + "@ethersproject/wordlists": "5.6.1" } }, - "@ethersproject/properties": { - "version": "5.5.0", - "integrity": "sha512-l3zRQg3JkD8EL3CPjNK5g7kMx4qSwiR60/uk5IVjd3oq1MZR5qUg40CNOoEJoX5wc3DyY5bt9EbMk86C7x0DNA==", - "requires": { - "@ethersproject/logger": "^5.5.0" + "packages/synthetix-main/node_modules/fs-extra": { + "version": "10.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" } }, - "@ethersproject/providers": { - "version": "5.5.0", - "integrity": "sha512-xqMbDnS/FPy+J/9mBLKddzyLLAQFjrVff5g00efqxPzcAwXiR+SiCGVy6eJ5iAIirBOATjx7QLhDNPGV+AEQsw==", - "requires": { - "@ethersproject/abstract-provider": "^5.5.0", - "@ethersproject/abstract-signer": "^5.5.0", - "@ethersproject/address": "^5.5.0", - "@ethersproject/basex": "^5.5.0", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/constants": "^5.5.0", - "@ethersproject/hash": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/networks": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/random": "^5.5.0", - "@ethersproject/rlp": "^5.5.0", - "@ethersproject/sha2": "^5.5.0", - "@ethersproject/strings": "^5.5.0", - "@ethersproject/transactions": "^5.5.0", - "@ethersproject/web": "^5.5.0", - "bech32": "1.1.4", - "ws": "7.4.6" - }, + "packages/synthetix-main/node_modules/hardhat-cannon": { + "version": "1.0.22", + "resolved": "https://registry.npmjs.org/hardhat-cannon/-/hardhat-cannon-1.0.22.tgz", + "integrity": "sha512-nksZ2dxgCyTXfjP29VhN/TY+XCpeiIBZAYzE4Z2Nqa9t14YU2B4tJ+as5BiY5TeZXSaMAPEq3+wfKVkSvg0fug==", + "dev": true, "dependencies": { - "ws": { - "version": "7.4.6", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", - "requires": {} - } + "@iarna/toml": "^3.0.0", + "@types/adm-zip": "^0.5.0", + "@types/archiver": "^5.3.1", + "@types/yazl": "^2.4.2", + "@usecannon/builder": "^1.0.21", + "@usecannon/cli": "^1.0.21", + "adm-zip": "^0.5.9", + "ajv": "^8.10.0", + "chalk": "^4.1.2", + "debug": "^4.3.3", + "ethereumjs-util": "^7.1.4", + "ethers": "^5.6.0", + "fs-extra": "^10.0.1", + "ipfs-http-client": "56.0.1", + "ipfs-utils": "9.0.2", + "lodash": "^4.17.21", + "merkle-patricia-tree": "^4.2.3", + "prompts": "^2.4.2", + "table": "^6.8.0" + }, + "peerDependencies": { + "@nomiclabs/hardhat-ethers": "^2.0.0", + "@nomiclabs/hardhat-etherscan": "^3.0.0", + "hardhat": "^2.0.0" } }, - "@ethersproject/random": { - "version": "5.5.0", - "integrity": "sha512-egGYZwZ/YIFKMHcoBUo8t3a8Hb/TKYX8BCBoLjudVCZh892welR3jOxgOmb48xznc9bTcMm7Tpwc1gHC1PFNFQ==", - "requires": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0" - } + "packages/synthetix-main/node_modules/js-sha3": { + "version": "0.8.0", + "dev": true, + "license": "MIT" }, - "@ethersproject/rlp": { - "version": "5.5.0", - "integrity": "sha512-hLv8XaQ8PTI9g2RHoQGf/WSxBfTB/NudRacbzdxmst5VHAqd1sMibWG7SENzT5Dj3yZ3kJYx+WiRYEcQTAkcYA==", - "requires": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0" + "packages/synthetix-main/node_modules/json-schema-traverse": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "packages/synthetix-main/node_modules/jsonfile": { + "version": "6.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "@ethersproject/sha2": { - "version": "5.5.0", - "integrity": "sha512-B5UBoglbCiHamRVPLA110J+2uqsifpZaTmid2/7W5rbtYVz6gus6/hSDieIU/6gaKIDcOj12WnOdiymEUHIAOA==", - "requires": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "hash.js": "1.1.7" + "packages/synthetix-main/node_modules/node-fetch": { + "name": "@achingbrain/node-fetch", + "version": "2.6.7", + "dev": true, + "license": "MIT", + "engines": { + "node": "4.x || >=6.0.0" } }, - "@ethersproject/signing-key": { - "version": "5.5.0", - "integrity": "sha512-5VmseH7qjtNmDdZBswavhotYbWB0bOwKIlOTSlX14rKn5c11QmJwGt4GHeo7NrL/Ycl7uo9AHvEqs5xZgFBTng==", - "requires": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "bn.js": "^4.11.9", - "elliptic": "6.5.4", - "hash.js": "1.1.7" + "packages/synthetix-main/node_modules/universalify": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" } }, - "@ethersproject/solidity": { - "version": "5.5.0", - "integrity": "sha512-9NgZs9LhGMj6aCtHXhtmFQ4AN4sth5HuFXVvAQtzmm0jpSCNOTGtrHZJAeYTh7MBjRR8brylWZxBZR9zDStXbw==", - "requires": { - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/keccak256": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/sha2": "^5.5.0", - "@ethersproject/strings": "^5.5.0" + "packages/synthetix-main/node_modules/ws": { + "version": "7.4.6", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "@ethersproject/strings": { - "version": "5.5.0", - "integrity": "sha512-9fy3TtF5LrX/wTrBaT8FGE6TDJyVjOvXynXJz5MT5azq+E6D92zuKNx7i29sWW2FjVOaWjAsiZ1ZWznuduTIIQ==", + "packages/treasury-council": { + "name": "@synthetixio/treasury-council", + "version": "1.0.0" + } + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.11", + "dev": true, "requires": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/constants": "^5.5.0", - "@ethersproject/logger": "^5.5.0" + "@babel/highlight": "^7.10.4" } }, - "@ethersproject/transactions": { - "version": "5.5.0", - "integrity": "sha512-9RZYSKX26KfzEd/1eqvv8pLauCKzDTub0Ko4LfIgaERvRuwyaNV78mJs7cpIgZaDl6RJui4o49lHwwCM0526zA==", + "@babel/compat-data": { + "version": "7.15.0", + "dev": true + }, + "@babel/core": { + "version": "7.15.5", + "dev": true, "requires": { - "@ethersproject/address": "^5.5.0", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/constants": "^5.5.0", - "@ethersproject/keccak256": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/rlp": "^5.5.0", - "@ethersproject/signing-key": "^5.5.0" + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.4", + "@babel/helper-compilation-targets": "^7.15.4", + "@babel/helper-module-transforms": "^7.15.4", + "@babel/helpers": "^7.15.4", + "@babel/parser": "^7.15.5", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.14.5", + "dev": true, + "requires": { + "@babel/highlight": "^7.14.5" + } + }, + "semver": { + "version": "6.3.0", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "dev": true + } } }, - "@ethersproject/units": { - "version": "5.5.0", - "integrity": "sha512-7+DpjiZk4v6wrikj+TCyWWa9dXLNU73tSTa7n0TSJDxkYbV3Yf1eRh9ToMLlZtuctNYu9RDNNy2USq3AdqSbag==", + "@babel/generator": { + "version": "7.15.4", + "dev": true, "requires": { - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/constants": "^5.5.0", - "@ethersproject/logger": "^5.5.0" + "@babel/types": "^7.15.4", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "dev": true + } } }, - "@ethersproject/wallet": { - "version": "5.5.0", - "integrity": "sha512-Mlu13hIctSYaZmUOo7r2PhNSd8eaMPVXe1wxrz4w4FCE4tDYBywDH+bAR1Xz2ADyXGwqYMwstzTrtUVIsKDO0Q==", + "@babel/helper-compilation-targets": { + "version": "7.15.4", + "dev": true, "requires": { - "@ethersproject/abstract-provider": "^5.5.0", - "@ethersproject/abstract-signer": "^5.5.0", - "@ethersproject/address": "^5.5.0", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/hash": "^5.5.0", - "@ethersproject/hdnode": "^5.5.0", - "@ethersproject/json-wallets": "^5.5.0", - "@ethersproject/keccak256": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/random": "^5.5.0", - "@ethersproject/signing-key": "^5.5.0", - "@ethersproject/transactions": "^5.5.0", - "@ethersproject/wordlists": "^5.5.0" + "@babel/compat-data": "^7.15.0", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.16.6", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "dev": true + } } }, - "@ethersproject/web": { - "version": "5.5.0", - "integrity": "sha512-BEgY0eL5oH4mAo37TNYVrFeHsIXLRxggCRG/ksRIxI2X5uj5IsjGmcNiRN/VirQOlBxcUhCgHhaDLG4m6XAVoA==", + "@babel/helper-function-name": { + "version": "7.15.4", + "dev": true, "requires": { - "@ethersproject/base64": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/strings": "^5.5.0" + "@babel/helper-get-function-arity": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/types": "^7.15.4" } }, - "@ethersproject/wordlists": { - "version": "5.5.0", - "integrity": "sha512-bL0UTReWDiaQJJYOC9sh/XcRu/9i2jMrzf8VLRmPKx58ckSlOJiohODkECCO50dtLZHcGU6MLXQ4OOrgBwP77Q==", + "@babel/helper-get-function-arity": { + "version": "7.15.4", + "dev": true, "requires": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/hash": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/strings": "^5.5.0" + "@babel/types": "^7.15.4" } }, - "@humanwhocodes/config-array": { - "version": "0.5.0", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "@babel/helper-hoist-variables": { + "version": "7.15.4", "dev": true, "requires": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" + "@babel/types": "^7.15.4" } }, - "@humanwhocodes/object-schema": { - "version": "1.2.0", - "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", - "dev": true + "@babel/helper-member-expression-to-functions": { + "version": "7.15.4", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } }, - "@iarna/toml": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-3.0.0.tgz", - "integrity": "sha512-td6ZUkz2oS3VeleBcN+m//Q6HlCFCPrnI0FZhrt/h4XqLEdOyYp2u21nd8MdsR+WJy5r9PTDaHTDDfhf4H4l6Q==", - "dev": true + "@babel/helper-module-imports": { + "version": "7.15.4", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } }, - "@ipld/dag-cbor": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-7.0.1.tgz", - "integrity": "sha512-XqG8VEzHjQDC/Qcy5Gyf1kvAav5VuAugc6c7VtdaRLI+3d8lJrUP3F76GYJNNXuEnRZ58cCBnNNglkIGTdg1+A==", + "@babel/helper-module-transforms": { + "version": "7.15.7", "dev": true, "requires": { - "cborg": "^1.6.0", - "multiformats": "^9.5.4" + "@babel/helper-module-imports": "^7.15.4", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-simple-access": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/helper-validator-identifier": "^7.15.7", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.6" } }, - "@ipld/dag-json": { - "version": "8.0.9", - "resolved": "https://registry.npmjs.org/@ipld/dag-json/-/dag-json-8.0.9.tgz", - "integrity": "sha512-NNKHmgHxc2zOEaB8qOUpAb2UK1vcEE/rBeh018Da/RzXE7N8GwiTJLRZ3Fe/G4fsiis67G0sagRz/YNQcANRsQ==", + "@babel/helper-optimise-call-expression": { + "version": "7.15.4", "dev": true, "requires": { - "cborg": "^1.5.4", - "multiformats": "^9.5.4" + "@babel/types": "^7.15.4" } }, - "@ipld/dag-pb": { - "version": "2.1.16", - "resolved": "https://registry.npmjs.org/@ipld/dag-pb/-/dag-pb-2.1.16.tgz", - "integrity": "sha512-5+A87ZsKZ2yEEjtW6LIzTgDJcm6O24d0lmXlubwtMblI5ZB+aTw7PH6kjc8fM6pbnNtVg4Y+c+WZ3zCxdesIBg==", + "@babel/helper-replace-supers": { + "version": "7.15.4", "dev": true, "requires": { - "multiformats": "^9.5.4" + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" } }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "@babel/helper-simple-access": { + "version": "7.15.4", "dev": true, "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.15.4", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.15.7", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.14.5", + "dev": true + }, + "@babel/helpers": { + "version": "7.15.4", + "dev": true, + "requires": { + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/highlight": { + "version": "7.14.5", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" }, "dependencies": { - "find-up": { - "version": "4.1.0", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "ansi-styles": { + "version": "3.2.1", "dev": true, "requires": { - "p-locate": "^4.1.0" + "color-convert": "^1.9.0" } }, - "p-limit": { - "version": "2.3.0", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "chalk": { + "version": "2.4.2", "dev": true, "requires": { - "p-try": "^2.0.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, - "p-locate": { - "version": "4.1.0", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "color-convert": { + "version": "1.9.3", "dev": true, "requires": { - "p-limit": "^2.2.0" + "color-name": "1.1.3" } }, - "p-try": { - "version": "2.2.0", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "color-name": { + "version": "1.1.3", "dev": true }, - "path-exists": { - "version": "4.0.0", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "escape-string-regexp": { + "version": "1.0.5", "dev": true }, - "resolve-from": { - "version": "5.0.0", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "has-flag": { + "version": "3.0.0", "dev": true + }, + "supports-color": { + "version": "5.5.0", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } } } }, - "@istanbuljs/schema": { - "version": "0.1.3", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "@babel/parser": { + "version": "7.15.7", "dev": true }, - "@metamask/eth-sig-util": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.0.tgz", - "integrity": "sha512-LczOjjxY4A7XYloxzyxJIHONELmUxVZncpOLoClpEcTiebiVdM46KRPYXGuULro9oNNR2xdVx3yoKiQjdfWmoA==", + "@babel/template": { + "version": "7.15.4", + "dev": true, "requires": { - "ethereumjs-abi": "^0.6.8", - "ethereumjs-util": "^6.2.1", - "ethjs-util": "^0.1.6", - "tweetnacl": "^1.0.3", - "tweetnacl-util": "^0.15.1" + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4" }, "dependencies": { - "@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "requires": { - "@types/node": "*" - } - }, - "ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "@babel/code-frame": { + "version": "7.14.5", + "dev": true, "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" + "@babel/highlight": "^7.14.5" } } } }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@nomiclabs/hardhat-ethers": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.0.5.tgz", - "integrity": "sha512-A2gZAGB6kUvLx+kzM92HKuUF33F1FSe90L0TmkXkT2Hh0OKRpvWZURUSU2nghD2yC4DzfEZ3DftfeHGvZ2JTUw==", + "@babel/traverse": { + "version": "7.15.4", "dev": true, - "requires": {} - }, - "@nomiclabs/hardhat-etherscan": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-etherscan/-/hardhat-etherscan-3.0.3.tgz", - "integrity": "sha512-OfNtUKc/ZwzivmZnnpwWREfaYncXteKHskn3yDnz+fPBZ6wfM4GR+d5RwjREzYFWE+o5iR9ruXhWw/8fejWM9g==", "requires": { - "@ethersproject/abi": "^5.1.2", - "@ethersproject/address": "^5.0.2", - "cbor": "^5.0.2", - "debug": "^4.1.1", - "fs-extra": "^7.0.1", - "semver": "^6.3.0", - "undici": "^4.14.1" + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4", + "debug": "^4.1.0", + "globals": "^11.1.0" }, "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "@babel/code-frame": { + "version": "7.14.5", + "dev": true, + "requires": { + "@babel/highlight": "^7.14.5" + } + }, + "globals": { + "version": "11.12.0", + "dev": true } } }, - "@protobufjs/aspromise": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=", - "dev": true - }, - "@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", - "dev": true - }, - "@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", - "dev": true - }, - "@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=", - "dev": true - }, - "@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", + "@babel/types": { + "version": "7.15.6", "dev": true, "requires": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" + "@babel/helper-validator-identifier": "^7.14.9", + "to-fast-properties": "^2.0.0" } }, - "@protobufjs/float": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=", - "dev": true - }, - "@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=", - "dev": true - }, - "@protobufjs/path": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=", - "dev": true - }, - "@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=", - "dev": true - }, - "@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=", - "dev": true - }, - "@sentry/core": { - "version": "5.30.0", - "integrity": "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==", + "@eslint/eslintrc": { + "version": "0.4.3", + "dev": true, "requires": { - "@sentry/hub": "5.30.0", - "@sentry/minimal": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" } }, - "@sentry/hub": { - "version": "5.30.0", - "integrity": "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==", + "@ethereumjs/block": { + "version": "3.6.2", "requires": { - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" + "@ethereumjs/common": "^2.6.3", + "@ethereumjs/tx": "^3.5.1", + "ethereumjs-util": "^7.1.4", + "merkle-patricia-tree": "^4.2.4" } }, - "@sentry/minimal": { - "version": "5.30.0", - "integrity": "sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==", + "@ethereumjs/blockchain": { + "version": "5.5.2", "requires": { - "@sentry/hub": "5.30.0", - "@sentry/types": "5.30.0", - "tslib": "^1.9.3" + "@ethereumjs/block": "^3.6.2", + "@ethereumjs/common": "^2.6.3", + "@ethereumjs/ethash": "^1.1.0", + "debug": "^4.3.3", + "ethereumjs-util": "^7.1.4", + "level-mem": "^5.0.1", + "lru-cache": "^5.1.1", + "semaphore-async-await": "^1.5.1" } }, - "@sentry/node": { - "version": "5.30.0", - "integrity": "sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==", + "@ethereumjs/common": { + "version": "2.6.3", "requires": { - "@sentry/core": "5.30.0", - "@sentry/hub": "5.30.0", - "@sentry/tracing": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "cookie": "^0.4.1", - "https-proxy-agent": "^5.0.0", - "lru_map": "^0.3.3", - "tslib": "^1.9.3" + "crc-32": "^1.2.0", + "ethereumjs-util": "^7.1.4" } }, - "@sentry/tracing": { - "version": "5.30.0", - "integrity": "sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==", + "@ethereumjs/ethash": { + "version": "1.1.0", "requires": { - "@sentry/hub": "5.30.0", - "@sentry/minimal": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" + "@ethereumjs/block": "^3.5.0", + "@types/levelup": "^4.3.0", + "buffer-xor": "^2.0.1", + "ethereumjs-util": "^7.1.1", + "miller-rabin": "^4.0.0" } }, - "@sentry/types": { - "version": "5.30.0", - "integrity": "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==" - }, - "@sentry/utils": { - "version": "5.30.0", - "integrity": "sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==", + "@ethereumjs/tx": { + "version": "3.5.1", "requires": { - "@sentry/types": "5.30.0", - "tslib": "^1.9.3" + "@ethereumjs/common": "^2.6.3", + "ethereumjs-util": "^7.1.4" } }, - "@sindresorhus/is": { - "version": "0.14.0", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", - "dev": true - }, - "@sinonjs/commons": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", - "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", - "dev": true, + "@ethereumjs/vm": { + "version": "5.8.0", "requires": { - "type-detect": "4.0.8" + "@ethereumjs/block": "^3.6.2", + "@ethereumjs/blockchain": "^5.5.2", + "@ethereumjs/common": "^2.6.3", + "@ethereumjs/tx": "^3.5.1", + "async-eventemitter": "^0.2.4", + "core-js-pure": "^3.0.1", + "debug": "^4.3.3", + "ethereumjs-util": "^7.1.4", + "functional-red-black-tree": "^1.0.1", + "mcl-wasm": "^0.7.1", + "merkle-patricia-tree": "^4.2.4", + "rustbn.js": "~0.2.0" } }, - "@sinonjs/fake-timers": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", - "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", - "dev": true, + "@ethersproject/abi": { + "version": "5.5.0", + "requires": { + "@ethersproject/address": "^5.5.0", + "@ethersproject/bignumber": "^5.5.0", + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/constants": "^5.5.0", + "@ethersproject/hash": "^5.5.0", + "@ethersproject/keccak256": "^5.5.0", + "@ethersproject/logger": "^5.5.0", + "@ethersproject/properties": "^5.5.0", + "@ethersproject/strings": "^5.5.0" + } + }, + "@ethersproject/abstract-provider": { + "version": "5.5.1", + "requires": { + "@ethersproject/bignumber": "^5.5.0", + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/logger": "^5.5.0", + "@ethersproject/networks": "^5.5.0", + "@ethersproject/properties": "^5.5.0", + "@ethersproject/transactions": "^5.5.0", + "@ethersproject/web": "^5.5.0" + } + }, + "@ethersproject/abstract-signer": { + "version": "5.5.0", + "requires": { + "@ethersproject/abstract-provider": "^5.5.0", + "@ethersproject/bignumber": "^5.5.0", + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/logger": "^5.5.0", + "@ethersproject/properties": "^5.5.0" + } + }, + "@ethersproject/address": { + "version": "5.5.0", + "requires": { + "@ethersproject/bignumber": "^5.5.0", + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/keccak256": "^5.5.0", + "@ethersproject/logger": "^5.5.0", + "@ethersproject/rlp": "^5.5.0" + } + }, + "@ethersproject/base64": { + "version": "5.5.0", + "requires": { + "@ethersproject/bytes": "^5.5.0" + } + }, + "@ethersproject/basex": { + "version": "5.5.0", + "requires": { + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/properties": "^5.5.0" + } + }, + "@ethersproject/bignumber": { + "version": "5.5.0", + "requires": { + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/logger": "^5.5.0", + "bn.js": "^4.11.9" + } + }, + "@ethersproject/bytes": { + "version": "5.5.0", + "requires": { + "@ethersproject/logger": "^5.5.0" + } + }, + "@ethersproject/constants": { + "version": "5.5.0", + "requires": { + "@ethersproject/bignumber": "^5.5.0" + } + }, + "@ethersproject/contracts": { + "version": "5.5.0", + "requires": { + "@ethersproject/abi": "^5.5.0", + "@ethersproject/abstract-provider": "^5.5.0", + "@ethersproject/abstract-signer": "^5.5.0", + "@ethersproject/address": "^5.5.0", + "@ethersproject/bignumber": "^5.5.0", + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/constants": "^5.5.0", + "@ethersproject/logger": "^5.5.0", + "@ethersproject/properties": "^5.5.0", + "@ethersproject/transactions": "^5.5.0" + } + }, + "@ethersproject/hash": { + "version": "5.5.0", + "requires": { + "@ethersproject/abstract-signer": "^5.5.0", + "@ethersproject/address": "^5.5.0", + "@ethersproject/bignumber": "^5.5.0", + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/keccak256": "^5.5.0", + "@ethersproject/logger": "^5.5.0", + "@ethersproject/properties": "^5.5.0", + "@ethersproject/strings": "^5.5.0" + } + }, + "@ethersproject/hdnode": { + "version": "5.5.0", + "requires": { + "@ethersproject/abstract-signer": "^5.5.0", + "@ethersproject/basex": "^5.5.0", + "@ethersproject/bignumber": "^5.5.0", + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/logger": "^5.5.0", + "@ethersproject/pbkdf2": "^5.5.0", + "@ethersproject/properties": "^5.5.0", + "@ethersproject/sha2": "^5.5.0", + "@ethersproject/signing-key": "^5.5.0", + "@ethersproject/strings": "^5.5.0", + "@ethersproject/transactions": "^5.5.0", + "@ethersproject/wordlists": "^5.5.0" + } + }, + "@ethersproject/json-wallets": { + "version": "5.5.0", + "requires": { + "@ethersproject/abstract-signer": "^5.5.0", + "@ethersproject/address": "^5.5.0", + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/hdnode": "^5.5.0", + "@ethersproject/keccak256": "^5.5.0", + "@ethersproject/logger": "^5.5.0", + "@ethersproject/pbkdf2": "^5.5.0", + "@ethersproject/properties": "^5.5.0", + "@ethersproject/random": "^5.5.0", + "@ethersproject/strings": "^5.5.0", + "@ethersproject/transactions": "^5.5.0", + "aes-js": "3.0.0", + "scrypt-js": "3.0.1" + } + }, + "@ethersproject/keccak256": { + "version": "5.5.0", + "requires": { + "@ethersproject/bytes": "^5.5.0", + "js-sha3": "0.8.0" + }, + "dependencies": { + "js-sha3": { + "version": "0.8.0" + } + } + }, + "@ethersproject/logger": { + "version": "5.5.0" + }, + "@ethersproject/networks": { + "version": "5.5.0", + "requires": { + "@ethersproject/logger": "^5.5.0" + } + }, + "@ethersproject/pbkdf2": { + "version": "5.5.0", + "requires": { + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/sha2": "^5.5.0" + } + }, + "@ethersproject/properties": { + "version": "5.5.0", + "requires": { + "@ethersproject/logger": "^5.5.0" + } + }, + "@ethersproject/providers": { + "version": "5.5.0", + "requires": { + "@ethersproject/abstract-provider": "^5.5.0", + "@ethersproject/abstract-signer": "^5.5.0", + "@ethersproject/address": "^5.5.0", + "@ethersproject/basex": "^5.5.0", + "@ethersproject/bignumber": "^5.5.0", + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/constants": "^5.5.0", + "@ethersproject/hash": "^5.5.0", + "@ethersproject/logger": "^5.5.0", + "@ethersproject/networks": "^5.5.0", + "@ethersproject/properties": "^5.5.0", + "@ethersproject/random": "^5.5.0", + "@ethersproject/rlp": "^5.5.0", + "@ethersproject/sha2": "^5.5.0", + "@ethersproject/strings": "^5.5.0", + "@ethersproject/transactions": "^5.5.0", + "@ethersproject/web": "^5.5.0", + "bech32": "1.1.4", + "ws": "7.4.6" + }, + "dependencies": { + "ws": { + "version": "7.4.6", + "requires": {} + } + } + }, + "@ethersproject/random": { + "version": "5.5.0", + "requires": { + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/logger": "^5.5.0" + } + }, + "@ethersproject/rlp": { + "version": "5.5.0", + "requires": { + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/logger": "^5.5.0" + } + }, + "@ethersproject/sha2": { + "version": "5.5.0", + "requires": { + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/logger": "^5.5.0", + "hash.js": "1.1.7" + } + }, + "@ethersproject/signing-key": { + "version": "5.5.0", + "requires": { + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/logger": "^5.5.0", + "@ethersproject/properties": "^5.5.0", + "bn.js": "^4.11.9", + "elliptic": "6.5.4", + "hash.js": "1.1.7" + } + }, + "@ethersproject/solidity": { + "version": "5.5.0", + "requires": { + "@ethersproject/bignumber": "^5.5.0", + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/keccak256": "^5.5.0", + "@ethersproject/logger": "^5.5.0", + "@ethersproject/sha2": "^5.5.0", + "@ethersproject/strings": "^5.5.0" + } + }, + "@ethersproject/strings": { + "version": "5.5.0", + "requires": { + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/constants": "^5.5.0", + "@ethersproject/logger": "^5.5.0" + } + }, + "@ethersproject/transactions": { + "version": "5.5.0", + "requires": { + "@ethersproject/address": "^5.5.0", + "@ethersproject/bignumber": "^5.5.0", + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/constants": "^5.5.0", + "@ethersproject/keccak256": "^5.5.0", + "@ethersproject/logger": "^5.5.0", + "@ethersproject/properties": "^5.5.0", + "@ethersproject/rlp": "^5.5.0", + "@ethersproject/signing-key": "^5.5.0" + } + }, + "@ethersproject/units": { + "version": "5.5.0", + "requires": { + "@ethersproject/bignumber": "^5.5.0", + "@ethersproject/constants": "^5.5.0", + "@ethersproject/logger": "^5.5.0" + } + }, + "@ethersproject/wallet": { + "version": "5.5.0", + "requires": { + "@ethersproject/abstract-provider": "^5.5.0", + "@ethersproject/abstract-signer": "^5.5.0", + "@ethersproject/address": "^5.5.0", + "@ethersproject/bignumber": "^5.5.0", + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/hash": "^5.5.0", + "@ethersproject/hdnode": "^5.5.0", + "@ethersproject/json-wallets": "^5.5.0", + "@ethersproject/keccak256": "^5.5.0", + "@ethersproject/logger": "^5.5.0", + "@ethersproject/properties": "^5.5.0", + "@ethersproject/random": "^5.5.0", + "@ethersproject/signing-key": "^5.5.0", + "@ethersproject/transactions": "^5.5.0", + "@ethersproject/wordlists": "^5.5.0" + } + }, + "@ethersproject/web": { + "version": "5.5.0", + "requires": { + "@ethersproject/base64": "^5.5.0", + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/logger": "^5.5.0", + "@ethersproject/properties": "^5.5.0", + "@ethersproject/strings": "^5.5.0" + } + }, + "@ethersproject/wordlists": { + "version": "5.5.0", + "requires": { + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/hash": "^5.5.0", + "@ethersproject/logger": "^5.5.0", + "@ethersproject/properties": "^5.5.0", + "@ethersproject/strings": "^5.5.0" + } + }, + "@humanwhocodes/config-array": { + "version": "0.5.0", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + } + }, + "@humanwhocodes/object-schema": { + "version": "1.2.0", + "dev": true + }, + "@iarna/toml": { + "version": "3.0.0", + "dev": true + }, + "@ipld/dag-cbor": { + "version": "7.0.1", + "dev": true, + "requires": { + "cborg": "^1.6.0", + "multiformats": "^9.5.4" + } + }, + "@ipld/dag-json": { + "version": "8.0.9", + "dev": true, + "requires": { + "cborg": "^1.5.4", + "multiformats": "^9.5.4" + } + }, + "@ipld/dag-pb": { + "version": "2.1.16", + "dev": true, + "requires": { + "multiformats": "^9.5.4" + } + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "resolve-from": { + "version": "5.0.0", + "dev": true + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "dev": true + }, + "@metamask/eth-sig-util": { + "version": "4.0.0", + "requires": { + "ethereumjs-abi": "^0.6.8", + "ethereumjs-util": "^6.2.1", + "ethjs-util": "^0.1.6", + "tweetnacl": "^1.0.3", + "tweetnacl-util": "^0.15.1" + }, + "dependencies": { + "@types/bn.js": { + "version": "4.11.6", + "requires": { + "@types/node": "*" + } + }, + "ethereumjs-util": { + "version": "6.2.1", + "requires": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + } + } + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5" + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@nomiclabs/hardhat-ethers": { + "version": "2.0.5", + "dev": true, + "requires": {} + }, + "@nomiclabs/hardhat-etherscan": { + "version": "3.0.3", + "requires": { + "@ethersproject/abi": "^5.1.2", + "@ethersproject/address": "^5.0.2", + "cbor": "^5.0.2", + "debug": "^4.1.1", + "fs-extra": "^7.0.1", + "semver": "^6.3.0", + "undici": "^4.14.1" + }, + "dependencies": { + "semver": { + "version": "6.3.0" + } + } + }, + "@protobufjs/aspromise": { + "version": "1.1.2", + "dev": true + }, + "@protobufjs/base64": { + "version": "1.1.2", + "dev": true + }, + "@protobufjs/codegen": { + "version": "2.0.4", + "dev": true + }, + "@protobufjs/eventemitter": { + "version": "1.1.0", + "dev": true + }, + "@protobufjs/fetch": { + "version": "1.1.0", + "dev": true, + "requires": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "@protobufjs/float": { + "version": "1.0.2", + "dev": true + }, + "@protobufjs/inquire": { + "version": "1.1.0", + "dev": true + }, + "@protobufjs/path": { + "version": "1.1.2", + "dev": true + }, + "@protobufjs/pool": { + "version": "1.1.0", + "dev": true + }, + "@protobufjs/utf8": { + "version": "1.1.0", + "dev": true + }, + "@sentry/core": { + "version": "5.30.0", + "requires": { + "@sentry/hub": "5.30.0", + "@sentry/minimal": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + } + }, + "@sentry/hub": { + "version": "5.30.0", + "requires": { + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + } + }, + "@sentry/minimal": { + "version": "5.30.0", + "requires": { + "@sentry/hub": "5.30.0", + "@sentry/types": "5.30.0", + "tslib": "^1.9.3" + } + }, + "@sentry/node": { + "version": "5.30.0", + "requires": { + "@sentry/core": "5.30.0", + "@sentry/hub": "5.30.0", + "@sentry/tracing": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "cookie": "^0.4.1", + "https-proxy-agent": "^5.0.0", + "lru_map": "^0.3.3", + "tslib": "^1.9.3" + } + }, + "@sentry/tracing": { + "version": "5.30.0", + "requires": { + "@sentry/hub": "5.30.0", + "@sentry/minimal": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + } + }, + "@sentry/types": { + "version": "5.30.0" + }, + "@sentry/utils": { + "version": "5.30.0", + "requires": { + "@sentry/types": "5.30.0", + "tslib": "^1.9.3" + } + }, + "@sindresorhus/is": { + "version": "0.14.0", + "dev": true + }, + "@sinonjs/commons": { + "version": "1.8.3", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "7.1.2", + "dev": true, "requires": { "@sinonjs/commons": "^1.7.0" } }, "@sinonjs/samsam": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-6.0.2.tgz", - "integrity": "sha512-jxPRPp9n93ci7b8hMfJOFDPRLFYadN6FSpeROFTR4UNF4i5b+EK6m4QXPO46BDhFgRy1JuS87zAnFOzCUwMJcQ==", "dev": true, "requires": { "@sinonjs/commons": "^1.6.0", @@ -19637,475 +19934,933 @@ }, "@sinonjs/text-encoding": { "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz", - "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==", "dev": true }, "@solidity-parser/parser": { "version": "0.14.1", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.14.1.tgz", - "integrity": "sha512-eLjj2L6AuQjBB6s/ibwCAc0DwrR5Ge+ys+wgWo+bviU7fV2nTMQhU63CGaDKXg9iTmMxwhkyoggdIR7ZGRfMgw==", "requires": { "antlr4ts": "^0.5.0-alpha.4" } }, - "@synthetixio/ambassador-council": { - "version": "file:packages/ambassador-council" + "@synthetixio/ambassador-council": { + "version": "file:packages/ambassador-council" + }, + "@synthetixio/cli": { + "version": "file:packages/cli", + "requires": { + "@nomiclabs/hardhat-ethers": "2.0.5", + "fuse.js": "6.6.2", + "hardhat": "2.9.3", + "mocha": "9.1.1", + "nyc": "15.1.0", + "prompts": "2.3.1" + }, + "dependencies": { + "argparse": { + "version": "2.0.1", + "dev": true + }, + "debug": { + "version": "4.3.1", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "mocha": { + "version": "9.1.1", + "dev": true, + "requires": { + "@ungap/promise-all-settled": "1.1.2", + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.2", + "debug": "4.3.1", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.1.7", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "3.0.4", + "ms": "2.1.3", + "nanoid": "3.1.23", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "which": "2.0.2", + "wide-align": "1.1.3", + "workerpool": "6.1.5", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.1.3", + "dev": true + } + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "prompts": { + "version": "2.3.1", + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.4" + } + }, + "supports-color": { + "version": "8.1.1", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@synthetixio/common-config": { + "version": "file:packages/common-config", + "requires": { + "@nomiclabs/hardhat-ethers": "2.0.5", + "dotenv": "16.0.1", + "hardhat": "2.9.3", + "hardhat-contract-sizer": "2.1.1", + "solidity-coverage": "0.7.17" + } + }, + "@synthetixio/core-contracts": { + "version": "file:packages/core-contracts" + }, + "@synthetixio/core-js": { + "version": "file:packages/core-js", + "requires": { + "chalk": "4.1.2", + "ethers": "5.5.1", + "hardhat": "2.9.3", + "mocha": "9.1.1", + "nyc": "15.1.0", + "prompts": "2.4.2", + "sinon": "11.1.2" + }, + "dependencies": { + "argparse": { + "version": "2.0.1", + "dev": true + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "mocha": { + "version": "9.1.1", + "dev": true, + "requires": { + "@ungap/promise-all-settled": "1.1.2", + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.2", + "debug": "4.3.1", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.1.7", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "3.0.4", + "ms": "2.1.3", + "nanoid": "3.1.23", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "which": "2.0.2", + "wide-align": "1.1.3", + "workerpool": "6.1.5", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "dev": true, + "requires": { + "ms": "2.1.2" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "dev": true + } + } + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "ms": { + "version": "2.1.3", + "dev": true + }, + "supports-color": { + "version": "8.1.1", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + } + } + }, + "@synthetixio/core-modules": { + "version": "file:packages/core-modules" }, - "@synthetixio/cli": { - "version": "file:packages/cli", + "@synthetixio/deployer": { + "version": "file:packages/deployer", "requires": { "@nomiclabs/hardhat-ethers": "2.0.5", - "fuse.js": "6.6.2", + "@nomiclabs/hardhat-etherscan": "3.0.3", + "@tenderly/hardhat-tenderly": "1.0.15", + "axios": "0.27.2", + "chalk": "4.1.2", + "del": "6.0.0", + "filter-values": "0.4.1", + "glob": "7.1.7", "hardhat": "2.9.3", + "mkdirp": "1.0.4", "mocha": "9.1.1", + "mustache": "4.2.0", "nyc": "15.1.0", - "prompts": "2.3.1" + "solidity-ast": "0.4.26", + "string-natural-compare": "3.0.1", + "use-strict": "1.0.1" }, "dependencies": { "argparse": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "axios": { + "version": "0.27.2", + "requires": { + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" + } + }, + "debug": { + "version": "4.3.1", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "find-up": { + "version": "5.0.0", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "js-yaml": { + "version": "4.1.0", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "locate-path": { + "version": "6.0.0", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "mkdirp": { + "version": "1.0.4" + }, + "mocha": { + "version": "9.1.1", + "dev": true, + "requires": { + "@ungap/promise-all-settled": "1.1.2", + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.2", + "debug": "4.3.1", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.1.7", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "3.0.4", + "ms": "2.1.3", + "nanoid": "3.1.23", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "which": "2.0.2", + "wide-align": "1.1.3", + "workerpool": "6.1.5", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.1.3", + "dev": true + } + } + }, + "p-limit": { + "version": "3.1.0", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "path-exists": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "8.1.1", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@synthetixio/grants-council": { + "version": "file:packages/grants-council" + }, + "@synthetixio/main": { + "version": "file:packages/synthetix-main", + "requires": { + "@nomiclabs/hardhat-ethers": "2.0.5", + "hardhat": "2.9.3", + "hardhat-cannon": "1.0.22", + "hardhat-contract-sizer": "2.1.1", + "solidity-coverage": "0.7.17" + }, + "dependencies": { + "@ethersproject/abi": { + "version": "5.6.4", + "dev": true, + "requires": { + "@ethersproject/address": "^5.6.1", + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/constants": "^5.6.1", + "@ethersproject/hash": "^5.6.1", + "@ethersproject/keccak256": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/strings": "^5.6.1" + } + }, + "@ethersproject/abstract-provider": { + "version": "5.6.1", + "dev": true, + "requires": { + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/networks": "^5.6.3", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/transactions": "^5.6.2", + "@ethersproject/web": "^5.6.1" + } + }, + "@ethersproject/abstract-signer": { + "version": "5.6.2", + "dev": true, + "requires": { + "@ethersproject/abstract-provider": "^5.6.1", + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0" + } + }, + "@ethersproject/address": { + "version": "5.6.1", + "dev": true, + "requires": { + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/keccak256": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/rlp": "^5.6.1" + } + }, + "@ethersproject/base64": { + "version": "5.6.1", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.6.1" + } + }, + "@ethersproject/basex": { + "version": "5.6.1", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/properties": "^5.6.0" + } + }, + "@ethersproject/bignumber": { + "version": "5.6.2", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "bn.js": "^5.2.1" + } + }, + "@ethersproject/bytes": { + "version": "5.6.1", + "dev": true, + "requires": { + "@ethersproject/logger": "^5.6.0" + } + }, + "@ethersproject/constants": { + "version": "5.6.1", + "dev": true, + "requires": { + "@ethersproject/bignumber": "^5.6.2" + } + }, + "@ethersproject/contracts": { + "version": "5.6.2", + "dev": true, + "requires": { + "@ethersproject/abi": "^5.6.3", + "@ethersproject/abstract-provider": "^5.6.1", + "@ethersproject/abstract-signer": "^5.6.2", + "@ethersproject/address": "^5.6.1", + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/constants": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/transactions": "^5.6.2" + } + }, + "@ethersproject/hash": { + "version": "5.6.1", + "dev": true, + "requires": { + "@ethersproject/abstract-signer": "^5.6.2", + "@ethersproject/address": "^5.6.1", + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/keccak256": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/strings": "^5.6.1" + } + }, + "@ethersproject/hdnode": { + "version": "5.6.2", "dev": true, "requires": { - "ms": "2.1.2" + "@ethersproject/abstract-signer": "^5.6.2", + "@ethersproject/basex": "^5.6.1", + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/pbkdf2": "^5.6.1", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/sha2": "^5.6.1", + "@ethersproject/signing-key": "^5.6.2", + "@ethersproject/strings": "^5.6.1", + "@ethersproject/transactions": "^5.6.2", + "@ethersproject/wordlists": "^5.6.1" } }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "@ethersproject/json-wallets": { + "version": "5.6.1", "dev": true, "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "@ethersproject/abstract-signer": "^5.6.2", + "@ethersproject/address": "^5.6.1", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/hdnode": "^5.6.2", + "@ethersproject/keccak256": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/pbkdf2": "^5.6.1", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/random": "^5.6.1", + "@ethersproject/strings": "^5.6.1", + "@ethersproject/transactions": "^5.6.2", + "aes-js": "3.0.0", + "scrypt-js": "3.0.1" } }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "@ethersproject/keccak256": { + "version": "5.6.1", "dev": true, "requires": { - "argparse": "^2.0.1" + "@ethersproject/bytes": "^5.6.1", + "js-sha3": "0.8.0" } }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "@ethersproject/logger": { + "version": "5.6.0", + "dev": true + }, + "@ethersproject/networks": { + "version": "5.6.4", "dev": true, "requires": { - "p-locate": "^5.0.0" + "@ethersproject/logger": "^5.6.0" } }, - "mocha": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.1.1.tgz", - "integrity": "sha512-0wE74YMgOkCgBUj8VyIDwmLUjTsS13WV1Pg7l0SHea2qzZzlq7MDnfbPsHKcELBRk3+izEVkRofjmClpycudCA==", + "@ethersproject/pbkdf2": { + "version": "5.6.1", "dev": true, "requires": { - "@ungap/promise-all-settled": "1.1.2", - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.2", - "debug": "4.3.1", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.1.7", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "3.0.4", - "ms": "2.1.3", - "nanoid": "3.1.23", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "which": "2.0.2", - "wide-align": "1.1.3", - "workerpool": "6.1.5", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - } + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/sha2": "^5.6.1" } }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "@ethersproject/properties": { + "version": "5.6.0", "dev": true, "requires": { - "yocto-queue": "^0.1.0" + "@ethersproject/logger": "^5.6.0" } }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "@ethersproject/providers": { + "version": "5.6.8", "dev": true, "requires": { - "p-limit": "^3.0.2" + "@ethersproject/abstract-provider": "^5.6.1", + "@ethersproject/abstract-signer": "^5.6.2", + "@ethersproject/address": "^5.6.1", + "@ethersproject/base64": "^5.6.1", + "@ethersproject/basex": "^5.6.1", + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/constants": "^5.6.1", + "@ethersproject/hash": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/networks": "^5.6.3", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/random": "^5.6.1", + "@ethersproject/rlp": "^5.6.1", + "@ethersproject/sha2": "^5.6.1", + "@ethersproject/strings": "^5.6.1", + "@ethersproject/transactions": "^5.6.2", + "@ethersproject/web": "^5.6.1", + "bech32": "1.1.4", + "ws": "7.4.6" } }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "prompts": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.1.tgz", - "integrity": "sha512-qIP2lQyCwYbdzcqHIUi2HAxiWixhoM9OdLCWf8txXsapC/X9YdsCoeyRIXE/GP+Q0J37Q7+XN/MFqbUa7IzXNA==", + "@ethersproject/random": { + "version": "5.6.1", + "dev": true, "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.4" + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/logger": "^5.6.0" } }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "@ethersproject/rlp": { + "version": "5.6.1", "dev": true, "requires": { - "has-flag": "^4.0.0" + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/logger": "^5.6.0" } - } - } - }, - "@synthetixio/common-config": { - "version": "file:packages/common-config", - "requires": { - "@nomiclabs/hardhat-ethers": "2.0.5", - "dotenv": "16.0.1", - "hardhat": "2.9.3", - "hardhat-contract-sizer": "2.1.1", - "solidity-coverage": "0.7.17" - } - }, - "@synthetixio/core-contracts": { - "version": "file:packages/core-contracts" - }, - "@synthetixio/core-js": { - "version": "file:packages/core-js", - "requires": { - "chalk": "4.1.2", - "ethers": "5.5.1", - "hardhat": "2.9.3", - "mocha": "9.1.1", - "nyc": "15.1.0", - "prompts": "2.4.2", - "sinon": "11.1.2" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "@ethersproject/sha2": { + "version": "5.6.1", "dev": true, "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "hash.js": "1.1.7" } }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "@ethersproject/signing-key": { + "version": "5.6.2", "dev": true, "requires": { - "p-locate": "^5.0.0" + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "bn.js": "^5.2.1", + "elliptic": "6.5.4", + "hash.js": "1.1.7" } }, - "mocha": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.1.1.tgz", - "integrity": "sha512-0wE74YMgOkCgBUj8VyIDwmLUjTsS13WV1Pg7l0SHea2qzZzlq7MDnfbPsHKcELBRk3+izEVkRofjmClpycudCA==", - "dev": true, - "requires": { - "@ungap/promise-all-settled": "1.1.2", - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.2", - "debug": "4.3.1", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.1.7", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "3.0.4", - "ms": "2.1.3", - "nanoid": "3.1.23", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "which": "2.0.2", - "wide-align": "1.1.3", - "workerpool": "6.1.5", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - }, - "dependencies": { - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "@ethersproject/solidity": { + "version": "5.6.1", + "dev": true, + "requires": { + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/keccak256": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/sha2": "^5.6.1", + "@ethersproject/strings": "^5.6.1" } }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "@ethersproject/strings": { + "version": "5.6.1", "dev": true, "requires": { - "yocto-queue": "^0.1.0" + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/constants": "^5.6.1", + "@ethersproject/logger": "^5.6.0" } }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "@ethersproject/transactions": { + "version": "5.6.2", "dev": true, "requires": { - "p-limit": "^3.0.2" + "@ethersproject/address": "^5.6.1", + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/constants": "^5.6.1", + "@ethersproject/keccak256": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/rlp": "^5.6.1", + "@ethersproject/signing-key": "^5.6.2" } }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - } - } - }, - "@synthetixio/core-modules": { - "version": "file:packages/core-modules" - }, - "@synthetixio/deployer": { - "version": "file:packages/deployer", - "requires": { - "@nomiclabs/hardhat-ethers": "2.0.5", - "@nomiclabs/hardhat-etherscan": "3.0.3", - "@tenderly/hardhat-tenderly": "1.0.15", - "axios": "0.27.2", - "chalk": "4.1.2", - "del": "6.0.0", - "filter-values": "0.4.1", - "glob": "7.1.7", - "hardhat": "2.9.3", - "mkdirp": "1.0.4", - "mocha": "9.1.1", - "mustache": "4.2.0", - "nyc": "15.1.0", - "solidity-ast": "0.4.26", - "string-natural-compare": "3.0.1", - "use-strict": "1.0.1" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "@ethersproject/units": { + "version": "5.6.1", + "dev": true, + "requires": { + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/constants": "^5.6.1", + "@ethersproject/logger": "^5.6.0" + } }, - "axios": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", - "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "@ethersproject/wallet": { + "version": "5.6.2", + "dev": true, "requires": { - "follow-redirects": "^1.14.9", - "form-data": "^4.0.0" + "@ethersproject/abstract-provider": "^5.6.1", + "@ethersproject/abstract-signer": "^5.6.2", + "@ethersproject/address": "^5.6.1", + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/hash": "^5.6.1", + "@ethersproject/hdnode": "^5.6.2", + "@ethersproject/json-wallets": "^5.6.1", + "@ethersproject/keccak256": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/random": "^5.6.1", + "@ethersproject/signing-key": "^5.6.2", + "@ethersproject/transactions": "^5.6.2", + "@ethersproject/wordlists": "^5.6.1" } }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "@ethersproject/web": { + "version": "5.6.1", "dev": true, "requires": { - "ms": "2.1.2" + "@ethersproject/base64": "^5.6.1", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/strings": "^5.6.1" } }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "@ethersproject/wordlists": { + "version": "5.6.1", "dev": true, "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/hash": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/strings": "^5.6.1" } }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "@usecannon/builder": { + "version": "1.0.21", "dev": true, "requires": { - "argparse": "^2.0.1" + "adm-zip": "^0.5.9", + "ajv": "^8.11.0", + "debug": "^4.3.4", + "fs-extra": "^10.1.0", + "ipfs-http-client": "^56.0.3", + "lodash": "^4.17.21", + "semver": "^7.3.7", + "typescript": "^4.6.2" + }, + "dependencies": { + "ipfs-http-client": { + "version": "56.0.3", + "dev": true, + "requires": { + "@ipld/dag-cbor": "^7.0.0", + "@ipld/dag-json": "^8.0.1", + "@ipld/dag-pb": "^2.1.3", + "any-signal": "^3.0.0", + "dag-jose": "^1.0.0", + "debug": "^4.1.1", + "err-code": "^3.0.1", + "ipfs-core-types": "^0.10.3", + "ipfs-core-utils": "^0.14.3", + "ipfs-utils": "^9.0.6", + "it-first": "^1.0.6", + "it-last": "^1.0.4", + "merge-options": "^3.0.4", + "multiaddr": "^10.0.0", + "multiformats": "^9.5.1", + "parse-duration": "^1.0.0", + "stream-to-it": "^0.2.2", + "uint8arrays": "^3.0.0" + } + }, + "ipfs-utils": { + "version": "9.0.7", + "dev": true, + "requires": { + "any-signal": "^3.0.0", + "buffer": "^6.0.1", + "electron-fetch": "^1.7.2", + "err-code": "^3.0.1", + "is-electron": "^2.2.0", + "iso-url": "^1.1.5", + "it-glob": "^1.0.1", + "it-to-stream": "^1.0.0", + "merge-options": "^3.0.4", + "nanoid": "^3.1.20", + "native-fetch": "^3.0.0", + "node-fetch": "https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.7.tgz", + "react-native-fetch-api": "^2.0.0", + "stream-to-it": "^0.2.2" + } + } } }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "adm-zip": { + "version": "0.5.9", + "dev": true + }, + "ajv": { + "version": "8.11.0", "dev": true, "requires": { - "p-locate": "^5.0.0" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" } }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + "bn.js": { + "version": "5.2.1", + "dev": true }, - "mocha": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.1.1.tgz", - "integrity": "sha512-0wE74YMgOkCgBUj8VyIDwmLUjTsS13WV1Pg7l0SHea2qzZzlq7MDnfbPsHKcELBRk3+izEVkRofjmClpycudCA==", + "buffer": { + "version": "6.0.3", "dev": true, "requires": { - "@ungap/promise-all-settled": "1.1.2", - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.2", - "debug": "4.3.1", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.1.7", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "3.0.4", - "ms": "2.1.3", - "nanoid": "3.1.23", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "which": "2.0.2", - "wide-align": "1.1.3", - "workerpool": "6.1.5", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - } + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "ethers": { + "version": "5.6.9", + "dev": true, + "requires": { + "@ethersproject/abi": "5.6.4", + "@ethersproject/abstract-provider": "5.6.1", + "@ethersproject/abstract-signer": "5.6.2", + "@ethersproject/address": "5.6.1", + "@ethersproject/base64": "5.6.1", + "@ethersproject/basex": "5.6.1", + "@ethersproject/bignumber": "5.6.2", + "@ethersproject/bytes": "5.6.1", + "@ethersproject/constants": "5.6.1", + "@ethersproject/contracts": "5.6.2", + "@ethersproject/hash": "5.6.1", + "@ethersproject/hdnode": "5.6.2", + "@ethersproject/json-wallets": "5.6.1", + "@ethersproject/keccak256": "5.6.1", + "@ethersproject/logger": "5.6.0", + "@ethersproject/networks": "5.6.4", + "@ethersproject/pbkdf2": "5.6.1", + "@ethersproject/properties": "5.6.0", + "@ethersproject/providers": "5.6.8", + "@ethersproject/random": "5.6.1", + "@ethersproject/rlp": "5.6.1", + "@ethersproject/sha2": "5.6.1", + "@ethersproject/signing-key": "5.6.2", + "@ethersproject/solidity": "5.6.1", + "@ethersproject/strings": "5.6.1", + "@ethersproject/transactions": "5.6.2", + "@ethersproject/units": "5.6.1", + "@ethersproject/wallet": "5.6.2", + "@ethersproject/web": "5.6.1", + "@ethersproject/wordlists": "5.6.1" } }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "fs-extra": { + "version": "10.1.0", "dev": true, "requires": { - "yocto-queue": "^0.1.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" } }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "hardhat-cannon": { + "version": "1.0.22", + "resolved": "https://registry.npmjs.org/hardhat-cannon/-/hardhat-cannon-1.0.22.tgz", + "integrity": "sha512-nksZ2dxgCyTXfjP29VhN/TY+XCpeiIBZAYzE4Z2Nqa9t14YU2B4tJ+as5BiY5TeZXSaMAPEq3+wfKVkSvg0fug==", "dev": true, "requires": { - "p-limit": "^3.0.2" + "@iarna/toml": "^3.0.0", + "@types/adm-zip": "^0.5.0", + "@types/archiver": "^5.3.1", + "@types/yazl": "^2.4.2", + "@usecannon/builder": "^1.0.21", + "@usecannon/cli": "^1.0.21", + "adm-zip": "^0.5.9", + "ajv": "^8.10.0", + "chalk": "^4.1.2", + "debug": "^4.3.3", + "ethereumjs-util": "^7.1.4", + "ethers": "^5.6.0", + "fs-extra": "^10.0.1", + "ipfs-http-client": "56.0.1", + "ipfs-utils": "9.0.2", + "lodash": "^4.17.21", + "merkle-patricia-tree": "^4.2.3", + "prompts": "^2.4.2", + "table": "^6.8.0" } }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "js-sha3": { + "version": "0.8.0", "dev": true }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "json-schema-traverse": { + "version": "1.0.0", + "dev": true + }, + "jsonfile": { + "version": "6.1.0", "dev": true, "requires": { - "has-flag": "^4.0.0" + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" } + }, + "node-fetch": { + "version": "npm:@achingbrain/node-fetch@2.6.7", + "dev": true + }, + "universalify": { + "version": "2.0.0", + "dev": true + }, + "ws": { + "version": "7.4.6", + "dev": true, + "requires": {} } } }, - "@synthetixio/grants-council": { - "version": "file:packages/grants-council" - }, - "@synthetixio/main": { - "version": "file:packages/synthetix-main" - }, "@synthetixio/sample-project": { "version": "file:packages/sample-project", "requires": { @@ -20116,8 +20871,6 @@ "dependencies": { "@ethersproject/abi": { "version": "5.6.4", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.6.4.tgz", - "integrity": "sha512-TTeZUlCeIHG6527/2goZA6gW5F8Emoc7MrZDC7hhP84aRGvW3TEdTnZR08Ls88YXM1m2SuK42Osw/jSi3uO8gg==", "dev": true, "requires": { "@ethersproject/address": "^5.6.1", @@ -20133,8 +20886,6 @@ }, "@ethersproject/abstract-provider": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.6.1.tgz", - "integrity": "sha512-BxlIgogYJtp1FS8Muvj8YfdClk3unZH0vRMVX791Z9INBNT/kuACZ9GzaY1Y4yFq+YSy6/w4gzj3HCRKrK9hsQ==", "dev": true, "requires": { "@ethersproject/bignumber": "^5.6.2", @@ -20148,8 +20899,6 @@ }, "@ethersproject/abstract-signer": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.6.2.tgz", - "integrity": "sha512-n1r6lttFBG0t2vNiI3HoWaS/KdOt8xyDjzlP2cuevlWLG6EX0OwcKLyG/Kp/cuwNxdy/ous+R/DEMdTUwWQIjQ==", "dev": true, "requires": { "@ethersproject/abstract-provider": "^5.6.1", @@ -20161,8 +20910,6 @@ }, "@ethersproject/address": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.6.1.tgz", - "integrity": "sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q==", "dev": true, "requires": { "@ethersproject/bignumber": "^5.6.2", @@ -20174,8 +20921,6 @@ }, "@ethersproject/base64": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.6.1.tgz", - "integrity": "sha512-qB76rjop6a0RIYYMiB4Eh/8n+Hxu2NIZm8S/Q7kNo5pmZfXhHGHmS4MinUainiBC54SCyRnwzL+KZjj8zbsSsw==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.1" @@ -20183,8 +20928,6 @@ }, "@ethersproject/basex": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.6.1.tgz", - "integrity": "sha512-a52MkVz4vuBXR06nvflPMotld1FJWSj2QT0985v7P/emPZO00PucFAkbcmq2vpVU7Ts7umKiSI6SppiLykVWsA==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.1", @@ -20193,8 +20936,6 @@ }, "@ethersproject/bignumber": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.6.2.tgz", - "integrity": "sha512-v7+EEUbhGqT3XJ9LMPsKvXYHFc8eHxTowFCG/HgJErmq4XHJ2WR7aeyICg3uTOAQ7Icn0GFHAohXEhxQHq4Ubw==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.1", @@ -20204,8 +20945,6 @@ }, "@ethersproject/bytes": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.6.1.tgz", - "integrity": "sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==", "dev": true, "requires": { "@ethersproject/logger": "^5.6.0" @@ -20213,8 +20952,6 @@ }, "@ethersproject/constants": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.6.1.tgz", - "integrity": "sha512-QSq9WVnZbxXYFftrjSjZDUshp6/eKp6qrtdBtUCm0QxCV5z1fG/w3kdlcsjMCQuQHUnAclKoK7XpXMezhRDOLg==", "dev": true, "requires": { "@ethersproject/bignumber": "^5.6.2" @@ -20222,8 +20959,6 @@ }, "@ethersproject/contracts": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.6.2.tgz", - "integrity": "sha512-hguUA57BIKi6WY0kHvZp6PwPlWF87MCeB4B7Z7AbUpTxfFXFdn/3b0GmjZPagIHS+3yhcBJDnuEfU4Xz+Ks/8g==", "dev": true, "requires": { "@ethersproject/abi": "^5.6.3", @@ -20240,8 +20975,6 @@ }, "@ethersproject/hash": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.6.1.tgz", - "integrity": "sha512-L1xAHurbaxG8VVul4ankNX5HgQ8PNCTrnVXEiFnE9xoRnaUcgfD12tZINtDinSllxPLCtGwguQxJ5E6keE84pA==", "dev": true, "requires": { "@ethersproject/abstract-signer": "^5.6.2", @@ -20256,8 +20989,6 @@ }, "@ethersproject/hdnode": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.6.2.tgz", - "integrity": "sha512-tERxW8Ccf9CxW2db3WsN01Qao3wFeRsfYY9TCuhmG0xNpl2IO8wgXU3HtWIZ49gUWPggRy4Yg5axU0ACaEKf1Q==", "dev": true, "requires": { "@ethersproject/abstract-signer": "^5.6.2", @@ -20276,8 +21007,6 @@ }, "@ethersproject/json-wallets": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.6.1.tgz", - "integrity": "sha512-KfyJ6Zwz3kGeX25nLihPwZYlDqamO6pfGKNnVMWWfEVVp42lTfCZVXXy5Ie8IZTN0HKwAngpIPi7gk4IJzgmqQ==", "dev": true, "requires": { "@ethersproject/abstract-signer": "^5.6.2", @@ -20297,8 +21026,6 @@ }, "@ethersproject/keccak256": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.6.1.tgz", - "integrity": "sha512-bB7DQHCTRDooZZdL3lk9wpL0+XuG3XLGHLh3cePnybsO3V0rdCAOQGpn/0R3aODmnTOOkCATJiD2hnL+5bwthA==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.1", @@ -20307,14 +21034,10 @@ }, "@ethersproject/logger": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.6.0.tgz", - "integrity": "sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==", "dev": true }, "@ethersproject/networks": { "version": "5.6.4", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.6.4.tgz", - "integrity": "sha512-KShHeHPahHI2UlWdtDMn2lJETcbtaJge4k7XSjDR9h79QTd6yQJmv6Cp2ZA4JdqWnhszAOLSuJEd9C0PRw7hSQ==", "dev": true, "requires": { "@ethersproject/logger": "^5.6.0" @@ -20322,8 +21045,6 @@ }, "@ethersproject/pbkdf2": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.6.1.tgz", - "integrity": "sha512-k4gRQ+D93zDRPNUfmduNKq065uadC2YjMP/CqwwX5qG6R05f47boq6pLZtV/RnC4NZAYOPH1Cyo54q0c9sshRQ==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.1", @@ -20332,8 +21053,6 @@ }, "@ethersproject/properties": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.6.0.tgz", - "integrity": "sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==", "dev": true, "requires": { "@ethersproject/logger": "^5.6.0" @@ -20341,8 +21060,6 @@ }, "@ethersproject/providers": { "version": "5.6.8", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.6.8.tgz", - "integrity": "sha512-Wf+CseT/iOJjrGtAOf3ck9zS7AgPmr2fZ3N97r4+YXN3mBePTG2/bJ8DApl9mVwYL+RpYbNxMEkEp4mPGdwG/w==", "dev": true, "requires": { "@ethersproject/abstract-provider": "^5.6.1", @@ -20369,8 +21086,6 @@ }, "@ethersproject/random": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.6.1.tgz", - "integrity": "sha512-/wtPNHwbmng+5yi3fkipA8YBT59DdkGRoC2vWk09Dci/q5DlgnMkhIycjHlavrvrjJBkFjO/ueLyT+aUDfc4lA==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.1", @@ -20379,8 +21094,6 @@ }, "@ethersproject/rlp": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.6.1.tgz", - "integrity": "sha512-uYjmcZx+DKlFUk7a5/W9aQVaoEC7+1MOBgNtvNg13+RnuUwT4F0zTovC0tmay5SmRslb29V1B7Y5KCri46WhuQ==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.1", @@ -20389,8 +21102,6 @@ }, "@ethersproject/sha2": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.6.1.tgz", - "integrity": "sha512-5K2GyqcW7G4Yo3uenHegbXRPDgARpWUiXc6RiF7b6i/HXUoWlb7uCARh7BAHg7/qT/Q5ydofNwiZcim9qpjB6g==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.1", @@ -20400,8 +21111,6 @@ }, "@ethersproject/signing-key": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.6.2.tgz", - "integrity": "sha512-jVbu0RuP7EFpw82vHcL+GP35+KaNruVAZM90GxgQnGqB6crhBqW/ozBfFvdeImtmb4qPko0uxXjn8l9jpn0cwQ==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.1", @@ -20414,8 +21123,6 @@ }, "@ethersproject/solidity": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.6.1.tgz", - "integrity": "sha512-KWqVLkUUoLBfL1iwdzUVlkNqAUIFMpbbeH0rgCfKmJp0vFtY4AsaN91gHKo9ZZLkC4UOm3cI3BmMV4N53BOq4g==", "dev": true, "requires": { "@ethersproject/bignumber": "^5.6.2", @@ -20428,8 +21135,6 @@ }, "@ethersproject/strings": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.6.1.tgz", - "integrity": "sha512-2X1Lgk6Jyfg26MUnsHiT456U9ijxKUybz8IM1Vih+NJxYtXhmvKBcHOmvGqpFSVJ0nQ4ZCoIViR8XlRw1v/+Cw==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.1", @@ -20439,8 +21144,6 @@ }, "@ethersproject/transactions": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.6.2.tgz", - "integrity": "sha512-BuV63IRPHmJvthNkkt9G70Ullx6AcM+SDc+a8Aw/8Yew6YwT51TcBKEp1P4oOQ/bP25I18JJr7rcFRgFtU9B2Q==", "dev": true, "requires": { "@ethersproject/address": "^5.6.1", @@ -20456,8 +21159,6 @@ }, "@ethersproject/units": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.6.1.tgz", - "integrity": "sha512-rEfSEvMQ7obcx3KWD5EWWx77gqv54K6BKiZzKxkQJqtpriVsICrktIQmKl8ReNToPeIYPnFHpXvKpi068YFZXw==", "dev": true, "requires": { "@ethersproject/bignumber": "^5.6.2", @@ -20467,8 +21168,6 @@ }, "@ethersproject/wallet": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.6.2.tgz", - "integrity": "sha512-lrgh0FDQPuOnHcF80Q3gHYsSUODp6aJLAdDmDV0xKCN/T7D99ta1jGVhulg3PY8wiXEngD0DfM0I2XKXlrqJfg==", "dev": true, "requires": { "@ethersproject/abstract-provider": "^5.6.1", @@ -20490,8 +21189,6 @@ }, "@ethersproject/web": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.6.1.tgz", - "integrity": "sha512-/vSyzaQlNXkO1WV+RneYKqCJwualcUdx/Z3gseVovZP0wIlOFcCE1hkRhKBH8ImKbGQbMl9EAAyJFrJu7V0aqA==", "dev": true, "requires": { "@ethersproject/base64": "^5.6.1", @@ -20503,8 +21200,6 @@ }, "@ethersproject/wordlists": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.6.1.tgz", - "integrity": "sha512-wiPRgBpNbNwCQFoCr8bcWO8o5I810cqO6mkdtKfLKFlLxeCWcnzDi4Alu8iyNzlhYuS9npCwivMbRWF19dyblw==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.1", @@ -20516,8 +21211,6 @@ }, "@usecannon/builder": { "version": "1.0.20", - "resolved": "https://registry.npmjs.org/@usecannon/builder/-/builder-1.0.20.tgz", - "integrity": "sha512-Zzac0olgFlNpCdNGecjUSfJZusKUYfLkIZoh+drzes5DeRdbqGhvEEezg70TKaOa6mR16rlwnsC+pBXFP3lMFw==", "dev": true, "requires": { "adm-zip": "^0.5.9", @@ -20532,8 +21225,6 @@ "dependencies": { "ipfs-http-client": { "version": "56.0.3", - "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-56.0.3.tgz", - "integrity": "sha512-E3L5ylVl6BjyRUsNehvfuRBYp1hj8vQ8in4zskVPMNzXs6JiCFUbif5a6BtcAlSK4xPQyJCeLNNAWLUeFQTLNA==", "dev": true, "requires": { "@ipld/dag-cbor": "^7.0.0", @@ -20558,8 +21249,6 @@ }, "ipfs-utils": { "version": "9.0.7", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-9.0.7.tgz", - "integrity": "sha512-Umvb0Zydy2zZiTmQBGLfLISr8vOmXX8cxEIP+N8zGHrtRShG/j32yl1xd/BtS+Hbg0FIbVm3opwvxB2gmta0YA==", "dev": true, "requires": { "any-signal": "^3.0.0", @@ -20582,14 +21271,10 @@ }, "adm-zip": { "version": "0.5.9", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.9.tgz", - "integrity": "sha512-s+3fXLkeeLjZ2kLjCBwQufpI5fuN+kIGBxu6530nVQZGVol0d7Y/M88/xw9HGGUcJjKf8LutN3VPRUBq6N7Ajg==", "dev": true }, "ajv": { "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -20600,14 +21285,10 @@ }, "bn.js": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", "dev": true }, "buffer": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "dev": true, "requires": { "base64-js": "^1.3.1", @@ -20616,8 +21297,6 @@ }, "ethers": { "version": "5.6.9", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.6.9.tgz", - "integrity": "sha512-lMGC2zv9HC5EC+8r429WaWu3uWJUCgUCt8xxKCFqkrFuBDZXDYIdzDUECxzjf2BMF8IVBByY1EBoGSL3RTm8RA==", "dev": true, "requires": { "@ethersproject/abi": "5.6.4", @@ -20654,8 +21333,6 @@ }, "fs-extra": { "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", "dev": true, "requires": { "graceful-fs": "^4.2.0", @@ -20665,8 +21342,6 @@ }, "hardhat-cannon": { "version": "1.0.20", - "resolved": "https://registry.npmjs.org/hardhat-cannon/-/hardhat-cannon-1.0.20.tgz", - "integrity": "sha512-va0Ux/QcpEwWt37Cd4724A9e+PD5zB7wpeB6CT/JnZEZvkyAYgCWJGXD5ErNg3MfsoTjYhe4iL+fr8lYX8hyUg==", "dev": true, "requires": { "@iarna/toml": "^3.0.0", @@ -20692,20 +21367,14 @@ }, "js-sha3": { "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==", "dev": true }, "json-schema-traverse": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, "jsonfile": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "requires": { "graceful-fs": "^4.1.6", @@ -20713,20 +21382,15 @@ } }, "node-fetch": { - "version": "https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-iTASGs+HTFK5E4ZqcMsHmeJ4zodyq8L38lZV33jwqcBJYoUt3HjN4+ot+O9/0b+ke8ddE7UgOtVuZN/OkV19/g==", + "version": "npm:@achingbrain/node-fetch@2.6.7", "dev": true }, "universalify": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true }, "ws": { "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", "dev": true, "requires": {} } @@ -20745,14 +21409,10 @@ "dependencies": { "ansi-regex": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true }, "ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "^1.9.0" @@ -20760,8 +21420,6 @@ }, "cli-cursor": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dev": true, "requires": { "restore-cursor": "^3.1.0" @@ -20769,14 +21427,10 @@ }, "cli-width": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", "dev": true }, "color-convert": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { "color-name": "1.1.3" @@ -20784,26 +21438,18 @@ }, "color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "commander": { "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", "dev": true }, "escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true }, "figures": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, "requires": { "escape-string-regexp": "^1.0.5" @@ -20811,14 +21457,10 @@ }, "has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true }, "inquirer": { "version": "8.2.4", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz", - "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==", "dev": true, "requires": { "ansi-escapes": "^4.2.1", @@ -20840,26 +21482,18 @@ }, "is-fullwidth-code-point": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "dev": true }, "mimic-fn": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true }, "mute-stream": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", "dev": true }, "restore-cursor": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dev": true, "requires": { "onetime": "^5.1.0", @@ -20868,8 +21502,6 @@ }, "rxjs": { "version": "7.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz", - "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", "dev": true, "requires": { "tslib": "^2.1.0" @@ -20877,8 +21509,6 @@ }, "sort-keys": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz", - "integrity": "sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==", "dev": true, "requires": { "is-plain-obj": "^2.0.0" @@ -20886,8 +21516,6 @@ }, "supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -20895,8 +21523,6 @@ }, "synthetix": { "version": "2.73.1", - "resolved": "https://registry.npmjs.org/synthetix/-/synthetix-2.73.1.tgz", - "integrity": "sha512-NmYDuNQrUUyidizCpw0SV7b6g/uzXBw1wnXH6MDlTIOetqPoWRkTMotwUIXBgdEvF7VhoVoZNh5VFmykUJC+8Q==", "dev": true, "requires": { "abi-decoder": "^2.3.0", @@ -20911,14 +21537,10 @@ "dependencies": { "ansi-escapes": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", "dev": true }, "chalk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -20928,8 +21550,6 @@ }, "cli-cursor": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", "dev": true, "requires": { "restore-cursor": "^2.0.0" @@ -20937,14 +21557,10 @@ }, "cli-width": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", "dev": true }, "figures": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", "dev": true, "requires": { "escape-string-regexp": "^1.0.5" @@ -20952,8 +21568,6 @@ }, "inquirer": { "version": "6.5.2", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", - "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", "dev": true, "requires": { "ansi-escapes": "^3.2.0", @@ -20973,14 +21587,10 @@ }, "mute-stream": { "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==", "dev": true }, "onetime": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", "dev": true, "requires": { "mimic-fn": "^1.0.0" @@ -20988,8 +21598,6 @@ }, "restore-cursor": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", "dev": true, "requires": { "onetime": "^2.0.0", @@ -20998,8 +21606,6 @@ }, "rxjs": { "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "dev": true, "requires": { "tslib": "^1.9.0" @@ -21007,8 +21613,6 @@ }, "string-width": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { "is-fullwidth-code-point": "^2.0.0", @@ -21017,14 +21621,10 @@ "dependencies": { "ansi-regex": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", "dev": true }, "strip-ansi": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", "dev": true, "requires": { "ansi-regex": "^3.0.0" @@ -21034,8 +21634,6 @@ }, "strip-ansi": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { "ansi-regex": "^4.1.0" @@ -21043,16 +21641,12 @@ }, "tslib": { "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true } } }, "tslib": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", "dev": true } } @@ -21071,8 +21665,6 @@ }, "@synthetixio/wei": { "version": "2.74.1", - "resolved": "https://registry.npmjs.org/@synthetixio/wei/-/wei-2.74.1.tgz", - "integrity": "sha512-YhiEtumbO0o9cwQmoTaqfyDURUTp4s7ujcpESlHJ3fN0W4SLFkZPM3omv2A3vzTXDiIDJnOK7t6PXYuLfFS1sg==", "dev": true, "requires": { "big.js": "^6.1.1", @@ -21081,8 +21673,6 @@ "dependencies": { "@ethersproject/abi": { "version": "5.6.4", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.6.4.tgz", - "integrity": "sha512-TTeZUlCeIHG6527/2goZA6gW5F8Emoc7MrZDC7hhP84aRGvW3TEdTnZR08Ls88YXM1m2SuK42Osw/jSi3uO8gg==", "dev": true, "requires": { "@ethersproject/address": "^5.6.1", @@ -21098,8 +21688,6 @@ }, "@ethersproject/abstract-provider": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.6.1.tgz", - "integrity": "sha512-BxlIgogYJtp1FS8Muvj8YfdClk3unZH0vRMVX791Z9INBNT/kuACZ9GzaY1Y4yFq+YSy6/w4gzj3HCRKrK9hsQ==", "dev": true, "requires": { "@ethersproject/bignumber": "^5.6.2", @@ -21113,8 +21701,6 @@ }, "@ethersproject/abstract-signer": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.6.2.tgz", - "integrity": "sha512-n1r6lttFBG0t2vNiI3HoWaS/KdOt8xyDjzlP2cuevlWLG6EX0OwcKLyG/Kp/cuwNxdy/ous+R/DEMdTUwWQIjQ==", "dev": true, "requires": { "@ethersproject/abstract-provider": "^5.6.1", @@ -21126,8 +21712,6 @@ }, "@ethersproject/address": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.6.1.tgz", - "integrity": "sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q==", "dev": true, "requires": { "@ethersproject/bignumber": "^5.6.2", @@ -21139,8 +21723,6 @@ }, "@ethersproject/base64": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.6.1.tgz", - "integrity": "sha512-qB76rjop6a0RIYYMiB4Eh/8n+Hxu2NIZm8S/Q7kNo5pmZfXhHGHmS4MinUainiBC54SCyRnwzL+KZjj8zbsSsw==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.1" @@ -21148,8 +21730,6 @@ }, "@ethersproject/basex": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.6.1.tgz", - "integrity": "sha512-a52MkVz4vuBXR06nvflPMotld1FJWSj2QT0985v7P/emPZO00PucFAkbcmq2vpVU7Ts7umKiSI6SppiLykVWsA==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.1", @@ -21158,8 +21738,6 @@ }, "@ethersproject/bignumber": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.6.2.tgz", - "integrity": "sha512-v7+EEUbhGqT3XJ9LMPsKvXYHFc8eHxTowFCG/HgJErmq4XHJ2WR7aeyICg3uTOAQ7Icn0GFHAohXEhxQHq4Ubw==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.1", @@ -21169,8 +21747,6 @@ }, "@ethersproject/bytes": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.6.1.tgz", - "integrity": "sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==", "dev": true, "requires": { "@ethersproject/logger": "^5.6.0" @@ -21178,8 +21754,6 @@ }, "@ethersproject/constants": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.6.1.tgz", - "integrity": "sha512-QSq9WVnZbxXYFftrjSjZDUshp6/eKp6qrtdBtUCm0QxCV5z1fG/w3kdlcsjMCQuQHUnAclKoK7XpXMezhRDOLg==", "dev": true, "requires": { "@ethersproject/bignumber": "^5.6.2" @@ -21187,8 +21761,6 @@ }, "@ethersproject/contracts": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.6.2.tgz", - "integrity": "sha512-hguUA57BIKi6WY0kHvZp6PwPlWF87MCeB4B7Z7AbUpTxfFXFdn/3b0GmjZPagIHS+3yhcBJDnuEfU4Xz+Ks/8g==", "dev": true, "requires": { "@ethersproject/abi": "^5.6.3", @@ -21205,8 +21777,6 @@ }, "@ethersproject/hash": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.6.1.tgz", - "integrity": "sha512-L1xAHurbaxG8VVul4ankNX5HgQ8PNCTrnVXEiFnE9xoRnaUcgfD12tZINtDinSllxPLCtGwguQxJ5E6keE84pA==", "dev": true, "requires": { "@ethersproject/abstract-signer": "^5.6.2", @@ -21221,8 +21791,6 @@ }, "@ethersproject/hdnode": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.6.2.tgz", - "integrity": "sha512-tERxW8Ccf9CxW2db3WsN01Qao3wFeRsfYY9TCuhmG0xNpl2IO8wgXU3HtWIZ49gUWPggRy4Yg5axU0ACaEKf1Q==", "dev": true, "requires": { "@ethersproject/abstract-signer": "^5.6.2", @@ -21241,8 +21809,6 @@ }, "@ethersproject/json-wallets": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.6.1.tgz", - "integrity": "sha512-KfyJ6Zwz3kGeX25nLihPwZYlDqamO6pfGKNnVMWWfEVVp42lTfCZVXXy5Ie8IZTN0HKwAngpIPi7gk4IJzgmqQ==", "dev": true, "requires": { "@ethersproject/abstract-signer": "^5.6.2", @@ -21262,8 +21828,6 @@ }, "@ethersproject/keccak256": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.6.1.tgz", - "integrity": "sha512-bB7DQHCTRDooZZdL3lk9wpL0+XuG3XLGHLh3cePnybsO3V0rdCAOQGpn/0R3aODmnTOOkCATJiD2hnL+5bwthA==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.1", @@ -21272,14 +21836,10 @@ }, "@ethersproject/logger": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.6.0.tgz", - "integrity": "sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==", "dev": true }, "@ethersproject/networks": { "version": "5.6.4", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.6.4.tgz", - "integrity": "sha512-KShHeHPahHI2UlWdtDMn2lJETcbtaJge4k7XSjDR9h79QTd6yQJmv6Cp2ZA4JdqWnhszAOLSuJEd9C0PRw7hSQ==", "dev": true, "requires": { "@ethersproject/logger": "^5.6.0" @@ -21287,8 +21847,6 @@ }, "@ethersproject/pbkdf2": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.6.1.tgz", - "integrity": "sha512-k4gRQ+D93zDRPNUfmduNKq065uadC2YjMP/CqwwX5qG6R05f47boq6pLZtV/RnC4NZAYOPH1Cyo54q0c9sshRQ==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.1", @@ -21297,8 +21855,6 @@ }, "@ethersproject/properties": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.6.0.tgz", - "integrity": "sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==", "dev": true, "requires": { "@ethersproject/logger": "^5.6.0" @@ -21306,8 +21862,6 @@ }, "@ethersproject/providers": { "version": "5.6.8", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.6.8.tgz", - "integrity": "sha512-Wf+CseT/iOJjrGtAOf3ck9zS7AgPmr2fZ3N97r4+YXN3mBePTG2/bJ8DApl9mVwYL+RpYbNxMEkEp4mPGdwG/w==", "dev": true, "requires": { "@ethersproject/abstract-provider": "^5.6.1", @@ -21334,8 +21888,6 @@ }, "@ethersproject/random": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.6.1.tgz", - "integrity": "sha512-/wtPNHwbmng+5yi3fkipA8YBT59DdkGRoC2vWk09Dci/q5DlgnMkhIycjHlavrvrjJBkFjO/ueLyT+aUDfc4lA==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.1", @@ -21344,8 +21896,6 @@ }, "@ethersproject/rlp": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.6.1.tgz", - "integrity": "sha512-uYjmcZx+DKlFUk7a5/W9aQVaoEC7+1MOBgNtvNg13+RnuUwT4F0zTovC0tmay5SmRslb29V1B7Y5KCri46WhuQ==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.1", @@ -21354,8 +21904,6 @@ }, "@ethersproject/sha2": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.6.1.tgz", - "integrity": "sha512-5K2GyqcW7G4Yo3uenHegbXRPDgARpWUiXc6RiF7b6i/HXUoWlb7uCARh7BAHg7/qT/Q5ydofNwiZcim9qpjB6g==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.1", @@ -21365,8 +21913,6 @@ }, "@ethersproject/signing-key": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.6.2.tgz", - "integrity": "sha512-jVbu0RuP7EFpw82vHcL+GP35+KaNruVAZM90GxgQnGqB6crhBqW/ozBfFvdeImtmb4qPko0uxXjn8l9jpn0cwQ==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.1", @@ -21379,8 +21925,6 @@ }, "@ethersproject/solidity": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.6.1.tgz", - "integrity": "sha512-KWqVLkUUoLBfL1iwdzUVlkNqAUIFMpbbeH0rgCfKmJp0vFtY4AsaN91gHKo9ZZLkC4UOm3cI3BmMV4N53BOq4g==", "dev": true, "requires": { "@ethersproject/bignumber": "^5.6.2", @@ -21393,8 +21937,6 @@ }, "@ethersproject/strings": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.6.1.tgz", - "integrity": "sha512-2X1Lgk6Jyfg26MUnsHiT456U9ijxKUybz8IM1Vih+NJxYtXhmvKBcHOmvGqpFSVJ0nQ4ZCoIViR8XlRw1v/+Cw==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.1", @@ -21404,8 +21946,6 @@ }, "@ethersproject/transactions": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.6.2.tgz", - "integrity": "sha512-BuV63IRPHmJvthNkkt9G70Ullx6AcM+SDc+a8Aw/8Yew6YwT51TcBKEp1P4oOQ/bP25I18JJr7rcFRgFtU9B2Q==", "dev": true, "requires": { "@ethersproject/address": "^5.6.1", @@ -21421,8 +21961,6 @@ }, "@ethersproject/units": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.6.1.tgz", - "integrity": "sha512-rEfSEvMQ7obcx3KWD5EWWx77gqv54K6BKiZzKxkQJqtpriVsICrktIQmKl8ReNToPeIYPnFHpXvKpi068YFZXw==", "dev": true, "requires": { "@ethersproject/bignumber": "^5.6.2", @@ -21432,8 +21970,6 @@ }, "@ethersproject/wallet": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.6.2.tgz", - "integrity": "sha512-lrgh0FDQPuOnHcF80Q3gHYsSUODp6aJLAdDmDV0xKCN/T7D99ta1jGVhulg3PY8wiXEngD0DfM0I2XKXlrqJfg==", "dev": true, "requires": { "@ethersproject/abstract-provider": "^5.6.1", @@ -21455,8 +21991,6 @@ }, "@ethersproject/web": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.6.1.tgz", - "integrity": "sha512-/vSyzaQlNXkO1WV+RneYKqCJwualcUdx/Z3gseVovZP0wIlOFcCE1hkRhKBH8ImKbGQbMl9EAAyJFrJu7V0aqA==", "dev": true, "requires": { "@ethersproject/base64": "^5.6.1", @@ -21468,8 +22002,6 @@ }, "@ethersproject/wordlists": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.6.1.tgz", - "integrity": "sha512-wiPRgBpNbNwCQFoCr8bcWO8o5I810cqO6mkdtKfLKFlLxeCWcnzDi4Alu8iyNzlhYuS9npCwivMbRWF19dyblw==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.1", @@ -21481,14 +22013,10 @@ }, "bn.js": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", "dev": true }, "ethers": { "version": "5.6.9", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.6.9.tgz", - "integrity": "sha512-lMGC2zv9HC5EC+8r429WaWu3uWJUCgUCt8xxKCFqkrFuBDZXDYIdzDUECxzjf2BMF8IVBByY1EBoGSL3RTm8RA==", "dev": true, "requires": { "@ethersproject/abi": "5.6.4", @@ -21525,14 +22053,10 @@ }, "js-sha3": { "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==", "dev": true }, "ws": { "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", "dev": true, "requires": {} } @@ -21540,7 +22064,6 @@ }, "@szmarczak/http-timer": { "version": "1.1.2", - "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", "dev": true, "requires": { "defer-to-connect": "^1.0.1" @@ -21548,8 +22071,6 @@ }, "@tenderly/hardhat-tenderly": { "version": "1.0.15", - "resolved": "https://registry.npmjs.org/@tenderly/hardhat-tenderly/-/hardhat-tenderly-1.0.15.tgz", - "integrity": "sha512-zkv+VC/6jx/qCJQ0/IhvP7giumi/gE9gftLUJwaLLbvmWImnM2FS4yGkmVy/NAR1nRA5ucMNQ9laZIXr82pVLQ==", "requires": { "axios": "^0.21.1", "fs-extra": "^9.0.1", @@ -21558,8 +22079,6 @@ "dependencies": { "fs-extra": { "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "requires": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -21569,28 +22088,22 @@ }, "jsonfile": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "requires": { "graceful-fs": "^4.1.6", "universalify": "^2.0.0" } }, "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + "version": "2.0.0" } } }, "@truffle/error": { "version": "0.0.14", - "integrity": "sha512-utJx+SZYoMqk8wldQG4gCVKhV8GwMJbWY7sLXFT/D8wWZTnE2peX7URFJh/cxkjTRCO328z1s2qewkhyVsu2HA==", "dev": true }, "@truffle/interface-adapter": { "version": "0.5.7", - "integrity": "sha512-3dGCppl4SDVUKmd3Jlm82EqMl0p9k7l0SbcRbeMeDkLNxuUG5r6WUHcgTUG9veq971JkVtZEz8+C+mfz1JwmBw==", "dev": true, "requires": { "bn.js": "^5.1.3", @@ -21600,12 +22113,10 @@ "dependencies": { "bn.js": { "version": "5.2.0", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", "dev": true }, "ethers": { "version": "4.0.49", - "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", "dev": true, "requires": { "aes-js": "3.0.0", @@ -21621,14 +22132,12 @@ "dependencies": { "bn.js": { "version": "4.12.0", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } }, "hash.js": { "version": "1.1.3", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", "dev": true, "requires": { "inherits": "^2.0.3", @@ -21637,24 +22146,20 @@ }, "scrypt-js": { "version": "2.0.4", - "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", "dev": true }, "setimmediate": { "version": "1.0.4", - "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=", "dev": true }, "uuid": { "version": "2.0.1", - "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=", "dev": true } } }, "@truffle/provider": { "version": "0.2.41", - "integrity": "sha512-weYUodsx8SGgCtaWRgJOe86eAXV2EEH/Cthndu7bfkZ7vPu94AZVn9hxlG3iZVUMLLscq7aNUsa3CZVqy/voiQ==", "dev": true, "requires": { "@truffle/error": "^0.0.14", @@ -21663,13 +22168,10 @@ } }, "@types/abstract-leveldown": { - "version": "5.0.2", - "integrity": "sha512-+jA1XXF3jsz+Z7FcuiNqgK53hTa/luglT2TyTpKPqoYbxVY+mCPF22Rm+q3KPBrMHJwNXFrTViHszBOfU4vftQ==" + "version": "5.0.2" }, "@types/adm-zip": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@types/adm-zip/-/adm-zip-0.5.0.tgz", - "integrity": "sha512-FCJBJq9ODsQZUNURo5ILAQueuA8WJhRvuihS3ke2iI25mJlfV2LK8jG2Qj2z2AWg8U0FtWWqBHVRetceLskSaw==", "dev": true, "requires": { "@types/node": "*" @@ -21677,8 +22179,6 @@ }, "@types/archiver": { "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-5.3.1.tgz", - "integrity": "sha512-wKYZaSXaDvTZuInAWjCeGG7BEAgTWG2zZW0/f7IYFcoHB2X2d9lkVFnrOlXl3W6NrvO6Ml3FLLu8Uksyymcpnw==", "dev": true, "requires": { "@types/glob": "*" @@ -21686,14 +22186,12 @@ }, "@types/bn.js": { "version": "5.1.0", - "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==", "requires": { "@types/node": "*" } }, "@types/glob": { "version": "7.1.4", - "integrity": "sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==", "dev": true, "requires": { "@types/minimatch": "*", @@ -21701,12 +22199,10 @@ } }, "@types/level-errors": { - "version": "3.0.0", - "integrity": "sha512-/lMtoq/Cf/2DVOm6zE6ORyOM+3ZVm/BvzEZVxUhf6bgh8ZHglXlBqxbxSlJeVp8FCbD3IVvk/VbsaNmDjrQvqQ==" + "version": "3.0.0" }, "@types/levelup": { "version": "4.3.3", - "integrity": "sha512-K+OTIjJcZHVlZQN1HmU64VtrC0jC3dXWQozuEIR9zVvltIk90zaGPM2AgT+fIkChpzHhFE3YnvFLCbLtzAmexA==", "requires": { "@types/abstract-leveldown": "*", "@types/level-errors": "*", @@ -21715,27 +22211,20 @@ }, "@types/long": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", - "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==", "dev": true }, "@types/lru-cache": { - "version": "5.1.1", - "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==" + "version": "5.1.1" }, "@types/minimatch": { "version": "3.0.5", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", "dev": true }, "@types/node": { - "version": "16.9.1", - "integrity": "sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==" + "version": "16.9.1" }, "@types/node-fetch": { "version": "2.6.2", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.2.tgz", - "integrity": "sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==", "dev": true, "requires": { "@types/node": "*", @@ -21744,8 +22233,6 @@ "dependencies": { "form-data": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", "dev": true, "requires": { "asynckit": "^0.4.0", @@ -21757,40 +22244,33 @@ }, "@types/pbkdf2": { "version": "3.1.0", - "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", "requires": { "@types/node": "*" } }, "@types/secp256k1": { "version": "4.0.3", - "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", "requires": { "@types/node": "*" } }, "@types/yazl": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@types/yazl/-/yazl-2.4.2.tgz", - "integrity": "sha512-T+9JH8O2guEjXNxqmybzQ92mJUh2oCwDDMSSimZSe1P+pceZiFROZLYmcbqkzV5EUwz6VwcKXCO2S2yUpra6XQ==", "dev": true, "requires": { "@types/node": "*" } }, "@ungap/promise-all-settled": { - "version": "1.1.2", - "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==" + "version": "1.1.2" }, "@usecannon/cli": { - "version": "1.0.20", - "resolved": "https://registry.npmjs.org/@usecannon/cli/-/cli-1.0.20.tgz", - "integrity": "sha512-2brl52WP65i2Bz4F3Xm/qaqobnmMpYwvtl1n00T72QtRFz9lhQPgWOMabKjdJUmR/e3sYSmGb+t9euEF19Y5WQ==", + "version": "1.0.21", "dev": true, "requires": { "@synthetixio/wei": "^2.74.1", "@types/node-fetch": "^2.6.2", - "@usecannon/builder": "^1.0.20", + "@usecannon/builder": "^1.0.21", "chalk": "^4.1.2", "commander": "^9.3.0", "debug": "^4.3.4", @@ -21803,8 +22283,6 @@ "dependencies": { "@ethersproject/abi": { "version": "5.6.4", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.6.4.tgz", - "integrity": "sha512-TTeZUlCeIHG6527/2goZA6gW5F8Emoc7MrZDC7hhP84aRGvW3TEdTnZR08Ls88YXM1m2SuK42Osw/jSi3uO8gg==", "dev": true, "requires": { "@ethersproject/address": "^5.6.1", @@ -21820,8 +22298,6 @@ }, "@ethersproject/abstract-provider": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.6.1.tgz", - "integrity": "sha512-BxlIgogYJtp1FS8Muvj8YfdClk3unZH0vRMVX791Z9INBNT/kuACZ9GzaY1Y4yFq+YSy6/w4gzj3HCRKrK9hsQ==", "dev": true, "requires": { "@ethersproject/bignumber": "^5.6.2", @@ -21835,8 +22311,6 @@ }, "@ethersproject/abstract-signer": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.6.2.tgz", - "integrity": "sha512-n1r6lttFBG0t2vNiI3HoWaS/KdOt8xyDjzlP2cuevlWLG6EX0OwcKLyG/Kp/cuwNxdy/ous+R/DEMdTUwWQIjQ==", "dev": true, "requires": { "@ethersproject/abstract-provider": "^5.6.1", @@ -21848,8 +22322,6 @@ }, "@ethersproject/address": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.6.1.tgz", - "integrity": "sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q==", "dev": true, "requires": { "@ethersproject/bignumber": "^5.6.2", @@ -21861,8 +22333,6 @@ }, "@ethersproject/base64": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.6.1.tgz", - "integrity": "sha512-qB76rjop6a0RIYYMiB4Eh/8n+Hxu2NIZm8S/Q7kNo5pmZfXhHGHmS4MinUainiBC54SCyRnwzL+KZjj8zbsSsw==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.1" @@ -21870,8 +22340,6 @@ }, "@ethersproject/basex": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.6.1.tgz", - "integrity": "sha512-a52MkVz4vuBXR06nvflPMotld1FJWSj2QT0985v7P/emPZO00PucFAkbcmq2vpVU7Ts7umKiSI6SppiLykVWsA==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.1", @@ -21880,8 +22348,6 @@ }, "@ethersproject/bignumber": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.6.2.tgz", - "integrity": "sha512-v7+EEUbhGqT3XJ9LMPsKvXYHFc8eHxTowFCG/HgJErmq4XHJ2WR7aeyICg3uTOAQ7Icn0GFHAohXEhxQHq4Ubw==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.1", @@ -21891,8 +22357,6 @@ }, "@ethersproject/bytes": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.6.1.tgz", - "integrity": "sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==", "dev": true, "requires": { "@ethersproject/logger": "^5.6.0" @@ -21900,8 +22364,6 @@ }, "@ethersproject/constants": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.6.1.tgz", - "integrity": "sha512-QSq9WVnZbxXYFftrjSjZDUshp6/eKp6qrtdBtUCm0QxCV5z1fG/w3kdlcsjMCQuQHUnAclKoK7XpXMezhRDOLg==", "dev": true, "requires": { "@ethersproject/bignumber": "^5.6.2" @@ -21909,8 +22371,6 @@ }, "@ethersproject/contracts": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.6.2.tgz", - "integrity": "sha512-hguUA57BIKi6WY0kHvZp6PwPlWF87MCeB4B7Z7AbUpTxfFXFdn/3b0GmjZPagIHS+3yhcBJDnuEfU4Xz+Ks/8g==", "dev": true, "requires": { "@ethersproject/abi": "^5.6.3", @@ -21927,8 +22387,6 @@ }, "@ethersproject/hash": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.6.1.tgz", - "integrity": "sha512-L1xAHurbaxG8VVul4ankNX5HgQ8PNCTrnVXEiFnE9xoRnaUcgfD12tZINtDinSllxPLCtGwguQxJ5E6keE84pA==", "dev": true, "requires": { "@ethersproject/abstract-signer": "^5.6.2", @@ -21943,8 +22401,6 @@ }, "@ethersproject/hdnode": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.6.2.tgz", - "integrity": "sha512-tERxW8Ccf9CxW2db3WsN01Qao3wFeRsfYY9TCuhmG0xNpl2IO8wgXU3HtWIZ49gUWPggRy4Yg5axU0ACaEKf1Q==", "dev": true, "requires": { "@ethersproject/abstract-signer": "^5.6.2", @@ -21963,8 +22419,6 @@ }, "@ethersproject/json-wallets": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.6.1.tgz", - "integrity": "sha512-KfyJ6Zwz3kGeX25nLihPwZYlDqamO6pfGKNnVMWWfEVVp42lTfCZVXXy5Ie8IZTN0HKwAngpIPi7gk4IJzgmqQ==", "dev": true, "requires": { "@ethersproject/abstract-signer": "^5.6.2", @@ -21984,8 +22438,6 @@ }, "@ethersproject/keccak256": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.6.1.tgz", - "integrity": "sha512-bB7DQHCTRDooZZdL3lk9wpL0+XuG3XLGHLh3cePnybsO3V0rdCAOQGpn/0R3aODmnTOOkCATJiD2hnL+5bwthA==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.1", @@ -21994,14 +22446,10 @@ }, "@ethersproject/logger": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.6.0.tgz", - "integrity": "sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==", "dev": true }, "@ethersproject/networks": { "version": "5.6.4", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.6.4.tgz", - "integrity": "sha512-KShHeHPahHI2UlWdtDMn2lJETcbtaJge4k7XSjDR9h79QTd6yQJmv6Cp2ZA4JdqWnhszAOLSuJEd9C0PRw7hSQ==", "dev": true, "requires": { "@ethersproject/logger": "^5.6.0" @@ -22009,8 +22457,6 @@ }, "@ethersproject/pbkdf2": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.6.1.tgz", - "integrity": "sha512-k4gRQ+D93zDRPNUfmduNKq065uadC2YjMP/CqwwX5qG6R05f47boq6pLZtV/RnC4NZAYOPH1Cyo54q0c9sshRQ==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.1", @@ -22019,8 +22465,6 @@ }, "@ethersproject/properties": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.6.0.tgz", - "integrity": "sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==", "dev": true, "requires": { "@ethersproject/logger": "^5.6.0" @@ -22028,8 +22472,6 @@ }, "@ethersproject/providers": { "version": "5.6.8", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.6.8.tgz", - "integrity": "sha512-Wf+CseT/iOJjrGtAOf3ck9zS7AgPmr2fZ3N97r4+YXN3mBePTG2/bJ8DApl9mVwYL+RpYbNxMEkEp4mPGdwG/w==", "dev": true, "requires": { "@ethersproject/abstract-provider": "^5.6.1", @@ -22056,8 +22498,6 @@ }, "@ethersproject/random": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.6.1.tgz", - "integrity": "sha512-/wtPNHwbmng+5yi3fkipA8YBT59DdkGRoC2vWk09Dci/q5DlgnMkhIycjHlavrvrjJBkFjO/ueLyT+aUDfc4lA==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.1", @@ -22066,8 +22506,6 @@ }, "@ethersproject/rlp": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.6.1.tgz", - "integrity": "sha512-uYjmcZx+DKlFUk7a5/W9aQVaoEC7+1MOBgNtvNg13+RnuUwT4F0zTovC0tmay5SmRslb29V1B7Y5KCri46WhuQ==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.1", @@ -22076,8 +22514,6 @@ }, "@ethersproject/sha2": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.6.1.tgz", - "integrity": "sha512-5K2GyqcW7G4Yo3uenHegbXRPDgARpWUiXc6RiF7b6i/HXUoWlb7uCARh7BAHg7/qT/Q5ydofNwiZcim9qpjB6g==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.1", @@ -22087,8 +22523,6 @@ }, "@ethersproject/signing-key": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.6.2.tgz", - "integrity": "sha512-jVbu0RuP7EFpw82vHcL+GP35+KaNruVAZM90GxgQnGqB6crhBqW/ozBfFvdeImtmb4qPko0uxXjn8l9jpn0cwQ==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.1", @@ -22101,8 +22535,6 @@ }, "@ethersproject/solidity": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.6.1.tgz", - "integrity": "sha512-KWqVLkUUoLBfL1iwdzUVlkNqAUIFMpbbeH0rgCfKmJp0vFtY4AsaN91gHKo9ZZLkC4UOm3cI3BmMV4N53BOq4g==", "dev": true, "requires": { "@ethersproject/bignumber": "^5.6.2", @@ -22115,8 +22547,6 @@ }, "@ethersproject/strings": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.6.1.tgz", - "integrity": "sha512-2X1Lgk6Jyfg26MUnsHiT456U9ijxKUybz8IM1Vih+NJxYtXhmvKBcHOmvGqpFSVJ0nQ4ZCoIViR8XlRw1v/+Cw==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.1", @@ -22126,8 +22556,6 @@ }, "@ethersproject/transactions": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.6.2.tgz", - "integrity": "sha512-BuV63IRPHmJvthNkkt9G70Ullx6AcM+SDc+a8Aw/8Yew6YwT51TcBKEp1P4oOQ/bP25I18JJr7rcFRgFtU9B2Q==", "dev": true, "requires": { "@ethersproject/address": "^5.6.1", @@ -22143,8 +22571,6 @@ }, "@ethersproject/units": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.6.1.tgz", - "integrity": "sha512-rEfSEvMQ7obcx3KWD5EWWx77gqv54K6BKiZzKxkQJqtpriVsICrktIQmKl8ReNToPeIYPnFHpXvKpi068YFZXw==", "dev": true, "requires": { "@ethersproject/bignumber": "^5.6.2", @@ -22154,8 +22580,6 @@ }, "@ethersproject/wallet": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.6.2.tgz", - "integrity": "sha512-lrgh0FDQPuOnHcF80Q3gHYsSUODp6aJLAdDmDV0xKCN/T7D99ta1jGVhulg3PY8wiXEngD0DfM0I2XKXlrqJfg==", "dev": true, "requires": { "@ethersproject/abstract-provider": "^5.6.1", @@ -22177,8 +22601,6 @@ }, "@ethersproject/web": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.6.1.tgz", - "integrity": "sha512-/vSyzaQlNXkO1WV+RneYKqCJwualcUdx/Z3gseVovZP0wIlOFcCE1hkRhKBH8ImKbGQbMl9EAAyJFrJu7V0aqA==", "dev": true, "requires": { "@ethersproject/base64": "^5.6.1", @@ -22190,8 +22612,6 @@ }, "@ethersproject/wordlists": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.6.1.tgz", - "integrity": "sha512-wiPRgBpNbNwCQFoCr8bcWO8o5I810cqO6mkdtKfLKFlLxeCWcnzDi4Alu8iyNzlhYuS9npCwivMbRWF19dyblw==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.1", @@ -22202,9 +22622,7 @@ } }, "@usecannon/builder": { - "version": "1.0.20", - "resolved": "https://registry.npmjs.org/@usecannon/builder/-/builder-1.0.20.tgz", - "integrity": "sha512-Zzac0olgFlNpCdNGecjUSfJZusKUYfLkIZoh+drzes5DeRdbqGhvEEezg70TKaOa6mR16rlwnsC+pBXFP3lMFw==", + "version": "1.0.21", "dev": true, "requires": { "adm-zip": "^0.5.9", @@ -22219,14 +22637,10 @@ }, "adm-zip": { "version": "0.5.9", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.9.tgz", - "integrity": "sha512-s+3fXLkeeLjZ2kLjCBwQufpI5fuN+kIGBxu6530nVQZGVol0d7Y/M88/xw9HGGUcJjKf8LutN3VPRUBq6N7Ajg==", "dev": true }, "ajv": { "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -22237,14 +22651,10 @@ }, "bn.js": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", "dev": true }, "buffer": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "dev": true, "requires": { "base64-js": "^1.3.1", @@ -22253,14 +22663,10 @@ }, "commander": { "version": "9.4.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz", - "integrity": "sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==", "dev": true }, "ethers": { "version": "5.6.9", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.6.9.tgz", - "integrity": "sha512-lMGC2zv9HC5EC+8r429WaWu3uWJUCgUCt8xxKCFqkrFuBDZXDYIdzDUECxzjf2BMF8IVBByY1EBoGSL3RTm8RA==", "dev": true, "requires": { "@ethersproject/abi": "5.6.4", @@ -22297,8 +22703,6 @@ }, "fs-extra": { "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", "dev": true, "requires": { "graceful-fs": "^4.2.0", @@ -22308,8 +22712,6 @@ }, "ipfs-http-client": { "version": "56.0.3", - "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-56.0.3.tgz", - "integrity": "sha512-E3L5ylVl6BjyRUsNehvfuRBYp1hj8vQ8in4zskVPMNzXs6JiCFUbif5a6BtcAlSK4xPQyJCeLNNAWLUeFQTLNA==", "dev": true, "requires": { "@ipld/dag-cbor": "^7.0.0", @@ -22334,8 +22736,6 @@ }, "ipfs-utils": { "version": "9.0.7", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-9.0.7.tgz", - "integrity": "sha512-Umvb0Zydy2zZiTmQBGLfLISr8vOmXX8cxEIP+N8zGHrtRShG/j32yl1xd/BtS+Hbg0FIbVm3opwvxB2gmta0YA==", "dev": true, "requires": { "any-signal": "^3.0.0", @@ -22356,20 +22756,14 @@ }, "js-sha3": { "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==", "dev": true }, "json-schema-traverse": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, "jsonfile": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "requires": { "graceful-fs": "^4.1.6", @@ -22378,20 +22772,14 @@ }, "node-fetch": { "version": "npm:@achingbrain/node-fetch@2.6.7", - "resolved": "https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-iTASGs+HTFK5E4ZqcMsHmeJ4zodyq8L38lZV33jwqcBJYoUt3HjN4+ot+O9/0b+ke8ddE7UgOtVuZN/OkV19/g==", "dev": true }, "universalify": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true }, "ws": { "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", "dev": true, "requires": {} } @@ -22399,8 +22787,6 @@ }, "abi-decoder": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/abi-decoder/-/abi-decoder-2.3.0.tgz", - "integrity": "sha512-RZXG5mo1JhJjTBg/4NXlS8hyTr2fxiuFaz3UveRpoX9IIc3LPHmWz89dFqTHNQVbWi3VZqxSJqfUwWpb/mCHxA==", "dev": true, "requires": { "web3-eth-abi": "^1.2.1", @@ -22409,14 +22795,12 @@ }, "abort-controller": { "version": "3.0.0", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", "requires": { "event-target-shim": "^5.0.0" } }, "abstract-leveldown": { "version": "6.3.0", - "integrity": "sha512-TU5nlYgta8YrBMNpc9FwQzRbiXsj49gsALsXadbGHt9CROPzX5fB0rWDR5mtdpOOKa5XqRFpbj1QroPAoPzVjQ==", "requires": { "buffer": "^5.5.0", "immediate": "^3.2.3", @@ -22427,38 +22811,31 @@ }, "acorn": { "version": "7.4.1", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true }, "acorn-jsx": { "version": "5.3.2", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, "requires": {} }, "address": { "version": "1.1.2", - "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==", "dev": true }, "adm-zip": { - "version": "0.4.16", - "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==" + "version": "0.4.16" }, "aes-js": { - "version": "3.0.0", - "integrity": "sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=" + "version": "3.0.0" }, "agent-base": { "version": "6.0.2", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "requires": { "debug": "4" } }, "aggregate-error": { "version": "3.1.0", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", "requires": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" @@ -22466,7 +22843,6 @@ }, "ajv": { "version": "6.12.6", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -22477,56 +22853,45 @@ }, "amdefine": { "version": "1.0.1", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", "dev": true, "optional": true }, "ansi-colors": { - "version": "4.1.1", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" + "version": "4.1.1" }, "ansi-escapes": { "version": "4.3.2", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "requires": { "type-fest": "^0.21.3" }, "dependencies": { "type-fest": { - "version": "0.21.3", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" + "version": "0.21.3" } } }, "ansi-regex": { - "version": "5.0.1", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + "version": "5.0.1" }, "ansi-styles": { "version": "4.3.0", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "requires": { "color-convert": "^2.0.1" } }, "antlr4": { "version": "4.7.1", - "integrity": "sha512-haHyTW7Y9joE5MVs37P2lNYfU2RWBLfcRDD8OWldcdZm5TiCE91B5Xl1oWSwiDUSd4rlExpt2pu1fksYQjRBYQ==", "dev": true }, "antlr4ts": { - "version": "0.5.0-alpha.4", - "integrity": "sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==" + "version": "0.5.0-alpha.4" }, "any-signal": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-3.0.1.tgz", - "integrity": "sha512-xgZgJtKEa9YmDqXodIgl7Fl1C8yNXr8w6gXjqK3LW4GcEiYT+6AQfJSE/8SPsEpLLmcvbv8YU+qet94UewHxqg==", "dev": true }, "anymatch": { "version": "3.1.2", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -22534,7 +22899,6 @@ }, "append-transform": { "version": "2.0.0", - "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", "dev": true, "requires": { "default-require-extensions": "^3.0.0" @@ -22542,53 +22906,43 @@ }, "archy": { "version": "1.0.0", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", "dev": true }, "argparse": { "version": "1.0.10", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "requires": { "sprintf-js": "~1.0.2" } }, "arr-diff": { "version": "2.0.0", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "requires": { "arr-flatten": "^1.0.1" } }, "arr-flatten": { - "version": "1.1.0", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + "version": "1.1.0" }, "array-differ": { "version": "3.0.0", - "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", "dev": true }, "array-flatten": { "version": "1.1.1", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", "dev": true }, "array-union": { - "version": "2.1.0", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" + "version": "2.1.0" }, "array-unique": { - "version": "0.2.1", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=" + "version": "0.2.1" }, "arrify": { "version": "2.0.1", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", "dev": true }, "asn1": { "version": "0.2.4", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "dev": true, "requires": { "safer-buffer": "~2.1.0" @@ -22596,7 +22950,6 @@ }, "asn1.js": { "version": "5.4.1", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", "dev": true, "requires": { "bn.js": "^4.0.0", @@ -22607,78 +22960,62 @@ }, "ast-parents": { "version": "0.0.1", - "integrity": "sha1-UI/Q8F0MSHddnszaLhdEIyYejdM=", "dev": true }, "astral-regex": { "version": "2.0.0", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true }, "async": { "version": "2.6.3", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", "requires": { "lodash": "^4.17.14" } }, "async-eventemitter": { "version": "0.2.4", - "integrity": "sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw==", "requires": { "async": "^2.4.0" } }, "async-limiter": { "version": "1.0.1", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", "dev": true }, "asynckit": { - "version": "0.4.0", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + "version": "0.4.0" }, "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + "version": "1.0.0" }, "available-typed-arrays": { "version": "1.0.5", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", "dev": true }, "aws4": { "version": "1.11.0", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", "dev": true }, "axios": { "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", "requires": { "follow-redirects": "^1.14.0" } }, "balanced-match": { - "version": "1.0.2", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "version": "1.0.2" }, "base-x": { "version": "3.0.8", - "integrity": "sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA==", "requires": { "safe-buffer": "^5.0.1" } }, "base64-js": { - "version": "1.5.1", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + "version": "1.5.1" }, "bcrypt-pbkdf": { "version": "1.0.2", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, "requires": { "tweetnacl": "^0.14.3" @@ -22686,33 +23023,25 @@ "dependencies": { "tweetnacl": { "version": "0.14.5", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true } } }, "bech32": { - "version": "1.1.4", - "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" + "version": "1.1.4" }, "big.js": { "version": "6.2.1", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-6.2.1.tgz", - "integrity": "sha512-bCtHMwL9LeDIozFn+oNhhFoq+yQ3BNdnsLSASUxLciOb1vgvpHsIO1dsENiGMgbb4SkP5TrzWzRiLddn8ahVOQ==", "dev": true }, "bignumber.js": { - "version": "9.0.1", - "integrity": "sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==" + "version": "9.0.1" }, "binary-extensions": { - "version": "2.2.0", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + "version": "2.2.0" }, "bl": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "dev": true, "requires": { "buffer": "^5.5.0", @@ -22721,25 +23050,20 @@ } }, "blakejs": { - "version": "1.1.1", - "integrity": "sha512-bLG6PHOCZJKNshTjGRBvET0vTciwQE6zFKOKKXPDJfwFBd4Ac0yBfPZqcGvGJap50l7ktvlpFqc2jGVaUgbJgg==" + "version": "1.1.1" }, "blob-to-it": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/blob-to-it/-/blob-to-it-1.0.4.tgz", - "integrity": "sha512-iCmk0W4NdbrWgRRuxOriU8aM5ijeVLI61Zulsmg/lUHNr7pYjoj+U77opLefNagevtrrbMt3JQ5Qip7ar178kA==", "dev": true, "requires": { "browser-readablestream-to-it": "^1.0.3" } }, "bn.js": { - "version": "4.12.0", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "version": "4.12.0" }, "body-parser": { "version": "1.19.0", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", "dev": true, "requires": { "bytes": "3.1.0", @@ -22756,7 +23080,6 @@ "dependencies": { "debug": { "version": "2.6.9", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -22764,7 +23087,6 @@ }, "http-errors": { "version": "1.7.2", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", "dev": true, "requires": { "depd": "~1.1.2", @@ -22776,22 +23098,18 @@ }, "inherits": { "version": "2.0.3", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, "ms": { "version": "2.0.0", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "qs": { "version": "6.7.0", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", "dev": true }, "raw-body": { "version": "2.4.0", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", "dev": true, "requires": { "bytes": "3.1.0", @@ -22804,13 +23122,10 @@ }, "boolbase": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", "dev": true }, "brace-expansion": { "version": "1.1.11", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -22818,28 +23133,22 @@ }, "braces": { "version": "3.0.2", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "requires": { "fill-range": "^7.0.1" } }, "brorand": { - "version": "1.1.0", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + "version": "1.1.0" }, "browser-readablestream-to-it": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/browser-readablestream-to-it/-/browser-readablestream-to-it-1.0.3.tgz", - "integrity": "sha512-+12sHB+Br8HIh6VAMVEG5r3UXCyESIgDW7kzk3BjIXa43DVqVwL7GC5TW3jeh+72dtcH99pPVpw0X8i0jt+/kw==", "dev": true }, "browser-stdout": { - "version": "1.3.1", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" + "version": "1.3.1" }, "browserify-aes": { "version": "1.2.0", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "requires": { "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", @@ -22850,14 +23159,12 @@ }, "dependencies": { "buffer-xor": { - "version": "1.0.3", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + "version": "1.0.3" } } }, "browserify-cipher": { "version": "1.0.1", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, "requires": { "browserify-aes": "^1.0.4", @@ -22867,7 +23174,6 @@ }, "browserify-des": { "version": "1.0.2", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "dev": true, "requires": { "cipher-base": "^1.0.1", @@ -22878,7 +23184,6 @@ }, "browserify-rsa": { "version": "4.1.0", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", "dev": true, "requires": { "bn.js": "^5.0.0", @@ -22887,14 +23192,12 @@ "dependencies": { "bn.js": { "version": "5.2.0", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", "dev": true } } }, "browserify-sign": { "version": "4.2.1", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", "dev": true, "requires": { "bn.js": "^5.1.1", @@ -22910,14 +23213,12 @@ "dependencies": { "bn.js": { "version": "5.2.0", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", "dev": true } } }, "browserslist": { "version": "4.17.2", - "integrity": "sha512-jSDZyqJmkKMEMi7SZAgX5UltFdR5NAO43vY0AwTpu4X3sGH7GLLQ83KiUomgrnvZRCeW0yPPnKqnxPqQOER9zQ==", "dev": true, "requires": { "caniuse-lite": "^1.0.30001261", @@ -22929,14 +23230,12 @@ }, "bs58": { "version": "4.0.1", - "integrity": "sha1-vhYedsNU9veIrkBx9j806MTwpCo=", "requires": { "base-x": "^3.0.2" } }, "bs58check": { "version": "2.1.2", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", "requires": { "bs58": "^4.0.0", "create-hash": "^1.1.0", @@ -22945,44 +23244,36 @@ }, "buffer": { "version": "5.7.1", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "requires": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" } }, "buffer-from": { - "version": "1.1.2", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + "version": "1.1.2" }, "buffer-to-arraybuffer": { "version": "0.0.5", - "integrity": "sha1-YGSkD6dutDxyOrqe+PbhIW0QURo=", "dev": true }, "buffer-xor": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-2.0.2.tgz", - "integrity": "sha512-eHslX0bin3GB+Lx2p7lEYRShRewuNZL3fUl4qlVJGGiwoPGftmt8JQgk2Y9Ji5/01TnVDo33E5b5O3vUB1HdqQ==", "requires": { "safe-buffer": "^5.1.1" } }, "bufferutil": { "version": "4.0.4", - "integrity": "sha512-VNxjXUCrF3LvbLgwfkTb5LsFvk6pGIn7OBb9x+3o+iJ6mKw0JTUp4chBFc88hi1aspeZGeZG9jAIbpFYPQSLZw==", "devOptional": true, "requires": { "node-gyp-build": "^4.2.0" } }, "bytes": { - "version": "3.1.0", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + "version": "3.1.0" }, "cacheable-request": { "version": "6.1.0", - "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", "dev": true, "requires": { "clone-response": "^1.0.2", @@ -22996,14 +23287,12 @@ "dependencies": { "lowercase-keys": { "version": "2.0.0", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", "dev": true } } }, "caching-transform": { "version": "4.0.0", - "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", "dev": true, "requires": { "hasha": "^5.0.0", @@ -23014,7 +23303,6 @@ "dependencies": { "hasha": { "version": "5.2.2", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", "dev": true, "requires": { "is-stream": "^2.0.0", @@ -23023,14 +23311,12 @@ }, "type-fest": { "version": "0.8.1", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true } } }, "call-bind": { "version": "1.0.2", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "requires": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" @@ -23038,7 +23324,6 @@ }, "caller-callsite": { "version": "2.0.0", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", "dev": true, "requires": { "callsites": "^2.0.0" @@ -23046,14 +23331,12 @@ "dependencies": { "callsites": { "version": "2.0.0", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", "dev": true } } }, "caller-path": { "version": "2.0.0", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", "dev": true, "requires": { "caller-callsite": "^2.0.0" @@ -23061,23 +23344,18 @@ }, "callsites": { "version": "3.1.0", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, "camelcase": { "version": "5.3.1", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, "caniuse-lite": { "version": "1.0.30001264", - "integrity": "sha512-Ftfqqfcs/ePiUmyaySsQ4PUsdcYyXG2rfoBVsk3iY1ahHaJEw65vfb7Suzqm+cEkwwPIv/XWkg27iCpRavH4zA==", "dev": true }, "cbor": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/cbor/-/cbor-5.2.0.tgz", - "integrity": "sha512-5IMhi9e1QU76ppa5/ajP1BmMWZ2FHkhAhjeVKQ/EFCgYSEaeVaoGtL7cxJskf9oCCk+XjzaIdc3IuU/dbA/o2A==", "requires": { "bignumber.js": "^9.0.1", "nofilter": "^1.0.4" @@ -23085,13 +23363,10 @@ }, "cborg": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.9.0.tgz", - "integrity": "sha512-V55F9PB2rQHXcmkZKiUEE+4IhOHu9clfO5fpcVNpSPb5V0ZdPoKhgiGA0w26J5Pd93FiMXW47ovZMw3T8V1eWA==", "dev": true }, "chalk": { "version": "4.1.2", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -23099,12 +23374,10 @@ }, "chardet": { "version": "0.7.0", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", "dev": true }, "chokidar": { "version": "3.5.2", - "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", "requires": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -23118,16 +23391,13 @@ }, "chownr": { "version": "1.1.4", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", "dev": true }, "ci-info": { - "version": "2.0.0", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + "version": "2.0.0" }, "cids": { "version": "0.7.5", - "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", "dev": true, "requires": { "buffer": "^5.5.0", @@ -23139,7 +23409,6 @@ "dependencies": { "multicodec": { "version": "1.0.4", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", "dev": true, "requires": { "buffer": "^5.6.0", @@ -23150,7 +23419,6 @@ }, "cipher-base": { "version": "1.0.4", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "requires": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -23158,16 +23426,13 @@ }, "class-is": { "version": "1.1.0", - "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==", "dev": true }, "clean-stack": { - "version": "2.2.0", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" + "version": "2.2.0" }, "cli-cursor": { "version": "2.1.0", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, "requires": { "restore-cursor": "^2.0.0" @@ -23175,14 +23440,10 @@ }, "cli-spinners": { "version": "2.6.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", - "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", "dev": true }, "cli-table3": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.0.tgz", - "integrity": "sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ==", "dev": true, "requires": { "colors": "^1.1.2", @@ -23192,13 +23453,10 @@ }, "cli-width": { "version": "2.2.1", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", "dev": true }, "cliui": { "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "requires": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -23207,13 +23465,10 @@ }, "clone": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", "dev": true }, "clone-response": { "version": "1.0.2", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", "dev": true, "requires": { "mimic-response": "^1.0.0" @@ -23221,48 +23476,38 @@ }, "color-convert": { "version": "2.0.1", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "requires": { "color-name": "~1.1.4" } }, "color-name": { - "version": "1.1.4", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "version": "1.1.4" }, "colors": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", "dev": true }, "combined-stream": { "version": "1.0.8", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "requires": { "delayed-stream": "~1.0.0" } }, "command-exists": { - "version": "1.2.9", - "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" + "version": "1.2.9" }, "commander": { - "version": "3.0.2", - "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==" + "version": "3.0.2" }, "commondir": { "version": "1.0.1", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, "concat-map": { - "version": "0.0.1", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "version": "0.0.1" }, "concat-stream": { "version": "1.6.2", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -23273,7 +23518,6 @@ "dependencies": { "readable-stream": { "version": "2.3.7", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -23287,12 +23531,10 @@ }, "safe-buffer": { "version": "5.1.2", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, "string_decoder": { "version": "1.1.1", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { "safe-buffer": "~5.1.0" @@ -23302,7 +23544,6 @@ }, "content-disposition": { "version": "0.5.3", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", "dev": true, "requires": { "safe-buffer": "5.1.2" @@ -23310,14 +23551,12 @@ "dependencies": { "safe-buffer": { "version": "5.1.2", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true } } }, "content-hash": { "version": "2.5.2", - "integrity": "sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw==", "dev": true, "requires": { "cids": "^0.7.1", @@ -23327,12 +23566,10 @@ }, "content-type": { "version": "1.0.4", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", "dev": true }, "convert-source-map": { "version": "1.8.0", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", "dev": true, "requires": { "safe-buffer": "~5.1.1" @@ -23340,37 +23577,30 @@ "dependencies": { "safe-buffer": { "version": "5.1.2", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true } } }, "cookie": { - "version": "0.4.1", - "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==" + "version": "0.4.1" }, "cookie-signature": { "version": "1.0.6", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", "dev": true }, "cookiejar": { "version": "2.1.3", - "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==", "dev": true }, "core-js-pure": { - "version": "3.17.3", - "integrity": "sha512-YusrqwiOTTn8058JDa0cv9unbXdIiIgcgI9gXso0ey4WgkFLd3lYlV9rp9n7nDCsYxXsMDTjA4m1h3T348mdlQ==" + "version": "3.17.3" }, "core-util-is": { "version": "1.0.3", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, "cors": { "version": "2.8.5", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", "dev": true, "requires": { "object-assign": "^4", @@ -23379,7 +23609,6 @@ }, "cosmiconfig": { "version": "5.2.1", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", "dev": true, "requires": { "import-fresh": "^2.0.0", @@ -23390,7 +23619,6 @@ "dependencies": { "import-fresh": { "version": "2.0.0", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", "dev": true, "requires": { "caller-path": "^2.0.0", @@ -23399,14 +23627,12 @@ }, "resolve-from": { "version": "3.0.0", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", "dev": true } } }, "crc-32": { "version": "1.2.0", - "integrity": "sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==", "requires": { "exit-on-epipe": "~1.0.1", "printj": "~1.1.0" @@ -23414,7 +23640,6 @@ }, "create-ecdh": { "version": "4.0.4", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", "dev": true, "requires": { "bn.js": "^4.1.0", @@ -23423,7 +23648,6 @@ }, "create-hash": { "version": "1.2.0", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "requires": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", @@ -23434,7 +23658,6 @@ }, "create-hmac": { "version": "1.1.7", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "requires": { "cipher-base": "^1.0.3", "create-hash": "^1.1.0", @@ -23446,7 +23669,6 @@ }, "cross-spawn": { "version": "7.0.3", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "requires": { "path-key": "^3.1.0", @@ -23456,7 +23678,6 @@ }, "crypto-browserify": { "version": "3.12.0", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, "requires": { "browserify-cipher": "^1.0.0", @@ -23474,8 +23695,6 @@ }, "css-select": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz", - "integrity": "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==", "dev": true, "requires": { "boolbase": "^1.0.0", @@ -23487,13 +23706,10 @@ }, "css-what": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", - "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", "dev": true }, "d": { "version": "1.0.1", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", "dev": true, "requires": { "es5-ext": "^0.10.50", @@ -23502,8 +23718,6 @@ }, "dag-jose": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dag-jose/-/dag-jose-1.0.0.tgz", - "integrity": "sha512-U0b/YsIPBp6YZNTFrVjwLZAlY3qGRxZTIEcM/CcQmrVrCWq9MWQq9pheXVSPLIhF4SNwzp2SikPva4/BIrJY+g==", "dev": true, "requires": { "@ipld/dag-cbor": "^6.0.3", @@ -23512,8 +23726,6 @@ "dependencies": { "@ipld/dag-cbor": { "version": "6.0.15", - "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-6.0.15.tgz", - "integrity": "sha512-Vm3VTSTwlmGV92a3C5aeY+r2A18zbH2amehNhsX8PBa3muXICaWrN8Uri85A5hLH7D7ElhE8PdjxD6kNqUmTZA==", "dev": true, "requires": { "cborg": "^1.5.4", @@ -23524,7 +23736,6 @@ }, "dashdash": { "version": "1.14.1", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "requires": { "assert-plus": "^1.0.0" @@ -23532,37 +23743,30 @@ "dependencies": { "assert-plus": { "version": "1.0.0", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true } } }, "death": { "version": "1.1.0", - "integrity": "sha1-AaqcQB7dknUFFEcLgmY5DGbGcxg=", "dev": true }, "debug": { "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "requires": { "ms": "2.1.2" } }, "decamelize": { "version": "1.2.0", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, "decode-uri-component": { "version": "0.2.0", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", "dev": true }, "decompress-response": { "version": "3.3.0", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", "dev": true, "requires": { "mimic-response": "^1.0.0" @@ -23570,7 +23774,6 @@ }, "deep-equal": { "version": "1.1.1", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", "requires": { "is-arguments": "^1.0.4", "is-date-object": "^1.0.1", @@ -23582,12 +23785,10 @@ }, "deep-is": { "version": "0.1.4", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, "default-require-extensions": { "version": "3.0.0", - "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", "dev": true, "requires": { "strip-bom": "^4.0.0" @@ -23595,15 +23796,12 @@ "dependencies": { "strip-bom": { "version": "4.0.0", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true } } }, "defaults": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==", "dev": true, "requires": { "clone": "^1.0.2" @@ -23611,12 +23809,10 @@ }, "defer-to-connect": { "version": "1.1.3", - "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", "dev": true }, "deferred-leveldown": { "version": "5.3.0", - "integrity": "sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw==", "requires": { "abstract-leveldown": "~6.2.1", "inherits": "^2.0.3" @@ -23624,7 +23820,6 @@ "dependencies": { "abstract-leveldown": { "version": "6.2.3", - "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", "requires": { "buffer": "^5.5.0", "immediate": "^3.2.3", @@ -23637,14 +23832,12 @@ }, "define-properties": { "version": "1.1.3", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "requires": { "object-keys": "^1.0.12" } }, "del": { "version": "6.0.0", - "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", "requires": { "globby": "^11.0.1", "graceful-fs": "^4.2.4", @@ -23657,16 +23850,13 @@ } }, "delayed-stream": { - "version": "1.0.0", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + "version": "1.0.0" }, "depd": { - "version": "1.1.2", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + "version": "1.1.2" }, "des.js": { "version": "1.0.1", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", "dev": true, "requires": { "inherits": "^2.0.1", @@ -23675,12 +23865,10 @@ }, "destroy": { "version": "1.0.4", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", "dev": true }, "detect-port": { "version": "1.3.0", - "integrity": "sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==", "dev": true, "requires": { "address": "^1.0.1", @@ -23689,7 +23877,6 @@ "dependencies": { "debug": { "version": "2.6.9", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -23697,19 +23884,15 @@ }, "ms": { "version": "2.0.0", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } }, "diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==" + "version": "5.0.0" }, "diffie-hellman": { "version": "5.0.3", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, "requires": { "bn.js": "^4.1.0", @@ -23719,15 +23902,12 @@ }, "dir-glob": { "version": "3.0.1", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "requires": { "path-type": "^4.0.0" } }, "dns-over-http-resolver": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/dns-over-http-resolver/-/dns-over-http-resolver-1.2.3.tgz", - "integrity": "sha512-miDiVSI6KSNbi4SVifzO/reD8rMnxgrlnkrlkugOLQpWQTe2qMdHsZp5DmfKjxNE+/T3VAAYLQUZMv9SMr6+AA==", "dev": true, "requires": { "debug": "^4.3.1", @@ -23737,7 +23917,6 @@ }, "doctrine": { "version": "3.0.0", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, "requires": { "esutils": "^2.0.2" @@ -23745,8 +23924,6 @@ }, "dom-converter": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", "dev": true, "requires": { "utila": "~0.4" @@ -23754,8 +23931,6 @@ }, "dom-serializer": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", - "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", "dev": true, "requires": { "domelementtype": "^2.0.1", @@ -23765,19 +23940,14 @@ }, "dom-walk": { "version": "0.1.2", - "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==", "dev": true }, "domelementtype": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", "dev": true }, "domhandler": { "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", "dev": true, "requires": { "domelementtype": "^2.2.0" @@ -23785,8 +23955,6 @@ }, "domutils": { "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "dev": true, "requires": { "dom-serializer": "^1.0.1", @@ -23796,18 +23964,14 @@ }, "dotenv": { "version": "16.0.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.1.tgz", - "integrity": "sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==", "dev": true }, "duplexer3": { "version": "0.1.4", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", "dev": true }, "ecc-jsbn": { "version": "0.1.2", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, "requires": { "jsbn": "~0.1.0", @@ -23816,13 +23980,10 @@ }, "ee-first": { "version": "1.1.1", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", "dev": true }, "electron-fetch": { "version": "1.7.4", - "resolved": "https://registry.npmjs.org/electron-fetch/-/electron-fetch-1.7.4.tgz", - "integrity": "sha512-+fBLXEy4CJWQ5bz8dyaeSG1hD6JJ15kBZyj3eh24pIVrd3hLM47H/umffrdQfS6GZ0falF0g9JT9f3Rs6AVUhw==", "dev": true, "requires": { "encoding": "^0.1.13" @@ -23830,12 +23991,10 @@ }, "electron-to-chromium": { "version": "1.3.857", - "integrity": "sha512-a5kIr2lajm4bJ5E4D3fp8Y/BRB0Dx2VOcCRE5Gtb679mXIME/OFhWler8Gy2ksrf8gFX+EFCSIGA33FB3gqYpg==", "dev": true }, "elliptic": { "version": "6.5.4", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "requires": { "bn.js": "^4.11.9", "brorand": "^1.1.0", @@ -23848,18 +24007,14 @@ }, "emoji-regex": { "version": "9.2.2", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true }, "encodeurl": { "version": "1.0.2", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", "dev": true }, "encoding": { "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", "dev": true, "requires": { "iconv-lite": "^0.6.2" @@ -23867,8 +24022,6 @@ "dependencies": { "iconv-lite": { "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, "requires": { "safer-buffer": ">= 2.1.2 < 3.0.0" @@ -23878,7 +24031,6 @@ }, "encoding-down": { "version": "6.3.0", - "integrity": "sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw==", "requires": { "abstract-leveldown": "^6.2.1", "inherits": "^2.0.3", @@ -23888,7 +24040,6 @@ }, "end-of-stream": { "version": "1.4.4", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dev": true, "requires": { "once": "^1.4.0" @@ -23896,37 +24047,29 @@ }, "enquirer": { "version": "2.3.6", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "requires": { "ansi-colors": "^4.1.1" } }, "entities": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", "dev": true }, "env-paths": { - "version": "2.2.1", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==" + "version": "2.2.1" }, "err-code": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", - "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==", "dev": true }, "errno": { "version": "0.1.8", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "requires": { "prr": "~1.0.1" } }, "error-ex": { "version": "1.3.2", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "requires": { "is-arrayish": "^0.2.1" @@ -23934,8 +24077,6 @@ }, "es-abstract": { "version": "1.19.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.3.tgz", - "integrity": "sha512-4axXLNovnMYf0+csS5rVnS5hLmV1ek+ecx9MuCjByL1E5Nn54avf6CHQxIjgQIHBnfX9AMxTRIy0q+Yu5J/fXA==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -23962,7 +24103,6 @@ "dependencies": { "object.assign": { "version": "4.1.2", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", "dev": true, "requires": { "call-bind": "^1.0.0", @@ -23975,7 +24115,6 @@ }, "es-to-primitive": { "version": "1.2.1", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, "requires": { "is-callable": "^1.1.4", @@ -23985,7 +24124,6 @@ }, "es5-ext": { "version": "0.10.53", - "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", "dev": true, "requires": { "es6-iterator": "~2.0.3", @@ -23995,12 +24133,10 @@ }, "es6-error": { "version": "4.1.1", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", "dev": true }, "es6-iterator": { "version": "2.0.3", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "dev": true, "requires": { "d": "1", @@ -24010,7 +24146,6 @@ }, "es6-symbol": { "version": "3.1.3", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", "dev": true, "requires": { "d": "^1.0.1", @@ -24018,21 +24153,17 @@ } }, "escalade": { - "version": "3.1.1", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + "version": "3.1.1" }, "escape-html": { "version": "1.0.3", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", "dev": true }, "escape-string-regexp": { - "version": "4.0.0", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + "version": "4.0.0" }, "escodegen": { "version": "1.8.1", - "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", "dev": true, "requires": { "esprima": "^2.7.1", @@ -24044,17 +24175,14 @@ "dependencies": { "esprima": { "version": "2.7.3", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", "dev": true }, "estraverse": { "version": "1.9.3", - "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", "dev": true }, "levn": { "version": "0.3.0", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { "prelude-ls": "~1.1.2", @@ -24063,7 +24191,6 @@ }, "optionator": { "version": "0.8.3", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", "dev": true, "requires": { "deep-is": "~0.1.3", @@ -24076,12 +24203,10 @@ }, "prelude-ls": { "version": "1.1.2", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", "dev": true }, "source-map": { "version": "0.2.0", - "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", "dev": true, "optional": true, "requires": { @@ -24090,7 +24215,6 @@ }, "type-check": { "version": "0.3.2", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { "prelude-ls": "~1.1.2" @@ -24100,7 +24224,6 @@ }, "eslint": { "version": "7.32.0", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", "dev": true, "requires": { "@babel/code-frame": "7.12.11", @@ -24147,12 +24270,10 @@ }, "eslint-plugin-no-only-tests": { "version": "2.6.0", - "integrity": "sha512-T9SmE/g6UV1uZo1oHAqOvL86XWl7Pl2EpRpnLI8g/bkJu+h7XBCB+1LnubRZ2CUQXj805vh4/CYZdnqtVaEo2Q==", "dev": true }, "eslint-scope": { "version": "5.1.1", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "requires": { "esrecurse": "^4.3.0", @@ -24161,7 +24282,6 @@ }, "eslint-utils": { "version": "2.1.0", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", "dev": true, "requires": { "eslint-visitor-keys": "^1.1.0" @@ -24169,19 +24289,16 @@ "dependencies": { "eslint-visitor-keys": { "version": "1.3.0", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true } } }, "eslint-visitor-keys": { "version": "2.1.0", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", "dev": true }, "espree": { "version": "7.3.1", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", "dev": true, "requires": { "acorn": "^7.4.0", @@ -24191,18 +24308,15 @@ "dependencies": { "eslint-visitor-keys": { "version": "1.3.0", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true } } }, "esprima": { - "version": "4.0.1", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + "version": "4.0.1" }, "esquery": { "version": "1.4.0", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, "requires": { "estraverse": "^5.1.0" @@ -24210,14 +24324,12 @@ "dependencies": { "estraverse": { "version": "5.2.0", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true } } }, "esrecurse": { "version": "4.3.0", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "requires": { "estraverse": "^5.2.0" @@ -24225,29 +24337,24 @@ "dependencies": { "estraverse": { "version": "5.2.0", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true } } }, "estraverse": { "version": "4.3.0", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true }, "esutils": { "version": "2.0.3", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, "etag": { "version": "1.8.1", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", "dev": true }, "eth-ens-namehash": { "version": "2.0.8", - "integrity": "sha1-IprEbsqG1S4MmR58sq74P/D2i88=", "dev": true, "requires": { "idna-uts46-hx": "^2.3.1", @@ -24256,7 +24363,6 @@ }, "eth-lib": { "version": "0.1.29", - "integrity": "sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ==", "dev": true, "requires": { "bn.js": "^4.11.6", @@ -24269,17 +24375,14 @@ "dependencies": { "safe-buffer": { "version": "5.1.2", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, "ultron": { "version": "1.1.1", - "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", "dev": true }, "ws": { "version": "3.3.3", - "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", "dev": true, "requires": { "async-limiter": "~1.0.0", @@ -24291,7 +24394,6 @@ }, "ethereum-bloom-filters": { "version": "1.0.10", - "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==", "dev": true, "requires": { "js-sha3": "^0.8.0" @@ -24299,14 +24401,12 @@ "dependencies": { "js-sha3": { "version": "0.8.0", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==", "dev": true } } }, "ethereum-cryptography": { "version": "0.1.3", - "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", "requires": { "@types/pbkdf2": "^3.0.0", "@types/secp256k1": "^4.0.1", @@ -24327,7 +24427,6 @@ }, "ethereumjs-abi": { "version": "0.6.8", - "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==", "requires": { "bn.js": "^4.11.8", "ethereumjs-util": "^6.0.0" @@ -24335,14 +24434,12 @@ "dependencies": { "@types/bn.js": { "version": "4.11.6", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", "requires": { "@types/node": "*" } }, "ethereumjs-util": { "version": "6.2.1", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", "requires": { "@types/bn.js": "^4.11.3", "bn.js": "^4.11.0", @@ -24357,8 +24454,6 @@ }, "ethereumjs-util": { "version": "7.1.4", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.4.tgz", - "integrity": "sha512-p6KmuPCX4mZIqsQzXfmSx9Y0l2hqf+VkAiwSisW3UKUFdk8ZkAt+AYaor83z2nSi6CU2zSsXMlD80hAbNEGM0A==", "requires": { "@types/bn.js": "^5.1.0", "bn.js": "^5.1.2", @@ -24368,14 +24463,12 @@ }, "dependencies": { "bn.js": { - "version": "5.2.0", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" + "version": "5.2.0" } } }, "ethers": { "version": "5.5.1", - "integrity": "sha512-RodEvUFZI+EmFcE6bwkuJqpCYHazdzeR1nMzg+YWQSmQEsNtfl1KHGfp/FWZYl48bI/g7cgBeP2IlPthjiVngw==", "requires": { "@ethersproject/abi": "5.5.0", "@ethersproject/abstract-provider": "5.5.1", @@ -24411,7 +24504,6 @@ }, "ethjs-unit": { "version": "0.1.6", - "integrity": "sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk=", "dev": true, "requires": { "bn.js": "4.11.6", @@ -24420,26 +24512,22 @@ "dependencies": { "bn.js": { "version": "4.11.6", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=", "dev": true } } }, "ethjs-util": { "version": "0.1.6", - "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", "requires": { "is-hex-prefixed": "1.0.0", "strip-hex-prefix": "1.0.0" } }, "event-target-shim": { - "version": "5.0.1", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" + "version": "5.0.1" }, "evp_bytestokey": { "version": "1.0.3", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "requires": { "md5.js": "^1.3.4", "safe-buffer": "^5.1.1" @@ -24447,7 +24535,6 @@ }, "execa": { "version": "4.1.0", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", "dev": true, "requires": { "cross-spawn": "^7.0.0", @@ -24462,26 +24549,22 @@ } }, "exit-on-epipe": { - "version": "1.0.1", - "integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==" + "version": "1.0.1" }, "expand-brackets": { "version": "0.1.5", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "requires": { "is-posix-bracket": "^0.1.0" } }, "expand-range": { "version": "1.8.2", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "requires": { "fill-range": "^2.1.0" }, "dependencies": { "fill-range": { "version": "2.2.4", - "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "requires": { "is-number": "^2.1.0", "isobject": "^2.0.0", @@ -24492,7 +24575,6 @@ }, "is-number": { "version": "2.1.0", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "requires": { "kind-of": "^3.0.2" } @@ -24501,7 +24583,6 @@ }, "express": { "version": "4.17.1", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", "dev": true, "requires": { "accepts": "~1.3.7", @@ -24538,7 +24619,6 @@ "dependencies": { "accepts": { "version": "1.3.7", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", "dev": true, "requires": { "mime-types": "~2.1.24", @@ -24547,12 +24627,10 @@ }, "cookie": { "version": "0.4.0", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", "dev": true }, "debug": { "version": "2.6.9", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -24560,29 +24638,24 @@ }, "ms": { "version": "2.0.0", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "negotiator": { "version": "0.6.2", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", "dev": true }, "qs": { "version": "6.7.0", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", "dev": true }, "safe-buffer": { "version": "5.1.2", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true } } }, "ext": { "version": "1.6.0", - "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==", "dev": true, "requires": { "type": "^2.5.0" @@ -24590,19 +24663,16 @@ "dependencies": { "type": { "version": "2.5.0", - "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==", "dev": true } } }, "extend": { "version": "3.0.2", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true }, "external-editor": { "version": "3.1.0", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", "dev": true, "requires": { "chardet": "^0.7.0", @@ -24612,41 +24682,33 @@ }, "extglob": { "version": "0.3.2", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "requires": { "is-extglob": "^1.0.0" }, "dependencies": { "is-extglob": { - "version": "1.0.0", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" + "version": "1.0.0" } } }, "extsprintf": { "version": "1.3.0", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", "dev": true }, "fast-deep-equal": { "version": "3.1.3", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, "fast-diff": { "version": "1.2.0", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", "dev": true }, "fast-fifo": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.1.0.tgz", - "integrity": "sha512-Kl29QoNbNvn4nhDsLYjyIAaIqaJB6rBx5p3sL9VjaefJ+eMFBWVZiaoguaoZfzEKr5RhAti0UgM8703akGPJ6g==", "dev": true }, "fast-glob": { "version": "3.2.7", - "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -24657,7 +24719,6 @@ "dependencies": { "micromatch": { "version": "4.0.4", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", "requires": { "braces": "^3.0.1", "picomatch": "^2.2.3" @@ -24667,25 +24728,20 @@ }, "fast-json-stable-stringify": { "version": "2.1.0", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, "fast-levenshtein": { "version": "2.0.6", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, "fastq": { "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", "requires": { "reusify": "^1.0.4" } }, "figures": { "version": "2.0.0", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "dev": true, "requires": { "escape-string-regexp": "^1.0.5" @@ -24693,33 +24749,28 @@ "dependencies": { "escape-string-regexp": { "version": "1.0.5", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true } } }, "file-entry-cache": { "version": "6.0.1", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, "requires": { "flat-cache": "^3.0.4" } }, "filename-regex": { - "version": "2.0.1", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=" + "version": "2.0.1" }, "fill-range": { "version": "7.0.1", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "requires": { "to-regex-range": "^5.0.1" } }, "filter-values": { "version": "0.4.1", - "integrity": "sha1-Webb1dP9YwK9LbFcKOcbwWEO6Es=", "requires": { "for-own": "^0.1.3", "is-match": "^0.4.0" @@ -24727,7 +24778,6 @@ }, "finalhandler": { "version": "1.1.2", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "dev": true, "requires": { "debug": "2.6.9", @@ -24741,7 +24791,6 @@ "dependencies": { "debug": { "version": "2.6.9", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -24749,14 +24798,12 @@ }, "ms": { "version": "2.0.0", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } }, "find-cache-dir": { "version": "3.3.2", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dev": true, "requires": { "commondir": "^1.0.1", @@ -24766,19 +24813,15 @@ }, "find-up": { "version": "2.1.0", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "requires": { "locate-path": "^2.0.0" } }, "flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" + "version": "5.0.2" }, "flat-cache": { "version": "3.0.4", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, "requires": { "flatted": "^3.1.0", @@ -24787,33 +24830,26 @@ }, "flatted": { "version": "3.2.2", - "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==", "dev": true }, "follow-redirects": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==" + "version": "1.15.1" }, "for-in": { - "version": "1.0.2", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + "version": "1.0.2" }, "for-own": { "version": "0.1.5", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "requires": { "for-in": "^1.0.1" } }, "foreach": { "version": "2.0.5", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", "dev": true }, "foreground-child": { "version": "2.0.0", - "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", "dev": true, "requires": { "cross-spawn": "^7.0.0", @@ -24822,13 +24858,10 @@ }, "forever-agent": { "version": "0.6.1", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", "dev": true }, "form-data": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -24837,32 +24870,25 @@ }, "forwarded": { "version": "0.2.0", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "dev": true }, "fp-ts": { - "version": "1.19.3", - "integrity": "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==" + "version": "1.19.3" }, "fresh": { "version": "0.5.2", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", "dev": true }, "fromentries": { "version": "1.3.2", - "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", "dev": true }, "fs-constants": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", "dev": true }, "fs-extra": { "version": "7.0.1", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", "requires": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -24871,37 +24897,25 @@ }, "fs-minipass": { "version": "1.2.7", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", "dev": true, "requires": { "minipass": "^2.6.0" } }, "fs.realpath": { - "version": "1.0.0", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "version": "2.3.2", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "optional": true + "version": "1.0.0" }, "function-bind": { - "version": "1.1.1", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "version": "1.1.1" }, "functional-red-black-tree": { - "version": "1.0.1", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" + "version": "1.0.1" }, "fuse.js": { - "version": "6.6.2", - "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-6.6.2.tgz", - "integrity": "sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==" + "version": "6.6.2" }, "ganache-cli": { "version": "6.12.2", - "integrity": "sha512-bnmwnJDBDsOWBUP8E/BExWf85TsdDEFelQSzihSJm9VChVO1SHp94YXLP5BlA4j/OTxp0wR4R1Tje9OHOuAJVw==", "dev": true, "requires": { "ethereumjs-util": "6.2.1", @@ -25675,16 +25689,13 @@ }, "gensync": { "version": "1.0.0-beta.2", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true }, "get-caller-file": { - "version": "2.0.5", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + "version": "2.0.5" }, "get-intrinsic": { "version": "1.1.1", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -25693,18 +25704,14 @@ }, "get-iterator": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-iterator/-/get-iterator-1.0.2.tgz", - "integrity": "sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg==", "dev": true }, "get-package-type": { "version": "0.1.0", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true }, "get-stream": { "version": "5.2.0", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dev": true, "requires": { "pump": "^3.0.0" @@ -25712,7 +25719,6 @@ }, "get-symbol-description": { "version": "1.0.0", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -25721,7 +25727,6 @@ }, "getpass": { "version": "0.1.7", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { "assert-plus": "^1.0.0" @@ -25729,14 +25734,12 @@ "dependencies": { "assert-plus": { "version": "1.0.0", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true } } }, "ghost-testrpc": { "version": "0.0.2", - "integrity": "sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ==", "dev": true, "requires": { "chalk": "^2.4.2", @@ -25745,7 +25748,6 @@ "dependencies": { "ansi-styles": { "version": "3.2.1", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "^1.9.0" @@ -25753,7 +25755,6 @@ }, "chalk": { "version": "2.4.2", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -25763,7 +25764,6 @@ }, "color-convert": { "version": "1.9.3", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { "color-name": "1.1.3" @@ -25771,22 +25771,18 @@ }, "color-name": { "version": "1.1.3", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "escape-string-regexp": { "version": "1.0.5", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, "has-flag": { "version": "3.0.0", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "supports-color": { "version": "5.5.0", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -25796,7 +25792,6 @@ }, "glob": { "version": "7.1.7", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -25808,7 +25803,6 @@ }, "glob-base": { "version": "0.3.0", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "requires": { "glob-parent": "^2.0.0", "is-glob": "^2.0.0" @@ -25816,18 +25810,15 @@ "dependencies": { "glob-parent": { "version": "2.0.0", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "requires": { "is-glob": "^2.0.0" } }, "is-extglob": { - "version": "1.0.0", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" + "version": "1.0.0" }, "is-glob": { "version": "2.0.1", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "requires": { "is-extglob": "^1.0.0" } @@ -25836,14 +25827,12 @@ }, "glob-parent": { "version": "5.1.2", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "requires": { "is-glob": "^4.0.1" } }, "global": { "version": "4.4.0", - "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", "dev": true, "requires": { "min-document": "^2.19.0", @@ -25852,7 +25841,6 @@ }, "global-modules": { "version": "2.0.0", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", "dev": true, "requires": { "global-prefix": "^3.0.0" @@ -25860,7 +25848,6 @@ }, "global-prefix": { "version": "3.0.0", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", "dev": true, "requires": { "ini": "^1.3.5", @@ -25870,12 +25857,10 @@ "dependencies": { "kind-of": { "version": "6.0.3", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true }, "which": { "version": "1.3.1", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { "isexe": "^2.0.0" @@ -25885,7 +25870,6 @@ }, "globals": { "version": "13.11.0", - "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -25893,7 +25877,6 @@ }, "globby": { "version": "11.0.4", - "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", "requires": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -25904,14 +25887,12 @@ }, "dependencies": { "ignore": { - "version": "5.1.8", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==" + "version": "5.1.8" } } }, "got": { "version": "9.6.0", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", "dev": true, "requires": { "@sindresorhus/is": "^0.14.0", @@ -25929,7 +25910,6 @@ "dependencies": { "get-stream": { "version": "4.1.0", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", "dev": true, "requires": { "pump": "^3.0.0" @@ -25938,16 +25918,13 @@ } }, "graceful-fs": { - "version": "4.2.8", - "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" + "version": "4.2.8" }, "growl": { - "version": "1.10.5", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==" + "version": "1.10.5" }, "handlebars": { "version": "4.7.7", - "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", "dev": true, "requires": { "minimist": "^1.2.5", @@ -25959,26 +25936,21 @@ "dependencies": { "uglify-js": { "version": "3.14.2", - "integrity": "sha512-rtPMlmcO4agTUfz10CbgJ1k6UAoXM2gWb3GoMPPZB/+/Ackf8lNWk11K4rYi2D0apgoFRLtQOZhb+/iGNJq26A==", "dev": true, "optional": true }, "wordwrap": { "version": "1.0.0", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", "dev": true } } }, "har-schema": { "version": "2.0.0", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", "dev": true }, "hardhat": { "version": "2.9.3", - "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.9.3.tgz", - "integrity": "sha512-7Vw99RbYbMZ15UzegOR/nqIYIqddZXvLwJGaX5sX4G5bydILnbjmDU6g3jMKJSiArEixS3vHAEaOs5CW1JQ3hg==", "requires": { "@ethereumjs/block": "^3.6.0", "@ethereumjs/blockchain": "^5.5.0", @@ -26032,14 +26004,12 @@ "dependencies": { "ansi-styles": { "version": "3.2.1", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { "color-convert": "^1.9.0" } }, "chalk": { "version": "2.4.2", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -26048,45 +26018,35 @@ }, "color-convert": { "version": "1.9.3", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "requires": { "color-name": "1.1.3" } }, "color-name": { - "version": "1.1.3", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "version": "1.1.3" }, "escape-string-regexp": { - "version": "1.0.5", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "version": "1.0.5" }, "has-flag": { - "version": "3.0.0", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "version": "3.0.0" }, "semver": { - "version": "6.3.0", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "version": "6.3.0" }, "supports-color": { "version": "5.5.0", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { "has-flag": "^3.0.0" } }, "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + "version": "8.3.2" } } }, "hardhat-cannon": { "version": "0.2.3", - "resolved": "https://registry.npmjs.org/hardhat-cannon/-/hardhat-cannon-0.2.3.tgz", - "integrity": "sha512-oAqOd6iOlUc+PEn+2JLYm3xANzprKtPiOChPJpxNJlkvqs54cueFGob5i1/vO+cUIE9wf7bNsP06Jjhpj+yAUA==", "dev": true, "requires": { "@iarna/toml": "^3.0.0", @@ -26105,8 +26065,6 @@ "dependencies": { "@ethersproject/abi": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.6.0.tgz", - "integrity": "sha512-AhVByTwdXCc2YQ20v300w6KVHle9g2OFc28ZAFCPnJyEpkv1xKXjZcSTgWOlv1i+0dqlgF8RCF2Rn2KC1t+1Vg==", "dev": true, "requires": { "@ethersproject/address": "^5.6.0", @@ -26122,8 +26080,6 @@ }, "@ethersproject/abstract-provider": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.6.0.tgz", - "integrity": "sha512-oPMFlKLN+g+y7a79cLK3WiLcjWFnZQtXWgnLAbHZcN3s7L4v90UHpTOrLk+m3yr0gt+/h9STTM6zrr7PM8uoRw==", "dev": true, "requires": { "@ethersproject/bignumber": "^5.6.0", @@ -26137,8 +26093,6 @@ }, "@ethersproject/abstract-signer": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.6.0.tgz", - "integrity": "sha512-WOqnG0NJKtI8n0wWZPReHtaLkDByPL67tn4nBaDAhmVq8sjHTPbCdz4DRhVu/cfTOvfy9w3iq5QZ7BX7zw56BQ==", "dev": true, "requires": { "@ethersproject/abstract-provider": "^5.6.0", @@ -26150,8 +26104,6 @@ }, "@ethersproject/address": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.6.0.tgz", - "integrity": "sha512-6nvhYXjbXsHPS+30sHZ+U4VMagFC/9zAk6Gd/h3S21YW4+yfb0WfRtaAIZ4kfM4rrVwqiy284LP0GtL5HXGLxQ==", "dev": true, "requires": { "@ethersproject/bignumber": "^5.6.0", @@ -26163,8 +26115,6 @@ }, "@ethersproject/base64": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.6.0.tgz", - "integrity": "sha512-2Neq8wxJ9xHxCF9TUgmKeSh9BXJ6OAxWfeGWvbauPh8FuHEjamgHilllx8KkSd5ErxyHIX7Xv3Fkcud2kY9ezw==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.0" @@ -26172,8 +26122,6 @@ }, "@ethersproject/basex": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.6.0.tgz", - "integrity": "sha512-qN4T+hQd/Md32MoJpc69rOwLYRUXwjTlhHDIeUkUmiN/JyWkkLLMoG0TqvSQKNqZOMgN5stbUYN6ILC+eD7MEQ==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.0", @@ -26182,8 +26130,6 @@ }, "@ethersproject/bignumber": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.6.0.tgz", - "integrity": "sha512-VziMaXIUHQlHJmkv1dlcd6GY2PmT0khtAqaMctCIDogxkrarMzA9L94KN1NeXqqOfFD6r0sJT3vCTOFSmZ07DA==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.0", @@ -26193,8 +26139,6 @@ }, "@ethersproject/bytes": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.6.1.tgz", - "integrity": "sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==", "dev": true, "requires": { "@ethersproject/logger": "^5.6.0" @@ -26202,8 +26146,6 @@ }, "@ethersproject/constants": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.6.0.tgz", - "integrity": "sha512-SrdaJx2bK0WQl23nSpV/b1aq293Lh0sUaZT/yYKPDKn4tlAbkH96SPJwIhwSwTsoQQZxuh1jnqsKwyymoiBdWA==", "dev": true, "requires": { "@ethersproject/bignumber": "^5.6.0" @@ -26211,8 +26153,6 @@ }, "@ethersproject/contracts": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.6.0.tgz", - "integrity": "sha512-74Ge7iqTDom0NX+mux8KbRUeJgu1eHZ3iv6utv++sLJG80FVuU9HnHeKVPfjd9s3woFhaFoQGf3B3iH/FrQmgw==", "dev": true, "requires": { "@ethersproject/abi": "^5.6.0", @@ -26229,8 +26169,6 @@ }, "@ethersproject/hash": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.6.0.tgz", - "integrity": "sha512-fFd+k9gtczqlr0/BruWLAu7UAOas1uRRJvOR84uDf4lNZ+bTkGl366qvniUZHKtlqxBRU65MkOobkmvmpHU+jA==", "dev": true, "requires": { "@ethersproject/abstract-signer": "^5.6.0", @@ -26245,8 +26183,6 @@ }, "@ethersproject/hdnode": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.6.0.tgz", - "integrity": "sha512-61g3Jp3nwDqJcL/p4nugSyLrpl/+ChXIOtCEM8UDmWeB3JCAt5FoLdOMXQc3WWkc0oM2C0aAn6GFqqMcS/mHTw==", "dev": true, "requires": { "@ethersproject/abstract-signer": "^5.6.0", @@ -26265,8 +26201,6 @@ }, "@ethersproject/json-wallets": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.6.0.tgz", - "integrity": "sha512-fmh86jViB9r0ibWXTQipxpAGMiuxoqUf78oqJDlCAJXgnJF024hOOX7qVgqsjtbeoxmcLwpPsXNU0WEe/16qPQ==", "dev": true, "requires": { "@ethersproject/abstract-signer": "^5.6.0", @@ -26286,8 +26220,6 @@ }, "@ethersproject/keccak256": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.6.0.tgz", - "integrity": "sha512-tk56BJ96mdj/ksi7HWZVWGjCq0WVl/QvfhFQNeL8fxhBlGoP+L80uDCiQcpJPd+2XxkivS3lwRm3E0CXTfol0w==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.0", @@ -26296,14 +26228,10 @@ }, "@ethersproject/logger": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.6.0.tgz", - "integrity": "sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==", "dev": true }, "@ethersproject/networks": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.6.1.tgz", - "integrity": "sha512-b2rrupf3kCTcc3jr9xOWBuHylSFtbpJf79Ga7QR98ienU2UqGimPGEsYMgbI29KHJfA5Us89XwGVmxrlxmSrMg==", "dev": true, "requires": { "@ethersproject/logger": "^5.6.0" @@ -26311,8 +26239,6 @@ }, "@ethersproject/pbkdf2": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.6.0.tgz", - "integrity": "sha512-Wu1AxTgJo3T3H6MIu/eejLFok9TYoSdgwRr5oGY1LTLfmGesDoSx05pemsbrPT2gG4cQME+baTSCp5sEo2erZQ==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.0", @@ -26321,8 +26247,6 @@ }, "@ethersproject/properties": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.6.0.tgz", - "integrity": "sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==", "dev": true, "requires": { "@ethersproject/logger": "^5.6.0" @@ -26330,8 +26254,6 @@ }, "@ethersproject/providers": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.6.2.tgz", - "integrity": "sha512-6/EaFW/hNWz+224FXwl8+HdMRzVHt8DpPmu5MZaIQqx/K/ELnC9eY236SMV7mleCM3NnEArFwcAAxH5kUUgaRg==", "dev": true, "requires": { "@ethersproject/abstract-provider": "^5.6.0", @@ -26357,8 +26279,6 @@ }, "@ethersproject/random": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.6.0.tgz", - "integrity": "sha512-si0PLcLjq+NG/XHSZz90asNf+YfKEqJGVdxoEkSukzbnBgC8rydbgbUgBbBGLeHN4kAJwUFEKsu3sCXT93YMsw==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.0", @@ -26367,8 +26287,6 @@ }, "@ethersproject/rlp": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.6.0.tgz", - "integrity": "sha512-dz9WR1xpcTL+9DtOT/aDO+YyxSSdO8YIS0jyZwHHSlAmnxA6cKU3TrTd4Xc/bHayctxTgGLYNuVVoiXE4tTq1g==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.0", @@ -26377,8 +26295,6 @@ }, "@ethersproject/sha2": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.6.0.tgz", - "integrity": "sha512-1tNWCPFLu1n3JM9t4/kytz35DkuF9MxqkGGEHNauEbaARdm2fafnOyw1s0tIQDPKF/7bkP1u3dbrmjpn5CelyA==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.0", @@ -26388,8 +26304,6 @@ }, "@ethersproject/signing-key": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.6.0.tgz", - "integrity": "sha512-S+njkhowmLeUu/r7ir8n78OUKx63kBdMCPssePS89So1TH4hZqnWFsThEd/GiXYp9qMxVrydf7KdM9MTGPFukA==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.0", @@ -26402,8 +26316,6 @@ }, "@ethersproject/solidity": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.6.0.tgz", - "integrity": "sha512-YwF52vTNd50kjDzqKaoNNbC/r9kMDPq3YzDWmsjFTRBcIF1y4JCQJ8gB30wsTfHbaxgxelI5BfxQSxD/PbJOww==", "dev": true, "requires": { "@ethersproject/bignumber": "^5.6.0", @@ -26416,8 +26328,6 @@ }, "@ethersproject/strings": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.6.0.tgz", - "integrity": "sha512-uv10vTtLTZqrJuqBZR862ZQjTIa724wGPWQqZrofaPI/kUsf53TBG0I0D+hQ1qyNtllbNzaW+PDPHHUI6/65Mg==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.0", @@ -26427,8 +26337,6 @@ }, "@ethersproject/transactions": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.6.0.tgz", - "integrity": "sha512-4HX+VOhNjXHZyGzER6E/LVI2i6lf9ejYeWD6l4g50AdmimyuStKc39kvKf1bXWQMg7QNVh+uC7dYwtaZ02IXeg==", "dev": true, "requires": { "@ethersproject/address": "^5.6.0", @@ -26444,8 +26352,6 @@ }, "@ethersproject/units": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.6.0.tgz", - "integrity": "sha512-tig9x0Qmh8qbo1w8/6tmtyrm/QQRviBh389EQ+d8fP4wDsBrJBf08oZfoiz1/uenKK9M78yAP4PoR7SsVoTjsw==", "dev": true, "requires": { "@ethersproject/bignumber": "^5.6.0", @@ -26455,8 +26361,6 @@ }, "@ethersproject/wallet": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.6.0.tgz", - "integrity": "sha512-qMlSdOSTyp0MBeE+r7SUhr1jjDlC1zAXB8VD84hCnpijPQiSNbxr6GdiLXxpUs8UKzkDiNYYC5DRI3MZr+n+tg==", "dev": true, "requires": { "@ethersproject/abstract-provider": "^5.6.0", @@ -26478,8 +26382,6 @@ }, "@ethersproject/web": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.6.0.tgz", - "integrity": "sha512-G/XHj0hV1FxI2teHRfCGvfBUHFmU+YOSbCxlAMqJklxSa7QMiHFQfAxvwY2PFqgvdkxEKwRNr/eCjfAPEm2Ctg==", "dev": true, "requires": { "@ethersproject/base64": "^5.6.0", @@ -26491,8 +26393,6 @@ }, "@ethersproject/wordlists": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.6.0.tgz", - "integrity": "sha512-q0bxNBfIX3fUuAo9OmjlEYxP40IB8ABgb7HjEZCL5IKubzV3j30CWi2rqQbjTS2HfoyQbfINoKcTVWP4ejwR7Q==", "dev": true, "requires": { "@ethersproject/bytes": "^5.6.0", @@ -26504,8 +26404,6 @@ }, "ajv": { "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -26516,8 +26414,6 @@ }, "ethers": { "version": "5.6.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.6.2.tgz", - "integrity": "sha512-EzGCbns24/Yluu7+ToWnMca3SXJ1Jk1BvWB7CCmVNxyOeM4LLvw2OLuIHhlkhQk1dtOcj9UMsdkxUh8RiG1dxQ==", "dev": true, "requires": { "@ethersproject/abi": "5.6.0", @@ -26554,8 +26450,6 @@ }, "fs-extra": { "version": "10.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz", - "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==", "dev": true, "requires": { "graceful-fs": "^4.2.0", @@ -26565,20 +26459,14 @@ }, "js-sha3": { "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==", "dev": true }, "json-schema-traverse": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, "jsonfile": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "requires": { "graceful-fs": "^4.1.6", @@ -26587,14 +26475,10 @@ }, "universalify": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true }, "ws": { "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", "dev": true, "requires": {} } @@ -26602,8 +26486,6 @@ }, "hardhat-contract-sizer": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/hardhat-contract-sizer/-/hardhat-contract-sizer-2.1.1.tgz", - "integrity": "sha512-QgfuwdUkKT7Ugn6Zja26Eie7h6OLcBfWBewaaQtYMCzyglNafQPgUIznN2C42/iFmGrlqFPbqv4B98Iev89KSQ==", "dev": true, "requires": { "cli-table3": "^0.6.0", @@ -26612,33 +26494,26 @@ }, "has": { "version": "1.0.3", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "requires": { "function-bind": "^1.1.1" } }, "has-bigints": { "version": "1.0.1", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", "dev": true }, "has-flag": { - "version": "4.0.0", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "version": "4.0.0" }, "has-symbol-support-x": { "version": "1.4.2", - "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", "dev": true }, "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + "version": "1.0.3" }, "has-to-string-tag-x": { "version": "1.4.1", - "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", "dev": true, "requires": { "has-symbol-support-x": "^1.4.1" @@ -26646,14 +26521,12 @@ }, "has-tostringtag": { "version": "1.0.0", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "requires": { "has-symbols": "^1.0.2" } }, "hash-base": { "version": "3.1.0", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", "requires": { "inherits": "^2.0.4", "readable-stream": "^3.6.0", @@ -26662,19 +26535,16 @@ }, "hash.js": { "version": "1.1.7", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "requires": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" } }, "he": { - "version": "1.2.0", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + "version": "1.2.0" }, "hmac-drbg": { "version": "1.0.1", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", "requires": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", @@ -26683,13 +26553,10 @@ }, "html-escaper": { "version": "2.0.2", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, "htmlparser2": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", "dev": true, "requires": { "domelementtype": "^2.0.1", @@ -26700,12 +26567,10 @@ }, "http-cache-semantics": { "version": "4.1.0", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", "dev": true }, "http-errors": { "version": "1.7.3", - "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", "requires": { "depd": "~1.1.2", "inherits": "2.0.4", @@ -26716,12 +26581,10 @@ }, "http-https": { "version": "1.0.0", - "integrity": "sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs=", "dev": true }, "https-proxy-agent": { "version": "5.0.0", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", "requires": { "agent-base": "6", "debug": "4" @@ -26729,19 +26592,16 @@ }, "human-signals": { "version": "1.1.1", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", "dev": true }, "iconv-lite": { "version": "0.4.24", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "requires": { "safer-buffer": ">= 2.1.2 < 3" } }, "idna-uts46-hx": { "version": "2.3.1", - "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==", "dev": true, "requires": { "punycode": "2.1.0" @@ -26749,31 +26609,25 @@ "dependencies": { "punycode": { "version": "2.1.0", - "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=", "dev": true } } }, "ieee754": { - "version": "1.2.1", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + "version": "1.2.1" }, "ignore": { "version": "4.0.6", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true }, "immediate": { - "version": "3.3.0", - "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==" + "version": "3.3.0" }, "immutable": { - "version": "4.0.0-rc.14", - "integrity": "sha512-pfkvmRKJSoW7JFx0QeYlAmT+kNYvn5j0u7bnpNq4N2RCvHSTlLT208G8jgaquNe+Q8kCPHKOSpxJkyvLDpYq0w==" + "version": "4.0.0-rc.14" }, "import-fresh": { "version": "3.3.0", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "requires": { "parent-module": "^1.0.0", @@ -26782,33 +26636,27 @@ }, "imurmurhash": { "version": "0.1.4", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, "indent-string": { - "version": "4.0.0", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" + "version": "4.0.0" }, "inflight": { "version": "1.0.6", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { "once": "^1.3.0", "wrappy": "1" } }, "inherits": { - "version": "2.0.4", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "version": "2.0.4" }, "ini": { "version": "1.3.8", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, "inquirer": { "version": "6.5.2", - "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", "dev": true, "requires": { "ansi-escapes": "^3.2.0", @@ -26828,17 +26676,14 @@ "dependencies": { "ansi-escapes": { "version": "3.2.0", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", "dev": true }, "ansi-regex": { "version": "4.1.0", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, "ansi-styles": { "version": "3.2.1", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "^1.9.0" @@ -26846,7 +26691,6 @@ }, "chalk": { "version": "2.4.2", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -26856,7 +26700,6 @@ }, "color-convert": { "version": "1.9.3", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { "color-name": "1.1.3" @@ -26864,27 +26707,22 @@ }, "color-name": { "version": "1.1.3", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "escape-string-regexp": { "version": "1.0.5", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, "has-flag": { "version": "3.0.0", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, "string-width": { "version": "2.1.1", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { "is-fullwidth-code-point": "^2.0.0", @@ -26893,12 +26731,10 @@ "dependencies": { "ansi-regex": { "version": "3.0.0", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, "strip-ansi": { "version": "4.0.0", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { "ansi-regex": "^3.0.0" @@ -26908,7 +26744,6 @@ }, "strip-ansi": { "version": "5.2.0", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { "ansi-regex": "^4.1.0" @@ -26916,7 +26751,6 @@ }, "supports-color": { "version": "5.5.0", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -26926,8 +26760,6 @@ }, "inquirer-list-search-prompt": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/inquirer-list-search-prompt/-/inquirer-list-search-prompt-1.0.2.tgz", - "integrity": "sha512-p2pxuhxCurxZbWkYydLaI+9f2qkSDQUB2MeIJ07jxNBqH/bkHcz7Kk78+Im/XnL1MdyHbh0KKMzjAHmeSLn7oA==", "dev": true, "requires": { "ansi-escapes": "^3.0.0", @@ -26938,14 +26770,10 @@ "dependencies": { "ansi-escapes": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", "dev": true }, "ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "^1.9.0" @@ -26953,8 +26781,6 @@ }, "chalk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -26964,8 +26790,6 @@ }, "color-convert": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { "color-name": "1.1.3" @@ -26973,26 +26797,18 @@ }, "color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, "has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -27002,8 +26818,6 @@ }, "interface-datastore": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-6.1.0.tgz", - "integrity": "sha512-oNHdsrWBsI/kDwUtEgt+aaZtQFKtQYN0TGZzc3SGiIA6m+plZ6malhmsygtbmDpfpIsNNC7ce9Gyaj+Tki+gVw==", "dev": true, "requires": { "interface-store": "^2.0.1", @@ -27013,13 +26827,10 @@ }, "interface-store": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-2.0.2.tgz", - "integrity": "sha512-rScRlhDcz6k199EkHqT8NpM87ebN89ICOzILoBHgaG36/WX50N32BnU/kpZgCGPLhARRAWUUX5/cyaIjt7Kipg==", "dev": true }, "internal-slot": { "version": "1.0.3", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", "dev": true, "requires": { "get-intrinsic": "^1.1.0", @@ -27029,31 +26840,24 @@ }, "interpret": { "version": "1.4.0", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", "dev": true }, "io-ts": { "version": "1.10.4", - "integrity": "sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==", "requires": { "fp-ts": "^1.0.0" } }, "ip-regex": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", "dev": true }, "ipaddr.js": { "version": "1.9.1", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "dev": true }, "ipfs-core-types": { "version": "0.10.3", - "resolved": "https://registry.npmjs.org/ipfs-core-types/-/ipfs-core-types-0.10.3.tgz", - "integrity": "sha512-GNid2lRBjR5qgScCglgk7w9Hk3TZAwPHQXxOLQx72wgyc0jF2U5NXRoKW0GRvX8NPbHmsrFszForIqxd23I1Gw==", "dev": true, "requires": { "@ipld/dag-pb": "^2.1.3", @@ -27065,8 +26869,6 @@ }, "ipfs-core-utils": { "version": "0.14.3", - "resolved": "https://registry.npmjs.org/ipfs-core-utils/-/ipfs-core-utils-0.14.3.tgz", - "integrity": "sha512-aBkewVhgAj3NWXPwu6imj0wADGiGVZmJzqKzODOJsibDjkx6FGdMv8kvvqtLnK8LS/dvSk9yk32IDtuDyYoV7Q==", "dev": true, "requires": { "any-signal": "^3.0.0", @@ -27093,8 +26895,6 @@ "dependencies": { "buffer": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "dev": true, "requires": { "base64-js": "^1.3.1", @@ -27103,8 +26903,6 @@ }, "ipfs-utils": { "version": "9.0.7", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-9.0.7.tgz", - "integrity": "sha512-Umvb0Zydy2zZiTmQBGLfLISr8vOmXX8cxEIP+N8zGHrtRShG/j32yl1xd/BtS+Hbg0FIbVm3opwvxB2gmta0YA==", "dev": true, "requires": { "any-signal": "^3.0.0", @@ -27124,16 +26922,13 @@ } }, "node-fetch": { - "version": "https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-iTASGs+HTFK5E4ZqcMsHmeJ4zodyq8L38lZV33jwqcBJYoUt3HjN4+ot+O9/0b+ke8ddE7UgOtVuZN/OkV19/g==", + "version": "npm:@achingbrain/node-fetch@2.6.7", "dev": true } } }, "ipfs-http-client": { "version": "56.0.1", - "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-56.0.1.tgz", - "integrity": "sha512-U0sUyGZndcIluMJL3gDdCSgF7RwShDklJJxfDf9IRcbO72hqSJsib4amYzqcqfetft6vYa8uRIoJFEIWndHwrg==", "dev": true, "requires": { "@ipld/dag-cbor": "^7.0.0", @@ -27158,8 +26953,6 @@ }, "ipfs-unixfs": { "version": "6.0.6", - "resolved": "https://registry.npmjs.org/ipfs-unixfs/-/ipfs-unixfs-6.0.6.tgz", - "integrity": "sha512-gTkjYKXuHnqIf6EFfS+ESaYEl3I3aaQQ0UX8MhpNzreMLEuMnuqpoI/uLLllTZa31WRplKixabbpRTSmTYRNwA==", "dev": true, "requires": { "err-code": "^3.0.1", @@ -27168,8 +26961,6 @@ }, "ipfs-utils": { "version": "9.0.2", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-9.0.2.tgz", - "integrity": "sha512-o0DjVfd1kcr09fAYMkSnZ56ZkfoAzZhFWkizG3/tL7svukZpqyGyRxNlF58F+hsrn/oL8ouAP9x+4Hdf8XM+hg==", "dev": true, "requires": { "abort-controller": "^3.0.0", @@ -27192,8 +26983,6 @@ "dependencies": { "any-signal": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-2.1.2.tgz", - "integrity": "sha512-B+rDnWasMi/eWcajPcCWSlYc7muXOrcYrqgyzcdKisl2H/WTlQ0gip1KyQfr0ZlxJdsuWCj/LWwQm7fhyhRfIQ==", "dev": true, "requires": { "abort-controller": "^3.0.0", @@ -27202,8 +26991,6 @@ }, "buffer": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "dev": true, "requires": { "base64-js": "^1.3.1", @@ -27211,15 +26998,13 @@ } }, "node-fetch": { - "version": "https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-iTASGs+HTFK5E4ZqcMsHmeJ4zodyq8L38lZV33jwqcBJYoUt3HjN4+ot+O9/0b+ke8ddE7UgOtVuZN/OkV19/g==", + "version": "npm:@achingbrain/node-fetch@2.6.7", "dev": true } } }, "is-arguments": { "version": "1.1.1", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", "requires": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -27227,12 +27012,10 @@ }, "is-arrayish": { "version": "0.2.1", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, "is-bigint": { "version": "1.0.4", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dev": true, "requires": { "has-bigints": "^1.0.1" @@ -27240,14 +27023,12 @@ }, "is-binary-path": { "version": "2.1.0", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "requires": { "binary-extensions": "^2.0.0" } }, "is-boolean-object": { "version": "1.1.2", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -27256,58 +27037,46 @@ }, "is-callable": { "version": "1.2.4", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", "dev": true }, "is-date-object": { "version": "1.0.5", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "requires": { "has-tostringtag": "^1.0.0" } }, "is-directory": { "version": "0.3.1", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", "dev": true }, "is-dotfile": { - "version": "1.0.3", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=" + "version": "1.0.3" }, "is-electron": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.1.tgz", - "integrity": "sha512-r8EEQQsqT+Gn0aXFx7lTFygYQhILLCB+wn0WCDL5LZRINeLH/Rvw1j2oKodELLXYNImQ3CRlVsY8wW4cGOsyuw==", "dev": true }, "is-equal-shallow": { "version": "0.1.3", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "requires": { "is-primitive": "^2.0.0" } }, "is-extendable": { - "version": "0.1.1", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + "version": "0.1.1" }, "is-extglob": { - "version": "2.1.1", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + "version": "2.1.1" }, "is-fullwidth-code-point": { - "version": "3.0.0", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + "version": "3.0.0" }, "is-function": { "version": "1.0.2", - "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==", "dev": true }, "is-generator-function": { "version": "1.0.10", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", "dev": true, "requires": { "has-tostringtag": "^1.0.0" @@ -27315,25 +27084,19 @@ }, "is-glob": { "version": "4.0.1", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", "requires": { "is-extglob": "^2.1.1" } }, "is-hex-prefixed": { - "version": "1.0.0", - "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=" + "version": "1.0.0" }, "is-interactive": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", "dev": true }, "is-ip": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", - "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", "dev": true, "requires": { "ip-regex": "^4.0.0" @@ -27341,7 +27104,6 @@ }, "is-match": { "version": "0.4.1", - "integrity": "sha1-+19sZwmhVDt8fvp9lTDlt3b2H4M=", "requires": { "deep-equal": "^1.0.1", "is-extendable": "^0.1.1", @@ -27350,12 +27112,10 @@ }, "dependencies": { "is-extglob": { - "version": "1.0.0", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" + "version": "1.0.0" }, "is-glob": { "version": "2.0.1", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "requires": { "is-extglob": "^1.0.0" } @@ -27364,17 +27124,13 @@ }, "is-negative-zero": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "dev": true }, "is-number": { - "version": "7.0.0", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + "version": "7.0.0" }, "is-number-object": { "version": "1.0.6", - "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", "dev": true, "requires": { "has-tostringtag": "^1.0.0" @@ -27382,32 +27138,25 @@ }, "is-object": { "version": "1.0.2", - "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", "dev": true }, "is-path-cwd": { - "version": "2.2.0", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==" + "version": "2.2.0" }, "is-path-inside": { - "version": "3.0.3", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" + "version": "3.0.3" }, "is-plain-obj": { - "version": "2.1.0", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" + "version": "2.1.0" }, "is-posix-bracket": { - "version": "0.1.1", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=" + "version": "0.1.1" }, "is-primitive": { - "version": "2.0.0", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=" + "version": "2.0.0" }, "is-regex": { "version": "1.1.4", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "requires": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -27415,13 +27164,10 @@ }, "is-retry-allowed": { "version": "1.2.0", - "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", "dev": true }, "is-shared-array-buffer": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", "dev": true, "requires": { "call-bind": "^1.0.2" @@ -27429,12 +27175,10 @@ }, "is-stream": { "version": "2.0.1", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true }, "is-string": { "version": "1.0.7", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, "requires": { "has-tostringtag": "^1.0.0" @@ -27442,7 +27186,6 @@ }, "is-symbol": { "version": "1.0.4", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, "requires": { "has-symbols": "^1.0.2" @@ -27450,7 +27193,6 @@ }, "is-typed-array": { "version": "1.1.8", - "integrity": "sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA==", "dev": true, "requires": { "available-typed-arrays": "^1.0.5", @@ -27462,17 +27204,13 @@ }, "is-typedarray": { "version": "1.0.0", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", "dev": true }, "is-unicode-supported": { - "version": "0.1.0", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" + "version": "0.1.0" }, "is-weakref": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, "requires": { "call-bind": "^1.0.2" @@ -27480,43 +27218,34 @@ }, "is-windows": { "version": "1.0.2", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true }, "isarray": { - "version": "1.0.0", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "version": "1.0.0" }, "isexe": { - "version": "2.0.0", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + "version": "2.0.0" }, "iso-url": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-1.2.1.tgz", - "integrity": "sha512-9JPDgCN4B7QPkLtYAAOrEuAWvP9rWvR5offAr0/SeF046wIkglqH3VXgYYP6NcsKslH80UIVgmPqNe3j7tG2ng==", "dev": true }, "isobject": { "version": "2.1.0", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", "requires": { "isarray": "1.0.0" } }, "isstream": { "version": "0.1.2", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, "istanbul-lib-coverage": { "version": "3.0.1", - "integrity": "sha512-GvCYYTxaCPqwMjobtVcVKvSHtAGe48MNhGjpK8LtVF8K0ISX7hCKl85LgtuaSneWVyQmaGcW3iXVV3GaZSLpmQ==", "dev": true }, "istanbul-lib-hook": { "version": "3.0.0", - "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", "dev": true, "requires": { "append-transform": "^2.0.0" @@ -27524,7 +27253,6 @@ }, "istanbul-lib-instrument": { "version": "4.0.3", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", "dev": true, "requires": { "@babel/core": "^7.7.5", @@ -27535,14 +27263,12 @@ "dependencies": { "semver": { "version": "6.3.0", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true } } }, "istanbul-lib-processinfo": { "version": "2.0.2", - "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==", "dev": true, "requires": { "archy": "^1.0.0", @@ -27556,7 +27282,6 @@ "dependencies": { "p-map": { "version": "3.0.0", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", "dev": true, "requires": { "aggregate-error": "^3.0.0" @@ -27566,7 +27291,6 @@ }, "istanbul-lib-report": { "version": "3.0.0", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", "dev": true, "requires": { "istanbul-lib-coverage": "^3.0.0", @@ -27576,7 +27300,6 @@ }, "istanbul-lib-source-maps": { "version": "4.0.0", - "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", "dev": true, "requires": { "debug": "^4.1.1", @@ -27586,7 +27309,6 @@ }, "istanbul-reports": { "version": "3.0.2", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", "dev": true, "requires": { "html-escaper": "^2.0.0", @@ -27595,7 +27317,6 @@ }, "isurl": { "version": "1.0.0", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", "dev": true, "requires": { "has-to-string-tag-x": "^1.2.0", @@ -27604,20 +27325,14 @@ }, "it-all": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/it-all/-/it-all-1.0.6.tgz", - "integrity": "sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A==", "dev": true }, "it-first": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/it-first/-/it-first-1.0.7.tgz", - "integrity": "sha512-nvJKZoBpZD/6Rtde6FXqwDqDZGF1sCADmr2Zoc0hZsIvnE449gRFnGctxDf09Bzc/FWnHXAdaHVIetY6lrE0/g==", "dev": true }, "it-glob": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-1.0.2.tgz", - "integrity": "sha512-Ch2Dzhw4URfB9L/0ZHyY+uqOnKvBNeS/SMcRiPmJfpHiM0TsUZn+GkpcZxAoF3dJVdPm/PuIk3A4wlV7SUo23Q==", "dev": true, "requires": { "@types/minimatch": "^3.0.4", @@ -27626,26 +27341,18 @@ }, "it-last": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/it-last/-/it-last-1.0.6.tgz", - "integrity": "sha512-aFGeibeiX/lM4bX3JY0OkVCFkAw8+n9lkukkLNivbJRvNz8lI3YXv5xcqhFUV2lDJiraEK3OXRDbGuevnnR67Q==", "dev": true }, "it-map": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/it-map/-/it-map-1.0.6.tgz", - "integrity": "sha512-XT4/RM6UHIFG9IobGlQPFQUrlEKkU4eBUFG3qhWhfAdh1JfF2x11ShCrKCdmZ0OiZppPfoLuzcfA4cey6q3UAQ==", "dev": true }, "it-peekable": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/it-peekable/-/it-peekable-1.0.3.tgz", - "integrity": "sha512-5+8zemFS+wSfIkSZyf0Zh5kNN+iGyccN02914BY4w/Dj+uoFEoPSvj5vaWn8pNZJNSxzjW0zHRxC3LUb2KWJTQ==", "dev": true }, "it-to-stream": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/it-to-stream/-/it-to-stream-1.0.0.tgz", - "integrity": "sha512-pLULMZMAB/+vbdvbZtebC0nWBTbG581lk6w8P7DfIIIKUfa8FbY7Oi0FxZcFPbxvISs7A9E+cMpLDBc1XhpAOA==", "dev": true, "requires": { "buffer": "^6.0.3", @@ -27658,8 +27365,6 @@ "dependencies": { "buffer": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "dev": true, "requires": { "base64-js": "^1.3.1", @@ -27670,23 +27375,18 @@ }, "js-levenshtein": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", - "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", "dev": true }, "js-sha3": { "version": "0.5.7", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", "dev": true }, "js-tokens": { "version": "4.0.0", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, "js-yaml": { "version": "3.14.1", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -27694,47 +27394,38 @@ }, "jsbn": { "version": "0.1.1", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", "dev": true }, "jsesc": { "version": "2.5.2", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, "json-buffer": { "version": "3.0.0", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", "dev": true }, "json-parse-better-errors": { "version": "1.0.2", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "dev": true }, "json-schema": { "version": "0.2.3", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", "dev": true }, "json-schema-traverse": { "version": "0.4.1", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, "json-stringify-safe": { "version": "5.0.1", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, "json5": { "version": "2.2.0", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", "dev": true, "requires": { "minimist": "^1.2.5" @@ -27742,19 +27433,16 @@ }, "jsonfile": { "version": "4.0.0", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "requires": { "graceful-fs": "^4.1.6" } }, "jsonschema": { "version": "1.4.0", - "integrity": "sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw==", "dev": true }, "jsprim": { "version": "1.4.1", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "dev": true, "requires": { "assert-plus": "1.0.0", @@ -27765,20 +27453,16 @@ "dependencies": { "assert-plus": { "version": "1.0.0", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true } } }, "just-extend": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", - "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==", "dev": true }, "keccak": { "version": "3.0.2", - "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", "requires": { "node-addon-api": "^2.0.0", "node-gyp-build": "^4.2.0", @@ -27787,7 +27471,6 @@ }, "keyv": { "version": "3.1.0", - "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", "dev": true, "requires": { "json-buffer": "3.0.0" @@ -27795,50 +27478,41 @@ }, "kind-of": { "version": "3.2.2", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { "is-buffer": "^1.1.5" }, "dependencies": { "is-buffer": { - "version": "1.1.6", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "version": "1.1.6" } } }, "klaw": { "version": "1.3.1", - "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", "requires": { "graceful-fs": "^4.1.9" } }, "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" + "version": "3.0.3" }, "level-codec": { "version": "9.0.2", - "integrity": "sha512-UyIwNb1lJBChJnGfjmO0OR+ezh2iVu1Kas3nvBS/BzGnx79dv6g7unpKIDNPMhfdTEGoc7mC8uAu51XEtX+FHQ==", "requires": { "buffer": "^5.6.0" } }, "level-concat-iterator": { - "version": "2.0.1", - "integrity": "sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==" + "version": "2.0.1" }, "level-errors": { "version": "2.0.1", - "integrity": "sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==", "requires": { "errno": "~0.1.1" } }, "level-iterator-stream": { "version": "4.0.2", - "integrity": "sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q==", "requires": { "inherits": "^2.0.4", "readable-stream": "^3.4.0", @@ -27847,7 +27521,6 @@ }, "level-mem": { "version": "5.0.1", - "integrity": "sha512-qd+qUJHXsGSFoHTziptAKXoLX87QjR7v2KMbqncDXPxQuCdsQlzmyX+gwrEHhlzn08vkf8TyipYyMmiC6Gobzg==", "requires": { "level-packager": "^5.0.3", "memdown": "^5.0.0" @@ -27855,7 +27528,6 @@ }, "level-packager": { "version": "5.1.1", - "integrity": "sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ==", "requires": { "encoding-down": "^6.3.0", "levelup": "^4.3.2" @@ -27863,14 +27535,12 @@ }, "level-supports": { "version": "1.0.1", - "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", "requires": { "xtend": "^4.0.2" } }, "level-ws": { "version": "2.0.0", - "integrity": "sha512-1iv7VXx0G9ec1isqQZ7y5LmoZo/ewAsyDHNA8EFDW5hqH2Kqovm33nSFkSdnLLAK+I5FlT+lo5Cw9itGe+CpQA==", "requires": { "inherits": "^2.0.3", "readable-stream": "^3.1.0", @@ -27879,7 +27549,6 @@ }, "levelup": { "version": "4.4.0", - "integrity": "sha512-94++VFO3qN95cM/d6eBXvd894oJE0w3cInq9USsyQzzoJxmiYzPAocNcuGCPGGjoXqDVJcr3C1jzt1TSjyaiLQ==", "requires": { "deferred-leveldown": "~5.3.0", "level-errors": "~2.0.0", @@ -27890,7 +27559,6 @@ }, "levn": { "version": "0.4.1", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "requires": { "prelude-ls": "^1.2.1", @@ -27899,41 +27567,32 @@ }, "locate-path": { "version": "2.0.0", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "requires": { "p-locate": "^2.0.0", "path-exists": "^3.0.0" } }, "lodash": { - "version": "4.17.21", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "version": "4.17.21" }, "lodash.flattendeep": { "version": "4.4.0", - "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", "dev": true }, "lodash.get": { "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", "dev": true }, "lodash.merge": { "version": "4.6.2", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, "lodash.truncate": { "version": "4.4.2", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", "dev": true }, "log-symbols": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "requires": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" @@ -27941,33 +27600,26 @@ }, "long": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", "dev": true }, "lowercase-keys": { "version": "1.0.1", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", "dev": true }, "lru_map": { - "version": "0.3.3", - "integrity": "sha1-tcg1G5Rky9dQM1p5ZQoOwOVhGN0=" + "version": "0.3.3" }, "lru-cache": { "version": "5.1.1", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "requires": { "yallist": "^3.0.2" } }, "ltgt": { - "version": "2.2.1", - "integrity": "sha1-81ypHEk/e3PaDgdJUwTxezH4fuU=" + "version": "2.2.1" }, "make-dir": { "version": "3.1.0", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, "requires": { "semver": "^6.0.0" @@ -27975,22 +27627,18 @@ "dependencies": { "semver": { "version": "6.3.0", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true } } }, "math-random": { - "version": "1.0.4", - "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==" + "version": "1.0.4" }, "mcl-wasm": { - "version": "0.7.9", - "integrity": "sha512-iJIUcQWA88IJB/5L15GnJVnSQJmf/YaxxV6zRavv83HILHaJQb6y0iFyDMdDO0gN8X37tdxmAOrH/P8B6RB8sQ==" + "version": "0.7.9" }, "md5.js": { "version": "1.3.5", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "requires": { "hash-base": "^3.0.0", "inherits": "^2.0.1", @@ -27999,12 +27647,10 @@ }, "media-typer": { "version": "0.3.0", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", "dev": true }, "memdown": { "version": "5.1.0", - "integrity": "sha512-B3J+UizMRAlEArDjWHTMmadet+UKwHd3UjMgGBkZcKAxAYVPS9o0Yeiha4qvz7iGiL2Sb3igUft6p7nbFWctpw==", "requires": { "abstract-leveldown": "~6.2.1", "functional-red-black-tree": "~1.0.1", @@ -28016,7 +27662,6 @@ "dependencies": { "abstract-leveldown": { "version": "6.2.3", - "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", "requires": { "buffer": "^5.5.0", "immediate": "^3.2.3", @@ -28026,24 +27671,19 @@ } }, "immediate": { - "version": "3.2.3", - "integrity": "sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw=" + "version": "3.2.3" } } }, "memorystream": { - "version": "0.3.1", - "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=" + "version": "0.3.1" }, "merge-descriptors": { "version": "1.0.1", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", "dev": true }, "merge-options": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", - "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", "dev": true, "requires": { "is-plain-obj": "^2.1.0" @@ -28051,17 +27691,13 @@ }, "merge-stream": { "version": "2.0.0", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, "merge2": { - "version": "1.4.1", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + "version": "1.4.1" }, "merkle-patricia-tree": { "version": "4.2.4", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-4.2.4.tgz", - "integrity": "sha512-eHbf/BG6eGNsqqfbLED9rIqbsF4+sykEaBn6OLNs71tjclbMcMOk1tEPmJKcNcNCLkvbpY/lwyOlizWsqPNo8w==", "requires": { "@types/levelup": "^4.3.0", "ethereumjs-util": "^7.1.4", @@ -28073,12 +27709,10 @@ }, "methods": { "version": "1.1.2", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", "dev": true }, "micromatch": { "version": "2.3.11", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "requires": { "arr-diff": "^2.0.0", "array-unique": "^0.2.1", @@ -28097,7 +27731,6 @@ "dependencies": { "braces": { "version": "1.8.5", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "requires": { "expand-range": "^1.8.1", "preserve": "^0.2.0", @@ -28105,19 +27738,16 @@ } }, "is-extglob": { - "version": "1.0.0", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" + "version": "1.0.0" }, "is-glob": { "version": "2.0.1", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "requires": { "is-extglob": "^1.0.0" } }, "normalize-path": { "version": "2.1.1", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "requires": { "remove-trailing-separator": "^1.0.1" } @@ -28126,7 +27756,6 @@ }, "miller-rabin": { "version": "4.0.1", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "requires": { "bn.js": "^4.0.0", "brorand": "^1.0.1" @@ -28134,61 +27763,50 @@ }, "mime": { "version": "1.6.0", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true }, "mime-db": { - "version": "1.49.0", - "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==" + "version": "1.49.0" }, "mime-types": { "version": "2.1.32", - "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", "requires": { "mime-db": "1.49.0" } }, "mimic-fn": { "version": "2.1.0", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, "mimic-response": { "version": "1.0.1", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", "dev": true }, "min-document": { "version": "2.19.0", - "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", "dev": true, "requires": { "dom-walk": "^0.1.0" } }, "minimalistic-assert": { - "version": "1.0.1", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + "version": "1.0.1" }, "minimalistic-crypto-utils": { - "version": "1.0.1", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + "version": "1.0.1" }, "minimatch": { "version": "3.0.4", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { "version": "1.2.5", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, "minipass": { "version": "2.9.0", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", "dev": true, "requires": { "safe-buffer": "^5.1.2", @@ -28197,7 +27815,6 @@ }, "minizlib": { "version": "1.3.3", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", "dev": true, "requires": { "minipass": "^2.9.0" @@ -28205,7 +27822,6 @@ }, "mkdirp": { "version": "0.5.5", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", "dev": true, "requires": { "minimist": "^1.2.5" @@ -28213,13 +27829,10 @@ }, "mkdirp-classic": { "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", "dev": true }, "mkdirp-promise": { "version": "5.0.1", - "integrity": "sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE=", "dev": true, "requires": { "mkdirp": "*" @@ -28227,15 +27840,12 @@ }, "mnemonist": { "version": "0.38.3", - "integrity": "sha512-2K9QYubXx/NAjv4VLq1d1Ly8pWNC5L3BrixtdkyTegXWJIqY+zLNDhhX/A+ZwWt70tB1S8H4BE8FLYEFyNoOBw==", "requires": { "obliterator": "^1.6.1" } }, "mocha": { "version": "9.2.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz", - "integrity": "sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==", "requires": { "@ungap/promise-all-settled": "1.1.2", "ansi-colors": "4.1.1", @@ -28264,14 +27874,10 @@ }, "dependencies": { "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + "version": "2.0.1" }, "chokidar": { "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "requires": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -28285,23 +27891,17 @@ }, "debug": { "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "requires": { "ms": "2.1.2" }, "dependencies": { "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "version": "2.1.2" } } }, "find-up": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "requires": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -28309,8 +27909,6 @@ }, "glob": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -28322,8 +27920,6 @@ "dependencies": { "minimatch": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "requires": { "brace-expansion": "^1.1.7" } @@ -28332,92 +27928,67 @@ }, "js-yaml": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "requires": { "argparse": "^2.0.1" } }, "locate-path": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "requires": { "p-locate": "^5.0.0" } }, "minimatch": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz", - "integrity": "sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==", "requires": { "brace-expansion": "^1.1.7" } }, "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "version": "2.1.3" }, "nanoid": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", - "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==" + "version": "3.3.1" }, "p-limit": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "requires": { "yocto-queue": "^0.1.0" } }, "p-locate": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "requires": { "p-limit": "^3.0.2" } }, "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + "version": "4.0.0" }, "supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "requires": { "has-flag": "^4.0.0" } }, "workerpool": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz", - "integrity": "sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==" + "version": "6.2.0" } } }, "mock-fs": { "version": "4.14.0", - "integrity": "sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw==", "dev": true }, "mri": { "version": "1.2.0", - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", "dev": true }, "ms": { - "version": "2.1.2", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "version": "2.1.2" }, "multiaddr": { "version": "10.0.1", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-10.0.1.tgz", - "integrity": "sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg==", "dev": true, "requires": { "dns-over-http-resolver": "^1.2.3", @@ -28430,16 +28001,12 @@ "dependencies": { "varint": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", - "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==", "dev": true } } }, "multiaddr-to-uri": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/multiaddr-to-uri/-/multiaddr-to-uri-8.0.0.tgz", - "integrity": "sha512-dq4p/vsOOUdVEd1J1gl+R2GFrXJQH8yjLtz4hodqdVbieg39LvBOdMQRdQnfbg5LSM/q1BYNVf5CBbwZFFqBgA==", "dev": true, "requires": { "multiaddr": "^10.0.0" @@ -28447,7 +28014,6 @@ }, "multibase": { "version": "0.6.1", - "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", "dev": true, "requires": { "base-x": "^3.0.8", @@ -28456,7 +28022,6 @@ }, "multicodec": { "version": "0.5.7", - "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", "dev": true, "requires": { "varint": "^5.0.0" @@ -28464,13 +28029,10 @@ }, "multiformats": { "version": "9.6.4", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.6.4.tgz", - "integrity": "sha512-fCCB6XMrr6CqJiHNjfFNGT0v//dxOBMrOMqUIzpPc/mmITweLEyhvMpY9bF+jZ9z3vaMAau5E8B68DW77QMXkg==", "dev": true }, "multihashes": { "version": "0.4.21", - "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", "dev": true, "requires": { "buffer": "^5.5.0", @@ -28480,7 +28042,6 @@ "dependencies": { "multibase": { "version": "0.7.0", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", "dev": true, "requires": { "base-x": "^3.0.8", @@ -28491,7 +28052,6 @@ }, "multimatch": { "version": "4.0.0", - "integrity": "sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==", "dev": true, "requires": { "@types/minimatch": "^3.0.3", @@ -28502,67 +28062,52 @@ } }, "mustache": { - "version": "4.2.0", - "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==" + "version": "4.2.0" }, "mute-stream": { "version": "0.0.7", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", "dev": true }, "nano-json-stream-parser": { "version": "0.1.2", - "integrity": "sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18=", "dev": true }, "nanocolors": { "version": "0.2.12", - "integrity": "sha512-SFNdALvzW+rVlzqexid6epYdt8H9Zol7xDoQarioEFcFN0JHo4CYNztAxmtfgGTVRCmFlEOqqhBpoFGKqSAMug==", "dev": true }, "nanoid": { "version": "3.1.23", - "integrity": "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==", "dev": true }, "native-abort-controller": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/native-abort-controller/-/native-abort-controller-1.0.4.tgz", - "integrity": "sha512-zp8yev7nxczDJMoP6pDxyD20IU0T22eX8VwN2ztDccKvSZhRaV33yP1BGwKSZfXuqWUzsXopVFjBdau9OOAwMQ==", "dev": true, "requires": {} }, "native-fetch": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/native-fetch/-/native-fetch-3.0.0.tgz", - "integrity": "sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw==", "dev": true, "requires": {} }, "natural-compare": { "version": "1.4.0", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, "neo-async": { "version": "2.6.2", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, "next-tick": { "version": "1.0.0", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", "dev": true }, "nice-try": { "version": "1.0.5", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, "nise": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.0.tgz", - "integrity": "sha512-W5WlHu+wvo3PaKLsJJkgPup2LrsXCcm7AWwyNZkUnn5rwPkuPBi3Iwk5SQtN0mv+K65k7nKKjwNQ30wg3wLAQQ==", "dev": true, "requires": { "@sinonjs/commons": "^1.7.0", @@ -28574,14 +28119,10 @@ "dependencies": { "isarray": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", "dev": true }, "path-to-regexp": { "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", "dev": true, "requires": { "isarray": "0.0.1" @@ -28590,12 +28131,10 @@ } }, "node-addon-api": { - "version": "2.0.2", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" + "version": "2.0.2" }, "node-emoji": { "version": "1.11.0", - "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", "dev": true, "requires": { "lodash": "^4.17.21" @@ -28603,17 +28142,14 @@ }, "node-fetch": { "version": "2.6.2", - "integrity": "sha512-aLoxToI6RfZ+0NOjmWAgn9+LEd30YCkJKFSyWacNZdEKTit/ZMcKjGkTRo8uWEsnIb/hfKecNPEbln02PdWbcA==", "dev": true, "peer": true }, "node-gyp-build": { - "version": "4.3.0", - "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==" + "version": "4.3.0" }, "node-preload": { "version": "0.2.1", - "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", "dev": true, "requires": { "process-on-spawn": "^1.0.0" @@ -28621,26 +28157,20 @@ }, "node-releases": { "version": "1.1.77", - "integrity": "sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ==", "dev": true }, "nofilter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-1.0.4.tgz", - "integrity": "sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA==" + "version": "1.0.4" }, "normalize-path": { - "version": "3.0.0", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + "version": "3.0.0" }, "normalize-url": { "version": "4.5.1", - "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", "dev": true }, "npm-run-path": { "version": "4.0.1", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, "requires": { "path-key": "^3.0.0" @@ -28648,8 +28178,6 @@ }, "nth-check": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", - "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", "dev": true, "requires": { "boolbase": "^1.0.0" @@ -28657,7 +28185,6 @@ }, "number-to-bn": { "version": "1.7.0", - "integrity": "sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA=", "dev": true, "requires": { "bn.js": "4.11.6", @@ -28666,14 +28193,12 @@ "dependencies": { "bn.js": { "version": "4.11.6", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=", "dev": true } } }, "nyc": { "version": "15.1.0", - "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", "dev": true, "requires": { "@istanbuljs/load-nyc-config": "^1.0.0", @@ -28707,7 +28232,6 @@ "dependencies": { "cliui": { "version": "6.0.0", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", "dev": true, "requires": { "string-width": "^4.2.0", @@ -28717,7 +28241,6 @@ }, "find-up": { "version": "4.1.0", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { "locate-path": "^5.0.0", @@ -28726,7 +28249,6 @@ }, "locate-path": { "version": "5.0.0", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { "p-locate": "^4.1.0" @@ -28734,7 +28256,6 @@ }, "p-limit": { "version": "2.3.0", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -28742,7 +28263,6 @@ }, "p-locate": { "version": "4.1.0", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { "p-limit": "^2.2.0" @@ -28750,7 +28270,6 @@ }, "p-map": { "version": "3.0.0", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", "dev": true, "requires": { "aggregate-error": "^3.0.0" @@ -28758,22 +28277,18 @@ }, "p-try": { "version": "2.2.0", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, "path-exists": { "version": "4.0.0", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, "resolve-from": { "version": "5.0.0", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true }, "wrap-ansi": { "version": "6.2.0", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, "requires": { "ansi-styles": "^4.0.0", @@ -28783,7 +28298,6 @@ }, "yargs": { "version": "15.4.1", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", "dev": true, "requires": { "cliui": "^6.0.0", @@ -28801,7 +28315,6 @@ }, "yargs-parser": { "version": "18.1.3", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "dev": true, "requires": { "camelcase": "^5.0.0", @@ -28812,41 +28325,33 @@ }, "object-assign": { "version": "4.1.1", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, "object-inspect": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", - "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==" + "version": "1.12.0" }, "object-is": { "version": "1.1.5", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" } }, "object-keys": { - "version": "1.1.1", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + "version": "1.1.1" }, "object.omit": { "version": "2.0.1", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "requires": { "for-own": "^0.1.4", "is-extendable": "^0.1.1" } }, "obliterator": { - "version": "1.6.1", - "integrity": "sha512-9WXswnqINnnhOG/5SLimUlzuU1hFJUc8zkwyD59Sd+dPOMf05PmnYG/d6Q7HZ+KmgkZJa1PxRso6QdM3sTNHig==" + "version": "1.6.1" }, "oboe": { "version": "2.1.5", - "integrity": "sha1-VVQoTFQ6ImbXo48X4HOCH73jk80=", "dev": true, "requires": { "http-https": "^1.0.0" @@ -28854,7 +28359,6 @@ }, "on-finished": { "version": "2.3.0", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", "dev": true, "requires": { "ee-first": "1.1.1" @@ -28862,14 +28366,12 @@ }, "once": { "version": "1.4.0", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { "wrappy": "1" } }, "onetime": { "version": "5.1.2", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, "requires": { "mimic-fn": "^2.1.0" @@ -28877,7 +28379,6 @@ }, "optionator": { "version": "0.9.1", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", "dev": true, "requires": { "deep-is": "^0.1.3", @@ -28890,8 +28391,6 @@ }, "ora": { "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", "dev": true, "requires": { "bl": "^4.1.0", @@ -28907,8 +28406,6 @@ "dependencies": { "cli-cursor": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dev": true, "requires": { "restore-cursor": "^3.1.0" @@ -28916,8 +28413,6 @@ }, "restore-cursor": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dev": true, "requires": { "onetime": "^5.1.0", @@ -28928,28 +28423,21 @@ }, "os-shim": { "version": "0.1.3", - "integrity": "sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=", "dev": true }, "os-tmpdir": { - "version": "1.0.2", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + "version": "1.0.2" }, "p-cancelable": { "version": "1.1.0", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", "dev": true }, "p-defer": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", - "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==", "dev": true }, "p-fifo": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-fifo/-/p-fifo-1.0.0.tgz", - "integrity": "sha512-IjoCxXW48tqdtDFz6fqo5q1UfFVjjVZe8TC1QRflvNUJtNfCUhxOUw6MOVZhDPjqhSzc26xKdugsO17gmzd5+A==", "dev": true, "requires": { "fast-fifo": "^1.0.0", @@ -28958,45 +28446,38 @@ }, "p-finally": { "version": "1.0.0", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", "dev": true }, "p-limit": { "version": "1.3.0", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "requires": { "p-try": "^1.0.0" } }, "p-locate": { "version": "2.0.0", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "requires": { "p-limit": "^1.1.0" } }, "p-map": { "version": "4.0.0", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "requires": { "aggregate-error": "^3.0.0" } }, "p-timeout": { "version": "1.2.1", - "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", "dev": true, "requires": { "p-finally": "^1.0.0" } }, "p-try": { - "version": "1.0.0", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + "version": "1.0.0" }, "package-hash": { "version": "4.0.0", - "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", "dev": true, "requires": { "graceful-fs": "^4.1.15", @@ -29007,7 +28488,6 @@ "dependencies": { "hasha": { "version": "5.2.2", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", "dev": true, "requires": { "is-stream": "^2.0.0", @@ -29016,14 +28496,12 @@ }, "type-fest": { "version": "0.8.1", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true } } }, "parent-module": { "version": "1.0.1", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "requires": { "callsites": "^3.0.0" @@ -29031,7 +28509,6 @@ }, "parse-asn1": { "version": "5.1.6", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", "dev": true, "requires": { "asn1.js": "^5.2.0", @@ -29043,13 +28520,10 @@ }, "parse-duration": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-1.0.2.tgz", - "integrity": "sha512-Dg27N6mfok+ow1a2rj/nRjtCfaKrHUZV2SJpEn/s8GaVUSlf4GGRCRP1c13Hj+wfPKVMrFDqLMLITkYKgKxyyg==", "dev": true }, "parse-glob": { "version": "3.0.4", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "requires": { "glob-base": "^0.3.0", "is-dotfile": "^1.0.0", @@ -29058,12 +28532,10 @@ }, "dependencies": { "is-extglob": { - "version": "1.0.0", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" + "version": "1.0.0" }, "is-glob": { "version": "2.0.1", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "requires": { "is-extglob": "^1.0.0" } @@ -29072,12 +28544,10 @@ }, "parse-headers": { "version": "2.0.4", - "integrity": "sha512-psZ9iZoCNFLrgRjZ1d8mn0h9WRqJwFxM9q3x7iUjN/YT2OksthDJ5TiPCu2F38kS4zutqfW+YdVVkBZZx3/1aw==", "dev": true }, "parse-json": { "version": "4.0.0", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { "error-ex": "^1.3.1", @@ -29086,43 +28556,34 @@ }, "parseurl": { "version": "1.3.3", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true }, "path-exists": { - "version": "3.0.0", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + "version": "3.0.0" }, "path-is-absolute": { - "version": "1.0.1", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "version": "1.0.1" }, "path-is-inside": { "version": "1.0.2", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", "dev": true }, "path-key": { "version": "3.1.1", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, "path-parse": { - "version": "1.0.7", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + "version": "1.0.7" }, "path-to-regexp": { "version": "0.1.7", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", "dev": true }, "path-type": { - "version": "4.0.0", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + "version": "4.0.0" }, "pbkdf2": { "version": "3.1.2", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "requires": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", @@ -29133,16 +28594,13 @@ }, "performance-now": { "version": "2.1.0", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true }, "picomatch": { - "version": "2.3.0", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==" + "version": "2.3.0" }, "pkg-dir": { "version": "4.2.0", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, "requires": { "find-up": "^4.0.0" @@ -29150,7 +28608,6 @@ "dependencies": { "find-up": { "version": "4.1.0", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { "locate-path": "^5.0.0", @@ -29159,7 +28616,6 @@ }, "locate-path": { "version": "5.0.0", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { "p-locate": "^4.1.0" @@ -29167,7 +28623,6 @@ }, "p-limit": { "version": "2.3.0", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -29175,7 +28630,6 @@ }, "p-locate": { "version": "4.1.0", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { "p-limit": "^2.2.0" @@ -29183,19 +28637,16 @@ }, "p-try": { "version": "2.2.0", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, "path-exists": { "version": "4.0.0", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true } } }, "pre-commit": { "version": "1.2.2", - "integrity": "sha1-287g7p3nI15X95xW186UZBpp7sY=", "dev": true, "requires": { "cross-spawn": "^5.0.1", @@ -29205,7 +28656,6 @@ "dependencies": { "cross-spawn": { "version": "5.1.0", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { "lru-cache": "^4.0.1", @@ -29215,7 +28665,6 @@ }, "lru-cache": { "version": "4.1.5", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", "dev": true, "requires": { "pseudomap": "^1.0.2", @@ -29224,7 +28673,6 @@ }, "shebang-command": { "version": "1.2.0", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { "shebang-regex": "^1.0.0" @@ -29232,12 +28680,10 @@ }, "shebang-regex": { "version": "1.0.0", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, "which": { "version": "1.2.14", - "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=", "dev": true, "requires": { "isexe": "^2.0.0" @@ -29245,33 +28691,27 @@ }, "yallist": { "version": "2.1.2", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true } } }, "prelude-ls": { "version": "1.2.1", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true }, "prepend-http": { "version": "2.0.0", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", "dev": true }, "preserve": { - "version": "0.2.0", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=" + "version": "0.2.0" }, "prettier": { "version": "2.3.2", - "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==", "dev": true }, "prettier-plugin-solidity": { "version": "1.0.0-beta.17", - "integrity": "sha512-YFkxV/rHi1mphi17/XKcJ9QjZlb+L/J0yY2erix21BZfzPv2BN9dfmSRGr/poDp/FBOFSW+jteP2BCMe7HndVQ==", "dev": true, "requires": { "@solidity-parser/parser": "^0.13.2", @@ -29284,7 +28724,6 @@ "dependencies": { "@solidity-parser/parser": { "version": "0.13.2", - "integrity": "sha512-RwHnpRnfrnD2MSPveYoPh8nhofEvX7fgjHk1Oq+NNvCcLx4r1js91CO9o+F/F3fBzOCyvm8kKRTriFICX/odWw==", "dev": true, "requires": { "antlr4ts": "^0.5.0-alpha.4" @@ -29294,8 +28733,6 @@ }, "pretty-error": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", - "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", "dev": true, "requires": { "lodash": "^4.17.20", @@ -29304,7 +28741,6 @@ }, "pretty-quick": { "version": "3.1.1", - "integrity": "sha512-ZYLGiMoV2jcaas3vTJrLvKAYsxDoXQBUn8OSTxkl67Fyov9lyXivJTl0+2WVh+y6EovGcw7Lm5ThYpH+Sh3XxQ==", "dev": true, "requires": { "chalk": "^3.0.0", @@ -29317,7 +28753,6 @@ "dependencies": { "chalk": { "version": "3.0.0", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -29326,7 +28761,6 @@ }, "find-up": { "version": "4.1.0", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { "locate-path": "^5.0.0", @@ -29335,12 +28769,10 @@ }, "ignore": { "version": "5.1.8", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", "dev": true }, "locate-path": { "version": "5.0.0", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { "p-locate": "^4.1.0" @@ -29348,7 +28780,6 @@ }, "p-limit": { "version": "2.3.0", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -29356,7 +28787,6 @@ }, "p-locate": { "version": "4.1.0", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { "p-limit": "^2.2.0" @@ -29364,33 +28794,27 @@ }, "p-try": { "version": "2.2.0", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, "path-exists": { "version": "4.0.0", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true } } }, "printj": { - "version": "1.1.2", - "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==" + "version": "1.1.2" }, "process": { "version": "0.11.10", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", "dev": true }, "process-nextick-args": { "version": "2.0.1", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, "process-on-spawn": { "version": "1.0.0", - "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", "dev": true, "requires": { "fromentries": "^1.2.0" @@ -29398,13 +28822,10 @@ }, "progress": { "version": "2.0.3", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true }, "prompts": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, "requires": { "kleur": "^3.0.3", @@ -29413,8 +28834,6 @@ }, "protobufjs": { "version": "6.11.2", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.2.tgz", - "integrity": "sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw==", "dev": true, "requires": { "@protobufjs/aspromise": "^1.1.2", @@ -29434,7 +28853,6 @@ }, "proxy-addr": { "version": "2.0.7", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dev": true, "requires": { "forwarded": "0.2.0", @@ -29442,22 +28860,18 @@ } }, "prr": { - "version": "1.0.1", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + "version": "1.0.1" }, "pseudomap": { "version": "1.0.2", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, "psl": { "version": "1.8.0", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", "dev": true }, "public-encrypt": { "version": "4.0.3", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "dev": true, "requires": { "bn.js": "^4.1.0", @@ -29470,7 +28884,6 @@ }, "pump": { "version": "3.0.0", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, "requires": { "end-of-stream": "^1.1.0", @@ -29479,19 +28892,16 @@ }, "punycode": { "version": "2.1.1", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true }, "qs": { "version": "6.10.1", - "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==", "requires": { "side-channel": "^1.0.4" } }, "query-string": { "version": "5.1.1", - "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", "dev": true, "requires": { "decode-uri-component": "^0.2.0", @@ -29500,12 +28910,10 @@ } }, "queue-microtask": { - "version": "1.2.3", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + "version": "1.2.3" }, "randomatic": { "version": "3.1.1", - "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", "requires": { "is-number": "^4.0.0", "kind-of": "^6.0.0", @@ -29513,25 +28921,21 @@ }, "dependencies": { "is-number": { - "version": "4.0.0", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==" + "version": "4.0.0" }, "kind-of": { - "version": "6.0.3", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + "version": "6.0.3" } } }, "randombytes": { "version": "2.1.0", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "requires": { "safe-buffer": "^5.1.0" } }, "randomfill": { "version": "1.0.4", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "dev": true, "requires": { "randombytes": "^2.0.5", @@ -29540,12 +28944,10 @@ }, "range-parser": { "version": "1.2.1", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "dev": true }, "raw-body": { "version": "2.4.1", - "integrity": "sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==", "requires": { "bytes": "3.1.0", "http-errors": "1.7.3", @@ -29555,8 +28957,6 @@ }, "react-native-fetch-api": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/react-native-fetch-api/-/react-native-fetch-api-2.0.0.tgz", - "integrity": "sha512-GOA8tc1EVYLnHvma/TU9VTgLOyralO7eATRuCDchQveXW9Fr9vXygyq9iwqmM7YRZ8qRJfEt9xOS7OYMdJvRFw==", "dev": true, "requires": { "p-defer": "^3.0.0" @@ -29564,7 +28964,6 @@ }, "readable-stream": { "version": "3.6.0", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -29573,15 +28972,12 @@ }, "readdirp": { "version": "3.6.0", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "requires": { "picomatch": "^2.2.1" } }, "receptacle": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/receptacle/-/receptacle-1.3.2.tgz", - "integrity": "sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A==", "dev": true, "requires": { "ms": "^2.1.1" @@ -29589,7 +28985,6 @@ }, "rechoir": { "version": "0.6.2", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", "dev": true, "requires": { "resolve": "^1.1.6" @@ -29597,7 +28992,6 @@ }, "recursive-readdir": { "version": "2.2.2", - "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", "dev": true, "requires": { "minimatch": "3.0.4" @@ -29605,14 +28999,12 @@ }, "regex-cache": { "version": "0.4.4", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "requires": { "is-equal-shallow": "^0.1.3" } }, "regexp.prototype.flags": { "version": "1.3.1", - "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" @@ -29620,25 +29012,20 @@ }, "regexpp": { "version": "3.2.0", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", "dev": true }, "release-zalgo": { "version": "1.0.0", - "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", "dev": true, "requires": { "es6-error": "^4.0.1" } }, "remove-trailing-separator": { - "version": "1.1.0", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + "version": "1.1.0" }, "renderkid": { "version": "2.0.7", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", - "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", "dev": true, "requires": { "css-select": "^4.1.3", @@ -29650,14 +29037,10 @@ "dependencies": { "ansi-regex": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { "ansi-regex": "^2.0.0" @@ -29666,41 +29049,33 @@ } }, "repeat-element": { - "version": "1.1.4", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==" + "version": "1.1.4" }, "repeat-string": { - "version": "1.6.1", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + "version": "1.6.1" }, "require-directory": { - "version": "2.1.1", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + "version": "2.1.1" }, "require-from-string": { - "version": "2.0.2", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + "version": "2.0.2" }, "require-main-filename": { "version": "2.0.0", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true }, "resolve": { "version": "1.17.0", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", "requires": { "path-parse": "^1.0.6" } }, "resolve-from": { "version": "4.0.0", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, "responselike": { "version": "1.0.2", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", "dev": true, "requires": { "lowercase-keys": "^1.0.0" @@ -29708,7 +29083,6 @@ }, "restore-cursor": { "version": "2.0.0", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "dev": true, "requires": { "onetime": "^2.0.0", @@ -29717,12 +29091,10 @@ "dependencies": { "mimic-fn": { "version": "1.2.0", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true }, "onetime": { "version": "2.0.1", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "requires": { "mimic-fn": "^1.0.0" @@ -29732,24 +29104,19 @@ }, "retimer": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/retimer/-/retimer-3.0.0.tgz", - "integrity": "sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA==", "dev": true }, "reusify": { - "version": "1.0.4", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + "version": "1.0.4" }, "rimraf": { "version": "3.0.2", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "requires": { "glob": "^7.1.3" } }, "ripemd160": { "version": "2.0.2", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "requires": { "hash-base": "^3.0.0", "inherits": "^2.0.1" @@ -29757,46 +29124,38 @@ }, "rlp": { "version": "2.2.6", - "integrity": "sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg==", "requires": { "bn.js": "^4.11.1" } }, "run-async": { "version": "2.4.1", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", "dev": true }, "run-parallel": { "version": "1.2.0", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "requires": { "queue-microtask": "^1.2.2" } }, "rustbn.js": { - "version": "0.2.0", - "integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==" + "version": "0.2.0" }, "rxjs": { "version": "6.6.7", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "dev": true, "requires": { "tslib": "^1.9.0" } }, "safe-buffer": { - "version": "5.2.1", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + "version": "5.2.1" }, "safer-buffer": { - "version": "2.1.2", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "version": "2.1.2" }, "sc-istanbul": { "version": "0.4.6", - "integrity": "sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g==", "dev": true, "requires": { "abbrev": "1.0.x", @@ -29817,22 +29176,18 @@ "dependencies": { "abbrev": { "version": "1.0.9", - "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", "dev": true }, "async": { "version": "1.5.2", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", "dev": true }, "esprima": { "version": "2.7.3", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", "dev": true }, "glob": { "version": "5.0.15", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", "dev": true, "requires": { "inflight": "^1.0.4", @@ -29844,12 +29199,10 @@ }, "has-flag": { "version": "1.0.0", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", "dev": true }, "nopt": { "version": "3.0.6", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", "dev": true, "requires": { "abbrev": "1" @@ -29857,12 +29210,10 @@ }, "resolve": { "version": "1.1.7", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", "dev": true }, "supports-color": { "version": "3.2.3", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { "has-flag": "^1.0.0" @@ -29870,7 +29221,6 @@ }, "which": { "version": "1.3.1", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { "isexe": "^2.0.0" @@ -29878,18 +29228,15 @@ }, "wordwrap": { "version": "1.0.0", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", "dev": true } } }, "scrypt-js": { - "version": "3.0.1", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" + "version": "3.0.1" }, "secp256k1": { "version": "4.0.2", - "integrity": "sha512-UDar4sKvWAksIlfX3xIaQReADn+WFnHvbVujpcbr+9Sf/69odMwy2MUsz5CKLQgX9nsIyrjuxL2imVyoNHa3fg==", "requires": { "elliptic": "^6.5.2", "node-addon-api": "^2.0.0", @@ -29897,13 +29244,10 @@ } }, "semaphore-async-await": { - "version": "1.5.1", - "integrity": "sha1-hXvvXjZEYBykuVcLh+nfXKEpdPo=" + "version": "1.5.1" }, "semver": { "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -29911,7 +29255,6 @@ "dependencies": { "lru-cache": { "version": "6.0.0", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "requires": { "yallist": "^4.0.0" @@ -29919,14 +29262,12 @@ }, "yallist": { "version": "4.0.0", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true } } }, "send": { "version": "0.17.1", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", "dev": true, "requires": { "debug": "2.6.9", @@ -29946,7 +29287,6 @@ "dependencies": { "debug": { "version": "2.6.9", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -29954,28 +29294,24 @@ "dependencies": { "ms": { "version": "2.0.0", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } }, "ms": { "version": "2.1.1", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", "dev": true } } }, "serialize-javascript": { "version": "6.0.0", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", "requires": { "randombytes": "^2.1.0" } }, "serve-static": { "version": "1.14.1", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", "dev": true, "requires": { "encodeurl": "~1.0.2", @@ -29986,7 +29322,6 @@ }, "servify": { "version": "0.1.12", - "integrity": "sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==", "dev": true, "requires": { "body-parser": "^1.16.0", @@ -29998,22 +29333,18 @@ "dependencies": { "assert-plus": { "version": "1.0.0", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true }, "aws-sign2": { "version": "0.7.0", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", "dev": true }, "caseless": { "version": "0.12.0", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, "form-data": { "version": "2.3.3", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, "requires": { "asynckit": "^0.4.0", @@ -30023,7 +29354,6 @@ }, "har-validator": { "version": "5.1.5", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", "dev": true, "requires": { "ajv": "^6.12.3", @@ -30032,7 +29362,6 @@ }, "http-signature": { "version": "1.2.0", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { "assert-plus": "^1.0.0", @@ -30042,17 +29371,14 @@ }, "oauth-sign": { "version": "0.9.0", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", "dev": true }, "qs": { "version": "6.5.2", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", "dev": true }, "request": { "version": "2.88.2", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", "dev": true, "requires": { "aws-sign2": "~0.7.0", @@ -30079,7 +29405,6 @@ }, "tough-cookie": { "version": "2.5.0", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "dev": true, "requires": { "psl": "^1.1.28", @@ -30088,7 +29413,6 @@ }, "tunnel-agent": { "version": "0.6.0", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "requires": { "safe-buffer": "^5.0.1" @@ -30098,20 +29422,16 @@ }, "set-blocking": { "version": "2.0.0", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, "setimmediate": { - "version": "1.0.5", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + "version": "1.0.5" }, "setprototypeof": { - "version": "1.1.1", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + "version": "1.1.1" }, "sha.js": { "version": "2.4.11", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "requires": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -30119,7 +29439,6 @@ }, "shebang-command": { "version": "2.0.0", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "requires": { "shebang-regex": "^3.0.0" @@ -30127,12 +29446,10 @@ }, "shebang-regex": { "version": "3.0.0", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, "shelljs": { "version": "0.8.4", - "integrity": "sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==", "dev": true, "requires": { "glob": "^7.0.0", @@ -30142,7 +29459,6 @@ }, "side-channel": { "version": "1.0.4", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "requires": { "call-bind": "^1.0.0", "get-intrinsic": "^1.0.2", @@ -30151,17 +29467,14 @@ }, "signal-exit": { "version": "3.0.3", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", "dev": true }, "simple-concat": { "version": "1.0.1", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", "dev": true }, "simple-get": { "version": "2.8.1", - "integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==", "dev": true, "requires": { "decompress-response": "^3.3.0", @@ -30171,8 +29484,6 @@ }, "sinon": { "version": "11.1.2", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-11.1.2.tgz", - "integrity": "sha512-59237HChms4kg7/sXhiRcUzdSkKuydDeTiamT/jesUVHshBgL8XAmhgFo0GfK6RruMDM/iRSij1EybmMog9cJw==", "dev": true, "requires": { "@sinonjs/commons": "^1.8.3", @@ -30184,17 +29495,13 @@ } }, "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + "version": "1.0.5" }, "slash": { - "version": "3.0.0", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + "version": "3.0.0" }, "slice-ansi": { "version": "4.0.0", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, "requires": { "ansi-styles": "^4.0.0", @@ -30204,7 +29511,6 @@ }, "solc": { "version": "0.7.3", - "integrity": "sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==", "requires": { "command-exists": "^1.2.8", "commander": "3.0.2", @@ -30219,7 +29525,6 @@ "dependencies": { "fs-extra": { "version": "0.30.0", - "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", "requires": { "graceful-fs": "^4.1.2", "jsonfile": "^2.1.0", @@ -30229,32 +29534,27 @@ } }, "js-sha3": { - "version": "0.8.0", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + "version": "0.8.0" }, "jsonfile": { "version": "2.4.0", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "requires": { "graceful-fs": "^4.1.6" } }, "rimraf": { "version": "2.7.1", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "requires": { "glob": "^7.1.3" } }, "semver": { - "version": "5.7.1", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "5.7.1" } } }, "solhint": { "version": "3.3.6", - "integrity": "sha512-HWUxTAv2h7hx3s3hAab3ifnlwb02ZWhwFU/wSudUHqteMS3ll9c+m1FlGn9V8ztE2rf3Z82fQZA005Wv7KpcFA==", "dev": true, "requires": { "@solidity-parser/parser": "^0.13.2", @@ -30276,7 +29576,6 @@ "dependencies": { "@solidity-parser/parser": { "version": "0.13.2", - "integrity": "sha512-RwHnpRnfrnD2MSPveYoPh8nhofEvX7fgjHk1Oq+NNvCcLx4r1js91CO9o+F/F3fBzOCyvm8kKRTriFICX/odWw==", "dev": true, "requires": { "antlr4ts": "^0.5.0-alpha.4" @@ -30284,17 +29583,14 @@ }, "acorn": { "version": "6.4.2", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true }, "ansi-regex": { "version": "3.0.0", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, "ansi-styles": { "version": "3.2.1", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "^1.9.0" @@ -30302,12 +29598,10 @@ }, "astral-regex": { "version": "1.0.0", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", "dev": true }, "chalk": { "version": "2.4.2", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -30317,7 +29611,6 @@ }, "color-convert": { "version": "1.9.3", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { "color-name": "1.1.3" @@ -30325,17 +29618,14 @@ }, "color-name": { "version": "1.1.3", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "commander": { "version": "2.18.0", - "integrity": "sha512-6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ==", "dev": true }, "cross-spawn": { "version": "6.0.5", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "requires": { "nice-try": "^1.0.4", @@ -30347,24 +29637,20 @@ "dependencies": { "semver": { "version": "5.7.1", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true } } }, "emoji-regex": { "version": "7.0.3", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, "escape-string-regexp": { "version": "1.0.5", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, "eslint": { "version": "5.16.0", - "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -30407,14 +29693,12 @@ "dependencies": { "semver": { "version": "5.7.1", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true } } }, "eslint-scope": { "version": "4.0.3", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", "dev": true, "requires": { "esrecurse": "^4.1.0", @@ -30423,7 +29707,6 @@ }, "eslint-utils": { "version": "1.4.3", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", "dev": true, "requires": { "eslint-visitor-keys": "^1.1.0" @@ -30431,12 +29714,10 @@ }, "eslint-visitor-keys": { "version": "1.3.0", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true }, "espree": { "version": "5.0.1", - "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", "dev": true, "requires": { "acorn": "^6.0.7", @@ -30446,7 +29727,6 @@ }, "file-entry-cache": { "version": "5.0.1", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", "dev": true, "requires": { "flat-cache": "^2.0.1" @@ -30454,7 +29734,6 @@ }, "flat-cache": { "version": "2.0.1", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", "dev": true, "requires": { "flatted": "^2.0.0", @@ -30464,27 +29743,22 @@ }, "flatted": { "version": "2.0.2", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", "dev": true }, "globals": { "version": "11.12.0", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true }, "has-flag": { "version": "3.0.0", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, "levn": { "version": "0.3.0", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { "prelude-ls": "~1.1.2", @@ -30493,7 +29767,6 @@ }, "optionator": { "version": "0.8.3", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", "dev": true, "requires": { "deep-is": "~0.1.3", @@ -30506,28 +29779,23 @@ }, "path-key": { "version": "2.0.1", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true }, "prelude-ls": { "version": "1.1.2", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", "dev": true }, "prettier": { "version": "1.19.1", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", "dev": true, "optional": true }, "regexpp": { "version": "2.0.1", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", "dev": true }, "rimraf": { "version": "2.6.3", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, "requires": { "glob": "^7.1.3" @@ -30535,12 +29803,10 @@ }, "semver": { "version": "6.3.0", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true }, "shebang-command": { "version": "1.2.0", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { "shebang-regex": "^1.0.0" @@ -30548,12 +29814,10 @@ }, "shebang-regex": { "version": "1.0.0", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, "slice-ansi": { "version": "2.1.0", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", "dev": true, "requires": { "ansi-styles": "^3.2.0", @@ -30563,7 +29827,6 @@ }, "string-width": { "version": "3.1.0", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "requires": { "emoji-regex": "^7.0.1", @@ -30573,12 +29836,10 @@ "dependencies": { "ansi-regex": { "version": "4.1.0", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, "strip-ansi": { "version": "5.2.0", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { "ansi-regex": "^4.1.0" @@ -30588,7 +29849,6 @@ }, "strip-ansi": { "version": "4.0.0", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { "ansi-regex": "^3.0.0" @@ -30596,12 +29856,10 @@ }, "strip-json-comments": { "version": "2.0.1", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true }, "supports-color": { "version": "5.5.0", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -30609,7 +29867,6 @@ }, "table": { "version": "5.4.6", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", "dev": true, "requires": { "ajv": "^6.10.2", @@ -30620,7 +29877,6 @@ }, "type-check": { "version": "0.3.2", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { "prelude-ls": "~1.1.2" @@ -30628,7 +29884,6 @@ }, "which": { "version": "1.3.1", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { "isexe": "^2.0.0" @@ -30637,17 +29892,14 @@ } }, "solidity-ast": { - "version": "0.4.26", - "integrity": "sha512-UR9Ip3QoiEvNON5lOA28JNEzKT+1fLFA4xpIbZSEl4CEnYr/a4Pj0qMJh0652UQ51pKplI/nncZsDOMzdHdCcg==" + "version": "0.4.26" }, "solidity-comments-extractor": { "version": "0.0.7", - "integrity": "sha512-wciNMLg/Irp8OKGrh3S2tfvZiZ0NEyILfcRCXCD4mp7SgK/i9gzLfhY2hY7VMCQJ3kH9UB9BzNdibIVMchzyYw==", "dev": true }, "solidity-coverage": { "version": "0.7.17", - "integrity": "sha512-Erw2hd2xdACAvDX8jUdYkmgJlIIazGznwDJA5dhRaw4def2SisXN9jUjneeyOZnl/E7j6D3XJYug4Zg9iwodsg==", "dev": true, "requires": { "@solidity-parser/parser": "^0.13.2", @@ -30673,7 +29925,6 @@ "dependencies": { "@solidity-parser/parser": { "version": "0.13.2", - "integrity": "sha512-RwHnpRnfrnD2MSPveYoPh8nhofEvX7fgjHk1Oq+NNvCcLx4r1js91CO9o+F/F3fBzOCyvm8kKRTriFICX/odWw==", "dev": true, "requires": { "antlr4ts": "^0.5.0-alpha.4" @@ -30681,7 +29932,6 @@ }, "ansi-styles": { "version": "3.2.1", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "^1.9.0" @@ -30689,7 +29939,6 @@ }, "chalk": { "version": "2.4.2", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -30699,7 +29948,6 @@ }, "color-convert": { "version": "1.9.3", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { "color-name": "1.1.3" @@ -30707,17 +29955,14 @@ }, "color-name": { "version": "1.1.3", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "escape-string-regexp": { "version": "1.0.5", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, "fs-extra": { "version": "8.1.0", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "dev": true, "requires": { "graceful-fs": "^4.2.0", @@ -30727,7 +29972,6 @@ }, "globby": { "version": "10.0.2", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", "dev": true, "requires": { "@types/glob": "^7.1.1", @@ -30742,22 +29986,18 @@ }, "has-flag": { "version": "3.0.0", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "ignore": { "version": "5.1.8", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", "dev": true }, "pify": { "version": "4.0.1", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true }, "supports-color": { "version": "5.5.0", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -30767,17 +30007,13 @@ }, "solidity-parser-antlr": { "version": "0.4.11", - "resolved": "https://registry.npmjs.org/solidity-parser-antlr/-/solidity-parser-antlr-0.4.11.tgz", - "integrity": "sha512-4jtxasNGmyC0midtjH/lTFPZYvTTUMy6agYcF+HoMnzW8+cqo3piFrINb4ZCzpPW+7tTVFCGa5ubP34zOzeuMg==", "dev": true }, "source-map": { - "version": "0.6.1", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "version": "0.6.1" }, "source-map-support": { "version": "0.5.20", - "integrity": "sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==", "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -30785,7 +30021,6 @@ }, "spawn-sync": { "version": "1.0.15", - "integrity": "sha1-sAeZVX63+wyDdsKdROih6mfldHY=", "dev": true, "requires": { "concat-stream": "^1.4.7", @@ -30794,7 +30029,6 @@ }, "spawn-wrap": { "version": "2.0.0", - "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", "dev": true, "requires": { "foreground-child": "^2.0.0", @@ -30806,12 +30040,10 @@ } }, "sprintf-js": { - "version": "1.0.3", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + "version": "1.0.3" }, "sshpk": { "version": "1.16.1", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", "dev": true, "requires": { "asn1": "~0.2.3", @@ -30827,37 +30059,30 @@ "dependencies": { "assert-plus": { "version": "1.0.0", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true }, "tweetnacl": { "version": "0.14.5", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true } } }, "stacktrace-parser": { "version": "0.1.10", - "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", "requires": { "type-fest": "^0.7.1" }, "dependencies": { "type-fest": { - "version": "0.7.1", - "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==" + "version": "0.7.1" } } }, "statuses": { - "version": "1.5.0", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + "version": "1.5.0" }, "stream-to-it": { "version": "0.2.4", - "resolved": "https://registry.npmjs.org/stream-to-it/-/stream-to-it-0.2.4.tgz", - "integrity": "sha512-4vEbkSs83OahpmBybNJXlJd7d6/RxzkkSdT3I0mnGt79Xd2Kk+e1JqbvAvsQfCeKj3aKb0QIWkyK3/n0j506vQ==", "dev": true, "requires": { "get-iterator": "^1.0.2" @@ -30865,24 +30090,19 @@ }, "strict-uri-encode": { "version": "1.1.0", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", "dev": true }, "string_decoder": { "version": "1.3.0", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "requires": { "safe-buffer": "~5.2.0" } }, "string-natural-compare": { - "version": "3.0.1", - "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" + "version": "3.0.1" }, "string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -30890,14 +30110,12 @@ }, "dependencies": { "emoji-regex": { - "version": "8.0.0", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "version": "8.0.0" } } }, "string.prototype.trimend": { "version": "1.0.4", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -30906,7 +30124,6 @@ }, "string.prototype.trimstart": { "version": "1.0.4", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -30915,38 +30132,31 @@ }, "strip-ansi": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "requires": { "ansi-regex": "^5.0.1" } }, "strip-final-newline": { "version": "2.0.0", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true }, "strip-hex-prefix": { "version": "1.0.0", - "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=", "requires": { "is-hex-prefixed": "1.0.0" } }, "strip-json-comments": { - "version": "3.1.1", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + "version": "3.1.1" }, "supports-color": { "version": "7.2.0", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "requires": { "has-flag": "^4.0.0" } }, "swarm-js": { "version": "0.1.40", - "integrity": "sha512-yqiOCEoA4/IShXkY3WKwP5PvZhmoOOD8clsKA7EEcRILMkTEYHCQ21HDCAcVpmIxZq4LyZvWeRJ6quIyHk1caA==", "dev": true, "requires": { "bluebird": "^3.5.0", @@ -30964,12 +30174,10 @@ "dependencies": { "bluebird": { "version": "3.7.2", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true }, "fs-extra": { "version": "4.0.3", - "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -30979,12 +30187,10 @@ }, "get-stream": { "version": "3.0.0", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", "dev": true }, "got": { "version": "7.1.0", - "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", "dev": true, "requires": { "decompress-response": "^3.2.0", @@ -31005,27 +30211,22 @@ }, "is-plain-obj": { "version": "1.1.0", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", "dev": true }, "is-stream": { "version": "1.1.0", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, "p-cancelable": { "version": "0.3.0", - "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", "dev": true }, "prepend-http": { "version": "1.0.4", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", "dev": true }, "url-parse-lax": { "version": "1.0.0", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "dev": true, "requires": { "prepend-http": "^1.0.1" @@ -31035,8 +30236,6 @@ }, "table": { "version": "6.8.0", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", - "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", "dev": true, "requires": { "ajv": "^8.0.1", @@ -31048,7 +30247,6 @@ "dependencies": { "ajv": { "version": "8.6.3", - "integrity": "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -31059,14 +30257,12 @@ }, "json-schema-traverse": { "version": "1.0.0", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true } } }, "tar": { "version": "4.4.19", - "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", "dev": true, "requires": { "chownr": "^1.1.4", @@ -31080,8 +30276,6 @@ }, "tar-fs": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", "dev": true, "requires": { "chownr": "^1.1.1", @@ -31092,8 +30286,6 @@ }, "tar-stream": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", "dev": true, "requires": { "bl": "^4.0.3", @@ -31105,7 +30297,6 @@ }, "test-exclude": { "version": "6.0.0", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, "requires": { "@istanbuljs/schema": "^0.1.2", @@ -31115,23 +30306,18 @@ }, "text-table": { "version": "0.2.0", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, "through": { "version": "2.3.8", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, "timed-out": { "version": "4.0.1", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", "dev": true }, "timeout-abort-controller": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/timeout-abort-controller/-/timeout-abort-controller-3.0.0.tgz", - "integrity": "sha512-O3e+2B8BKrQxU2YRyEjC/2yFdb33slI22WRdUaDx6rvysfi9anloNZyR2q0l6LnePo5qH7gSM7uZtvvwZbc2yA==", "dev": true, "requires": { "retimer": "^3.0.0" @@ -31139,60 +30325,48 @@ }, "tmp": { "version": "0.0.33", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "requires": { "os-tmpdir": "~1.0.2" } }, "to-fast-properties": { "version": "2.0.0", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", "dev": true }, "to-readable-stream": { "version": "1.0.0", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", "dev": true }, "to-regex-range": { "version": "5.0.1", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "requires": { "is-number": "^7.0.0" } }, "toidentifier": { - "version": "1.0.0", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + "version": "1.0.0" }, "true-case-path": { - "version": "2.2.1", - "integrity": "sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==" + "version": "2.2.1" }, "tslib": { - "version": "1.14.1", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "version": "1.14.1" }, "tsort": { - "version": "0.0.1", - "integrity": "sha1-4igPXoF/i/QnVlf9D5rr1E9aJ4Y=" + "version": "0.0.1" }, "tweetnacl": { - "version": "1.0.3", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" + "version": "1.0.3" }, "tweetnacl-util": { - "version": "0.15.1", - "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==" + "version": "0.15.1" }, "type": { "version": "1.2.0", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", "dev": true }, "type-check": { "version": "0.4.0", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "requires": { "prelude-ls": "^1.2.1" @@ -31200,18 +30374,14 @@ }, "type-detect": { "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true }, "type-fest": { "version": "0.20.2", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true }, "type-is": { "version": "1.6.18", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, "requires": { "media-typer": "0.3.0", @@ -31220,12 +30390,10 @@ }, "typedarray": { "version": "0.0.6", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, "typedarray-to-buffer": { "version": "3.1.5", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", "dev": true, "requires": { "is-typedarray": "^1.0.0" @@ -31233,14 +30401,10 @@ }, "typescript": { "version": "4.7.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", - "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", "dev": true }, "uint8arrays": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", - "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", "dev": true, "requires": { "multiformats": "^9.4.2" @@ -31248,7 +30412,6 @@ }, "unbox-primitive": { "version": "1.0.1", - "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", "dev": true, "requires": { "function-bind": "^1.1.1", @@ -31258,21 +30421,16 @@ } }, "undici": { - "version": "4.16.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-4.16.0.tgz", - "integrity": "sha512-tkZSECUYi+/T1i4u+4+lwZmQgLXd4BLGlrc7KZPcLIW7Jpq99+Xpc30ONv7nS6F5UNOxp/HBZSSL9MafUrvJbw==" + "version": "4.16.0" }, "universalify": { - "version": "0.1.2", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + "version": "0.1.2" }, "unpipe": { - "version": "1.0.0", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + "version": "1.0.0" }, "uri-js": { "version": "4.4.1", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "requires": { "punycode": "^2.1.0" @@ -31280,7 +30438,6 @@ }, "url-parse-lax": { "version": "3.0.0", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", "dev": true, "requires": { "prepend-http": "^2.0.0" @@ -31288,21 +30445,17 @@ }, "url-set-query": { "version": "1.0.0", - "integrity": "sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk=", "dev": true }, "url-to-options": { "version": "1.0.1", - "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=", "dev": true }, "use-strict": { - "version": "1.0.1", - "integrity": "sha1-C7gNlPSaSgUZK4Sox9NOlfGn46A=" + "version": "1.0.1" }, "utf-8-validate": { "version": "5.0.6", - "integrity": "sha512-hoY0gOf9EkCw+nimK21FVKHUIG1BMqSiRwxB/q3A9yKZOrOI99PP77BxmarDqWz6rG3vVYiBWfhG8z2Tl+7fZA==", "devOptional": true, "requires": { "node-gyp-build": "^4.2.0" @@ -31310,12 +30463,10 @@ }, "utf8": { "version": "3.0.0", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", "dev": true }, "util": { "version": "0.12.4", - "integrity": "sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==", "dev": true, "requires": { "inherits": "^2.0.3", @@ -31327,43 +30478,34 @@ } }, "util-deprecate": { - "version": "1.0.2", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "version": "1.0.2" }, "utila": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", "dev": true }, "utils-merge": { "version": "1.0.1", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", "dev": true }, "uuid": { "version": "3.4.0", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", "dev": true }, "v8-compile-cache": { "version": "2.3.0", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", "dev": true }, "varint": { "version": "5.0.2", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==", "dev": true }, "vary": { "version": "1.1.2", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", "dev": true }, "verror": { "version": "1.10.0", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "requires": { "assert-plus": "^1.0.0", @@ -31373,20 +30515,16 @@ "dependencies": { "assert-plus": { "version": "1.0.0", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true }, "core-util-is": { "version": "1.0.2", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true } } }, "wcwidth": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", "dev": true, "requires": { "defaults": "^1.0.3" @@ -31394,7 +30532,6 @@ }, "web3": { "version": "1.5.3", - "integrity": "sha512-eyBg/1K44flfv0hPjXfKvNwcUfIVDI4NX48qHQe6wd7C8nPSdbWqo9vLy6ksZIt9NLa90HjI8HsGYgnMSUxn6w==", "dev": true, "requires": { "web3-bzz": "1.5.3", @@ -31408,7 +30545,6 @@ }, "web3-bzz": { "version": "1.5.3", - "integrity": "sha512-SlIkAqG0eS6cBS9Q2eBOTI1XFzqh83RqGJWnyrNZMDxUwsTVHL+zNnaPShVPvrWQA1Ub5b0bx1Kc5+qJVxsTJg==", "dev": true, "requires": { "@types/node": "^12.12.6", @@ -31418,14 +30554,12 @@ "dependencies": { "@types/node": { "version": "12.20.27", - "integrity": "sha512-qZdePUDSLAZRXXV234bLBEUM0nAQjoxbcSwp1rqSMUe1rZ47mwU6OjciR/JvF1Oo8mc0ys6GE0ks0HGgqAZoGg==", "dev": true } } }, "web3-core": { "version": "1.5.3", - "integrity": "sha512-ACTbu8COCu+0eUNmd9pG7Q9EVsNkAg2w3Y7SqhDr+zjTgbSHZV01jXKlapm9z+G3AN/BziV3zGwudClJ4u4xXQ==", "dev": true, "requires": { "@types/bn.js": "^4.11.5", @@ -31439,7 +30573,6 @@ "dependencies": { "@types/bn.js": { "version": "4.11.6", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", "dev": true, "requires": { "@types/node": "*" @@ -31447,14 +30580,12 @@ }, "@types/node": { "version": "12.20.27", - "integrity": "sha512-qZdePUDSLAZRXXV234bLBEUM0nAQjoxbcSwp1rqSMUe1rZ47mwU6OjciR/JvF1Oo8mc0ys6GE0ks0HGgqAZoGg==", "dev": true } } }, "web3-core-helpers": { "version": "1.5.3", - "integrity": "sha512-Ip1IjB3S8vN7Kf1PPjK41U5gskmMk6IJQlxIVuS8/1U7n/o0jC8krqtpRwiMfAgYyw3TXwBFtxSRTvJtnLyXZw==", "dev": true, "requires": { "web3-eth-iban": "1.5.3", @@ -31463,7 +30594,6 @@ }, "web3-core-method": { "version": "1.5.3", - "integrity": "sha512-8wJrwQ2qD9ibWieF9oHXwrJsUGrv3XAtEkNeyvyNMpktNTIjxJ2jaFGQUuLiyUrMubD18XXgLk4JS6PJU4Loeg==", "dev": true, "requires": { "@ethereumjs/common": "^2.4.0", @@ -31476,7 +30606,6 @@ }, "web3-core-promievent": { "version": "1.5.3", - "integrity": "sha512-CFfgqvk3Vk6PIAxtLLuX+pOMozxkKCY+/GdGr7weMh033mDXEPvwyVjoSRO1PqIKj668/hMGQsVoIgbyxkJ9Mg==", "dev": true, "requires": { "eventemitter3": "4.0.4" @@ -31484,14 +30613,12 @@ "dependencies": { "eventemitter3": { "version": "4.0.4", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", "dev": true } } }, "web3-core-requestmanager": { "version": "1.5.3", - "integrity": "sha512-9k/Bze2rs8ONix5IZR+hYdMNQv+ark2Ek2kVcrFgWO+LdLgZui/rn8FikPunjE+ub7x7pJaKCgVRbYFXjo3ZWg==", "dev": true, "requires": { "util": "^0.12.0", @@ -31503,7 +30630,6 @@ }, "web3-core-subscriptions": { "version": "1.5.3", - "integrity": "sha512-L2m9vG1iRN6thvmv/HQwO2YLhOQlmZU8dpLG6GSo9FBN14Uch868Swk0dYVr3rFSYjZ/GETevSXU+O+vhCummA==", "dev": true, "requires": { "eventemitter3": "4.0.4", @@ -31512,14 +30638,12 @@ "dependencies": { "eventemitter3": { "version": "4.0.4", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", "dev": true } } }, "web3-eth": { "version": "1.5.3", - "integrity": "sha512-saFurA1L23Bd7MEf7cBli6/jRdMhD4X/NaMiO2mdMMCXlPujoudlIJf+VWpRWJpsbDFdu7XJ2WHkmBYT5R3p1Q==", "dev": true, "requires": { "web3-core": "1.5.3", @@ -31538,7 +30662,6 @@ }, "web3-eth-abi": { "version": "1.5.3", - "integrity": "sha512-i/qhuFsoNrnV130CSRYX/z4SlCfSQ4mHntti5yTmmQpt70xZKYZ57BsU0R29ueSQ9/P+aQrL2t2rqkQkAloUxg==", "dev": true, "requires": { "@ethersproject/abi": "5.0.7", @@ -31547,7 +30670,6 @@ "dependencies": { "@ethersproject/abi": { "version": "5.0.7", - "integrity": "sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw==", "dev": true, "requires": { "@ethersproject/address": "^5.0.4", @@ -31565,7 +30687,6 @@ }, "web3-eth-accounts": { "version": "1.5.3", - "integrity": "sha512-pdGhXgeBaEJENMvRT6W9cmji3Zz/46ugFSvmnLLw79qi5EH7XJhKISNVb41eWCrs4am5GhI67GLx5d2s2a72iw==", "dev": true, "requires": { "@ethereumjs/common": "^2.3.0", @@ -31583,7 +30704,6 @@ "dependencies": { "eth-lib": { "version": "0.2.8", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", "dev": true, "requires": { "bn.js": "^4.11.6", @@ -31593,14 +30713,12 @@ }, "uuid": { "version": "3.3.2", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", "dev": true } } }, "web3-eth-contract": { "version": "1.5.3", - "integrity": "sha512-Gdlt1L6cdHe83k7SdV6xhqCytVtOZkjD0kY/15x441AuuJ4JLubCHuqu69k2Dr3tWifHYVys/vG8QE/W16syGg==", "dev": true, "requires": { "@types/bn.js": "^4.11.5", @@ -31615,7 +30733,6 @@ "dependencies": { "@types/bn.js": { "version": "4.11.6", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", "dev": true, "requires": { "@types/node": "*" @@ -31625,7 +30742,6 @@ }, "web3-eth-ens": { "version": "1.5.3", - "integrity": "sha512-QmGFFtTGElg0E+3xfCIFhiUF+1imFi9eg/cdsRMUZU4F1+MZCC/ee+IAelYLfNTGsEslCqfAusliKOT9DdGGnw==", "dev": true, "requires": { "content-hash": "^2.5.2", @@ -31640,7 +30756,6 @@ }, "web3-eth-iban": { "version": "1.5.3", - "integrity": "sha512-vMzmGqolYZvRHwP9P4Nf6G8uYM5aTLlQu2a34vz78p0KlDC+eV1th3+90Qeaupa28EG7OO0IT1F0BejiIauOPw==", "dev": true, "requires": { "bn.js": "^4.11.9", @@ -31649,7 +30764,6 @@ }, "web3-eth-personal": { "version": "1.5.3", - "integrity": "sha512-JzibJafR7ak/Icas8uvos3BmUNrZw1vShuNR5Cxjo+vteOC8XMqz1Vr7RH65B4bmlfb3bm9xLxetUHO894+Sew==", "dev": true, "requires": { "@types/node": "^12.12.6", @@ -31662,14 +30776,12 @@ "dependencies": { "@types/node": { "version": "12.20.27", - "integrity": "sha512-qZdePUDSLAZRXXV234bLBEUM0nAQjoxbcSwp1rqSMUe1rZ47mwU6OjciR/JvF1Oo8mc0ys6GE0ks0HGgqAZoGg==", "dev": true } } }, "web3-net": { "version": "1.5.3", - "integrity": "sha512-0W/xHIPvgVXPSdLu0iZYnpcrgNnhzHMC888uMlGP5+qMCt8VuflUZHy7tYXae9Mzsg1kxaJAS5lHVNyeNw4CoQ==", "dev": true, "requires": { "web3-core": "1.5.3", @@ -31679,7 +30791,6 @@ }, "web3-providers-http": { "version": "1.5.3", - "integrity": "sha512-5DpUyWGHtDAr2RYmBu34Fu+4gJuBAuNx2POeiJIooUtJ+Mu6pIx4XkONWH6V+Ez87tZAVAsFOkJRTYuzMr3rPw==", "dev": true, "requires": { "web3-core-helpers": "1.5.3", @@ -31688,7 +30799,6 @@ }, "web3-providers-ipc": { "version": "1.5.3", - "integrity": "sha512-JmeAptugVpmXI39LGxUSAymx0NOFdgpuI1hGQfIhbEAcd4sv7fhfd5D+ZU4oLHbRI8IFr4qfGU0uhR8BXhDzlg==", "dev": true, "requires": { "oboe": "2.1.5", @@ -31697,7 +30807,6 @@ }, "web3-providers-ws": { "version": "1.5.3", - "integrity": "sha512-6DhTw4Q7nm5CFYEUHOJM0gAb3xFx+9gWpVveg3YxJ/ybR1BUvEWo3bLgIJJtX56cYX0WyY6DS35a7f0LOI1kVg==", "dev": true, "requires": { "eventemitter3": "4.0.4", @@ -31707,14 +30816,12 @@ "dependencies": { "eventemitter3": { "version": "4.0.4", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", "dev": true } } }, "web3-shh": { "version": "1.5.3", - "integrity": "sha512-COfEXfsqoV/BkcsNLRxQqnWc1Teb8/9GxdGag5GtPC5gQC/vsN+7hYVJUwNxY9LtJPKYTij2DHHnx6UkITng+Q==", "dev": true, "requires": { "web3-core": "1.5.3", @@ -31725,7 +30832,6 @@ }, "web3-utils": { "version": "1.5.3", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", "dev": true, "requires": { "bn.js": "^4.11.9", @@ -31739,7 +30845,6 @@ "dependencies": { "eth-lib": { "version": "0.2.8", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", "dev": true, "requires": { "bn.js": "^4.11.6", @@ -31751,7 +30856,6 @@ }, "websocket": { "version": "1.0.34", - "integrity": "sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==", "dev": true, "requires": { "bufferutil": "^4.0.1", @@ -31764,7 +30868,6 @@ "dependencies": { "debug": { "version": "2.6.9", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -31772,21 +30875,18 @@ }, "ms": { "version": "2.0.0", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } }, "which": { "version": "2.0.2", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "requires": { "isexe": "^2.0.0" } }, "which-boxed-primitive": { "version": "1.0.2", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dev": true, "requires": { "is-bigint": "^1.0.1", @@ -31798,12 +30898,10 @@ }, "which-module": { "version": "2.0.0", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, "which-typed-array": { "version": "1.1.7", - "integrity": "sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw==", "dev": true, "requires": { "available-typed-arrays": "^1.0.5", @@ -31816,7 +30914,6 @@ }, "wide-align": { "version": "1.1.3", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "dev": true, "requires": { "string-width": "^1.0.2 || 2" @@ -31824,17 +30921,14 @@ "dependencies": { "ansi-regex": { "version": "3.0.0", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, "string-width": { "version": "2.1.1", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { "is-fullwidth-code-point": "^2.0.0", @@ -31843,7 +30937,6 @@ }, "strip-ansi": { "version": "4.0.0", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { "ansi-regex": "^3.0.0" @@ -31853,18 +30946,14 @@ }, "word-wrap": { "version": "1.2.3", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true }, "workerpool": { "version": "6.1.5", - "integrity": "sha512-XdKkCK0Zqc6w3iTxLckiuJ81tiD/o5rBE/m+nXpRCB+/Sq4DqkfXZ/x0jW02DG1tGsfUGXbTJyZDP+eu67haSw==", "dev": true }, "wrap-ansi": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -31872,12 +30961,10 @@ } }, "wrappy": { - "version": "1.0.2", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "version": "1.0.2" }, "write": { "version": "1.0.3", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", "dev": true, "requires": { "mkdirp": "^0.5.1" @@ -31885,7 +30972,6 @@ }, "write-file-atomic": { "version": "3.0.3", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", "dev": true, "requires": { "imurmurhash": "^0.1.4", @@ -31896,12 +30982,10 @@ }, "ws": { "version": "7.5.5", - "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==", "requires": {} }, "xhr": { "version": "2.6.0", - "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", "dev": true, "requires": { "global": "~4.4.0", @@ -31912,7 +30996,6 @@ }, "xhr-request": { "version": "1.1.0", - "integrity": "sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==", "dev": true, "requires": { "buffer-to-arraybuffer": "^0.0.5", @@ -31926,7 +31009,6 @@ }, "xhr-request-promise": { "version": "0.1.3", - "integrity": "sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg==", "dev": true, "requires": { "xhr-request": "^1.1.0" @@ -31934,7 +31016,6 @@ }, "xhr2-cookies": { "version": "1.1.0", - "integrity": "sha1-fXdEnQmZGX8VXLc7I99yUF7YnUg=", "dev": true, "requires": { "cookiejar": "^2.1.1" @@ -31942,31 +31023,24 @@ }, "xmlhttprequest": { "version": "1.8.0", - "integrity": "sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw=", "dev": true }, "xtend": { - "version": "4.0.2", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + "version": "4.0.2" }, "y18n": { "version": "4.0.3", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "dev": true }, "yaeti": { "version": "0.0.6", - "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=", "dev": true }, "yallist": { - "version": "3.1.1", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "version": "3.1.1" }, "yargs": { "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "requires": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -31978,21 +31052,15 @@ }, "dependencies": { "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + "version": "5.0.8" } } }, "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==" + "version": "20.2.4" }, "yargs-unparser": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", "requires": { "camelcase": "^6.0.0", "decamelize": "^4.0.0", @@ -32001,20 +31069,15 @@ }, "dependencies": { "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + "version": "6.3.0" }, "decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==" + "version": "4.0.0" } } }, "yocto-queue": { - "version": "0.1.0", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" + "version": "0.1.0" } } } diff --git a/packages/core-contracts/contracts/interfaces/IAuthorizable.sol b/packages/core-contracts/contracts/interfaces/IAuthorizable.sol new file mode 100644 index 0000000000..d4192bdd65 --- /dev/null +++ b/packages/core-contracts/contracts/interfaces/IAuthorizable.sol @@ -0,0 +1,8 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +interface IAuthorizable { + function setNewAuthorized(address newNominatedOwner) external; + + function authorized() external view returns (address); +} diff --git a/packages/core-contracts/contracts/interfaces/IERC721Enumerable.sol b/packages/core-contracts/contracts/interfaces/IERC721Enumerable.sol new file mode 100644 index 0000000000..edcfb7be07 --- /dev/null +++ b/packages/core-contracts/contracts/interfaces/IERC721Enumerable.sol @@ -0,0 +1,12 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "./IERC721.sol"; + +interface IERC721Enumerable { + function totalSupply() external view returns (uint256); + + function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256); + + function tokenByIndex(uint256 index) external view returns (uint256); +} diff --git a/packages/core-contracts/contracts/mocks/token/ERC721EnumerableMock.sol b/packages/core-contracts/contracts/mocks/token/ERC721EnumerableMock.sol new file mode 100644 index 0000000000..13a3223a9d --- /dev/null +++ b/packages/core-contracts/contracts/mocks/token/ERC721EnumerableMock.sol @@ -0,0 +1,30 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "../../token/ERC721Enumerable.sol"; + +contract ERC721EnumerableMock is ERC721Enumerable { + function initialize( + string memory tokenName, + string memory tokenSymbol, + string memory baseURL + ) public { + _initialize(tokenName, tokenSymbol, baseURL); + } + + function mintTo(address to, uint256 tokenId) external { + _mint(to, tokenId); + } + + function burn(uint256 tokenId) external { + _burn(tokenId); + } + + function transfer( + address from, + address to, + uint256 tokenId + ) external { + _transfer(from, to, tokenId); + } +} diff --git a/packages/core-contracts/contracts/mocks/utils/MathUtilMock.sol b/packages/core-contracts/contracts/mocks/utils/MathUtilMock.sol index bd4ece476d..c0f526a0fd 100644 --- a/packages/core-contracts/contracts/mocks/utils/MathUtilMock.sol +++ b/packages/core-contracts/contracts/mocks/utils/MathUtilMock.sol @@ -7,4 +7,44 @@ contract MathUtilMock { function sqrt(uint x) public pure returns (uint z) { return MathUtil.sqrt(x); } + + function mulDivDown( + uint256 x, + uint256 y, + uint256 denominator + ) public pure returns (uint256) { + return MathUtil.mulDivDown(x, y, denominator); + } + + function mulDivUp( + uint256 x, + uint256 y, + uint256 denominator + ) public pure returns (uint256) { + return MathUtil.mulDivUp(x, y, denominator); + } + + function mulDecimal(uint256 x, uint256 y) public pure returns (uint256) { + return MathUtil.mulDecimal(x, y); + } + + function divDecimal(uint256 x, uint256 y) public pure returns (uint256) { + return MathUtil.divDecimal(x, y); + } + + function mulDivDown( + int256 x, + int256 y, + int256 denominator + ) public pure returns (int256) { + return MathUtil.mulDivDown(x, y, denominator); + } + + function mulDecimal(int256 x, int256 y) public pure returns (int256) { + return MathUtil.mulDecimal(x, y); + } + + function divDecimal(int256 x, int256 y) public pure returns (int256) { + return MathUtil.divDecimal(x, y); + } } diff --git a/packages/core-contracts/contracts/ownership/Authorizable.sol b/packages/core-contracts/contracts/ownership/Authorizable.sol new file mode 100644 index 0000000000..84b70ce5e8 --- /dev/null +++ b/packages/core-contracts/contracts/ownership/Authorizable.sol @@ -0,0 +1,32 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "./AuthorizableMixin.sol"; +import "./Ownable.sol"; +import "../interfaces/IAuthorizable.sol"; +import "../errors/AddressError.sol"; +import "../errors/ChangeError.sol"; + +contract Authorizable is Ownable, IAuthorizable, AuthorizableMixin { + event AuthorizedChanged(address oldAuthorizad, address newAuthorized); + + function setNewAuthorized(address newAuthorized) public override onlyOwner { + AuthorizableStore storage store = _authorizableStore(); + address oldAuthorized = store.authorized; + + if (newAuthorized == address(0)) { + revert AddressError.ZeroAddress(); + } + + if (newAuthorized == oldAuthorized) { + revert ChangeError.NoChange(); + } + + store.authorized = newAuthorized; + emit AuthorizedChanged(oldAuthorized, newAuthorized); + } + + function authorized() external view override returns (address) { + return _authorizableStore().authorized; + } +} diff --git a/packages/core-contracts/contracts/ownership/AuthorizableMixin.sol b/packages/core-contracts/contracts/ownership/AuthorizableMixin.sol new file mode 100644 index 0000000000..e41ecd1813 --- /dev/null +++ b/packages/core-contracts/contracts/ownership/AuthorizableMixin.sol @@ -0,0 +1,23 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "./AuthorizableStorage.sol"; +import "../errors/AccessError.sol"; + +contract AuthorizableMixin is AuthorizableStorage { + modifier onlyAuthorized() { + _onlyAuthorized(); + + _; + } + + function _onlyAuthorized() internal view { + if (msg.sender != _getAuthorized()) { + revert AccessError.Unauthorized(msg.sender); + } + } + + function _getAuthorized() internal view returns (address) { + return _authorizableStore().authorized; + } +} diff --git a/packages/core-contracts/contracts/ownership/AuthorizableStorage.sol b/packages/core-contracts/contracts/ownership/AuthorizableStorage.sol new file mode 100644 index 0000000000..3d8c8d5bb0 --- /dev/null +++ b/packages/core-contracts/contracts/ownership/AuthorizableStorage.sol @@ -0,0 +1,15 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract AuthorizableStorage { + struct AuthorizableStore { + address authorized; + } + + function _authorizableStore() internal pure returns (AuthorizableStore storage store) { + assembly { + // bytes32(uint(keccak256("io.synthetix.authorizable")) - 1) + store.slot := 0x9dedc22c2235c6a81df9ead6005a4f8dd57ccea7aabae74741e05fb3542561b6 + } + } +} diff --git a/packages/core-contracts/contracts/token/ERC721.sol b/packages/core-contracts/contracts/token/ERC721.sol index bf72f3d1a3..6d02d708a1 100644 --- a/packages/core-contracts/contracts/token/ERC721.sol +++ b/packages/core-contracts/contracts/token/ERC721.sol @@ -177,6 +177,8 @@ contract ERC721 is IERC721, IERC721Metadata, ERC721Storage { revert TokenAlreadyMinted(tokenId); } + _beforeTransfer(address(0), to, tokenId); + store.balanceOf[to] += 1; store.ownerOf[tokenId] = to; @@ -187,6 +189,8 @@ contract ERC721 is IERC721, IERC721Metadata, ERC721Storage { ERC721Store storage store = _erc721Store(); address holder = store.ownerOf[tokenId]; + _beforeTransfer(holder, address(0), tokenId); + _approve(address(0), tokenId); store.balanceOf[holder] -= 1; @@ -210,6 +214,8 @@ contract ERC721 is IERC721, IERC721Metadata, ERC721Storage { revert AddressError.ZeroAddress(); } + _beforeTransfer(from, to, tokenId); + // Clear approvals from the previous holder _approve(address(0), tokenId); @@ -217,6 +223,8 @@ contract ERC721 is IERC721, IERC721Metadata, ERC721Storage { store.balanceOf[to] += 1; store.ownerOf[tokenId] = to; + _postTransfer(from, to, tokenId); + emit Transfer(from, to, tokenId); } @@ -230,7 +238,7 @@ contract ERC721 is IERC721, IERC721Metadata, ERC721Storage { address to, uint256 tokenId, bytes memory data - ) private returns (bool) { + ) internal returns (bool) { if (AddressUtil.isContract(to)) { try IERC721Receiver(to).onERC721Received(msg.sender, from, tokenId, data) returns (bytes4 retval) { return retval == IERC721Receiver.onERC721Received.selector; @@ -241,4 +249,16 @@ contract ERC721 is IERC721, IERC721Metadata, ERC721Storage { return true; } } + + function _beforeTransfer( + address from, + address to, + uint256 tokenId // solhint-disable-next-line no-empty-blocks + ) internal virtual {} + + function _postTransfer( + address from, + address to, + uint256 tokenId // solhint-disable-next-line no-empty-blocks + ) internal virtual {} } diff --git a/packages/core-contracts/contracts/token/ERC721Enumerable.sol b/packages/core-contracts/contracts/token/ERC721Enumerable.sol new file mode 100644 index 0000000000..8f81b61ef5 --- /dev/null +++ b/packages/core-contracts/contracts/token/ERC721Enumerable.sol @@ -0,0 +1,140 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "./ERC721.sol"; +import "./ERC721EnumerableStorage.sol"; +import "../interfaces/IERC721Enumerable.sol"; + +/* + Reference implementations: + * OpenZeppelin - https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC721/extensions/ERC721Enumerable.sol +*/ + +abstract contract ERC721Enumerable is ERC721, ERC721EnumerableStorage, IERC721Enumerable { + error IndexOutOfBounds(); + + function _initialize( + string memory tokenName, + string memory tokenSymbol, + string memory baseTokenURI + ) internal virtual override { + super._initialize(tokenName, tokenSymbol, baseTokenURI); + if (_erc20EnumerableStore().allTokens.length > 0) { + revert InitError.AlreadyInitialized(); + } + } + + /** + * @dev Returns a token ID owned by `owner` at a given `index` of its token list. + * Use along with {balanceOf} to enumerate all of ``owner``'s tokens. + */ + function tokenOfOwnerByIndex(address owner, uint256 index) public view virtual override returns (uint256) { + if (ERC721.balanceOf(owner) <= index) { + revert IndexOutOfBounds(); + } + return _erc20EnumerableStore().ownedTokens[owner][index]; + } + + /** + * @dev Returns the total amount of tokens stored by the contract. + */ + function totalSupply() public view virtual override returns (uint256) { + return _erc20EnumerableStore().allTokens.length; + } + + /** + * @dev Returns a token ID at a given `index` of all the tokens stored by the contract. + * Use along with {totalSupply} to enumerate all tokens. + */ + function tokenByIndex(uint256 index) public view virtual override returns (uint256) { + if (index >= ERC721Enumerable.totalSupply()) { + revert IndexOutOfBounds(); + } + return _erc20EnumerableStore().allTokens[index]; + } + + function _beforeTransfer( + address from, + address to, + uint256 tokenId + ) internal virtual override { + if (from == address(0)) { + _addTokenToAllTokensEnumeration(tokenId); + } else if (from != to) { + _removeTokenFromOwnerEnumeration(from, tokenId); + } + if (to == address(0)) { + _removeTokenFromAllTokensEnumeration(tokenId); + } else if (to != from) { + _addTokenToOwnerEnumeration(to, tokenId); + } + } + + function _addTokenToOwnerEnumeration(address to, uint256 tokenId) private { + uint256 length = ERC721.balanceOf(to); + _erc20EnumerableStore().ownedTokens[to][length] = tokenId; + _erc20EnumerableStore().ownedTokensIndex[tokenId] = length; + } + + /** + * @dev Private function to add a token to this extension's token tracking data structures. + * @param tokenId uint256 ID of the token to be added to the tokens list + */ + function _addTokenToAllTokensEnumeration(uint256 tokenId) private { + _erc20EnumerableStore().allTokensIndex[tokenId] = _erc20EnumerableStore().allTokens.length; + _erc20EnumerableStore().allTokens.push(tokenId); + } + + /** + * @dev Private function to remove a token from this extension's ownership-tracking data structures. Note that + * while the token is not assigned a new owner, the `_ownedTokensIndex` mapping is _not_ updated: this allows for + * gas optimizations e.g. when performing a transfer operation (avoiding double writes). + * This has O(1) time complexity, but alters the order of the _ownedTokens array. + * @param from address representing the previous owner of the given token ID + * @param tokenId uint256 ID of the token to be removed from the tokens list of the given address + */ + function _removeTokenFromOwnerEnumeration(address from, uint256 tokenId) private { + // To prevent a gap in from's tokens array, we store the last token in the index of the token to delete, and + // then delete the last slot (swap and pop). + + uint256 lastTokenIndex = ERC721.balanceOf(from) - 1; + uint256 tokenIndex = _erc20EnumerableStore().ownedTokensIndex[tokenId]; + + // When the token to delete is the last token, the swap operation is unnecessary + if (tokenIndex != lastTokenIndex) { + uint256 lastTokenId = _erc20EnumerableStore().ownedTokens[from][lastTokenIndex]; + + _erc20EnumerableStore().ownedTokens[from][tokenIndex] = lastTokenId; // Move the last token to the slot of the to-delete token + _erc20EnumerableStore().ownedTokensIndex[lastTokenId] = tokenIndex; // Update the moved token's index + } + + // This also deletes the contents at the last position of the array + delete _erc20EnumerableStore().ownedTokensIndex[tokenId]; + delete _erc20EnumerableStore().ownedTokens[from][lastTokenIndex]; + } + + /** + * @dev Private function to remove a token from this extension's token tracking data structures. + * This has O(1) time complexity, but alters the order of the _allTokens array. + * @param tokenId uint256 ID of the token to be removed from the tokens list + */ + function _removeTokenFromAllTokensEnumeration(uint256 tokenId) private { + // To prevent a gap in the tokens array, we store the last token in the index of the token to delete, and + // then delete the last slot (swap and pop). + + uint256 lastTokenIndex = _erc20EnumerableStore().allTokens.length - 1; + uint256 tokenIndex = _erc20EnumerableStore().allTokensIndex[tokenId]; + + // When the token to delete is the last token, the swap operation is unnecessary. However, since this occurs so + // rarely (when the last minted token is burnt) that we still do the swap here to avoid the gas cost of adding + // an 'if' statement (like in _removeTokenFromOwnerEnumeration) + uint256 lastTokenId = _erc20EnumerableStore().allTokens[lastTokenIndex]; + + _erc20EnumerableStore().allTokens[tokenIndex] = lastTokenId; // Move the last token to the slot of the to-delete token + _erc20EnumerableStore().allTokensIndex[lastTokenId] = tokenIndex; // Update the moved token's index + + // This also deletes the contents at the last position of the array + delete _erc20EnumerableStore().allTokensIndex[tokenId]; + _erc20EnumerableStore().allTokens.pop(); + } +} diff --git a/packages/core-contracts/contracts/token/ERC721EnumerableStorage.sol b/packages/core-contracts/contracts/token/ERC721EnumerableStorage.sol new file mode 100644 index 0000000000..aaa34c8f06 --- /dev/null +++ b/packages/core-contracts/contracts/token/ERC721EnumerableStorage.sol @@ -0,0 +1,18 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract ERC721EnumerableStorage { + struct ERC721EnumerableStore { + mapping(uint256 => uint256) ownedTokensIndex; + mapping(uint256 => uint256) allTokensIndex; + mapping(address => mapping(uint256 => uint256)) ownedTokens; + uint256[] allTokens; + } + + function _erc20EnumerableStore() internal pure returns (ERC721EnumerableStore storage store) { + assembly { + // bytes32(uint(keccak256("io.synthetix.ERC721Enumerable")) - 1) + store.slot := 0xbb177151bccee46ca610917613ed7b9846647300a31f78f4e1d2108a85c87851 + } + } +} diff --git a/packages/core-contracts/contracts/utils/MathUtil.sol b/packages/core-contracts/contracts/utils/MathUtil.sol index d1bd178ff4..8b67e20382 100644 --- a/packages/core-contracts/contracts/utils/MathUtil.sol +++ b/packages/core-contracts/contracts/utils/MathUtil.sol @@ -7,6 +7,81 @@ pragma solidity ^0.8.0; */ library MathUtil { + /*////////////////////////////////////////////////////////////// + LOW LEVEL FIXED POINT OPERATIONS + //////////////////////////////////////////////////////////////*/ + /* Number of decimal places in the representations. */ + uint8 public constant DECIMALS = 18; + + /* The number representing 1.0. */ + uint256 public constant UNIT = uint(10**uint(DECIMALS)); + /* The number representing int 1.0. */ + int256 public constant INT_UNIT = int(UNIT); + + function mulDivDown( + uint256 x, + uint256 y, + uint256 denominator + ) internal pure returns (uint256 z) { + assembly { + // Store x * y in z for now. + z := mul(x, y) + + // Equivalent to require(denominator != 0 && (x == 0 || (x * y) / x == y)) + if iszero(and(iszero(iszero(denominator)), or(iszero(x), eq(div(z, x), y)))) { + revert(0, 0) + } + + // Divide z by the denominator. + z := div(z, denominator) + } + } + + function mulDivUp( + uint256 x, + uint256 y, + uint256 denominator + ) internal pure returns (uint256 z) { + assembly { + // Store x * y in z for now. + z := mul(x, y) + + // Equivalent to require(denominator != 0 && (x == 0 || (x * y) / x == y)) + if iszero(and(iszero(iszero(denominator)), or(iszero(x), eq(div(z, x), y)))) { + revert(0, 0) + } + + // First, divide z - 1 by the denominator and add 1. + // We allow z - 1 to underflow if z is 0, because we multiply the + // end result by 0 if z is zero, ensuring we return 0 if z is zero. + z := mul(iszero(iszero(z)), add(div(sub(z, 1), denominator), 1)) + } + } + + function mulDivDown( + int x, + int y, + int z + ) internal pure returns (int) { + return (x * y) / z; + } + + function mulDecimal(uint256 x, uint256 y) internal pure returns (uint256 z) { + return mulDivDown(x, y, UNIT); + } + + function divDecimal(uint256 x, uint256 y) internal pure returns (uint256 z) { + return mulDivDown(x, UNIT, y); + } + + function mulDecimal(int x, int y) internal pure returns (int) { + return mulDivDown(x, y, INT_UNIT); + } + + function divDecimal(int x, int y) internal pure returns (int) { + return mulDivDown(x, INT_UNIT, y); + } + function sqrt(uint256 x) internal pure returns (uint256 z) { assembly { // Start off with z at 1. diff --git a/packages/core-contracts/test/contracts/token/ERC721Enumerable.test.js b/packages/core-contracts/test/contracts/token/ERC721Enumerable.test.js new file mode 100644 index 0000000000..c01da9d589 --- /dev/null +++ b/packages/core-contracts/test/contracts/token/ERC721Enumerable.test.js @@ -0,0 +1,92 @@ +const { ethers } = hre; +const assert = require('assert/strict'); +const assertRevert = require('@synthetixio/core-js/utils/assertions/assert-revert'); +const assertBn = require('@synthetixio/core-js/utils/assertions/assert-bignumber'); + +describe('ERC721Enumerable', () => { + let ERC721Enumerable; + + let user1, user2, user3; + + before('identify signers', async () => { + [user1, user2, user3] = await ethers.getSigners(); + }); + + beforeEach('deploy the contract', async () => { + const factory = await ethers.getContractFactory('ERC721EnumerableMock'); + ERC721Enumerable = await factory.deploy(); + const tx = await ERC721Enumerable.initialize('Synthetix NFT', 'snxNFT', ''); + await tx.wait(); + }); + + describe('interfaces', () => { + it('implements ERC721', async () => { + assert.equal(await ERC721Enumerable.supportsInterface(0x80ac58cd), true); + }); + it('does not implement a random interface', async () => { + assert.equal(await ERC721Enumerable.supportsInterface(0x11223344), false); + }); + }); + + describe('mint', () => { + it('properly attribute to user', async () => { + ERC721Enumerable.mintTo(user1.address, 100); + ERC721Enumerable.mintTo(user1.address, 101); + ERC721Enumerable.mintTo(user2.address, 200); + ERC721Enumerable.mintTo(user2.address, 201); + assertBn.equal(await ERC721Enumerable.tokenOfOwnerByIndex(user1.address, 0), 100); + assertBn.equal(await ERC721Enumerable.tokenOfOwnerByIndex(user1.address, 1), 101); + assertBn.equal(await ERC721Enumerable.tokenOfOwnerByIndex(user2.address, 0), 200); + + await assertRevert( + ERC721Enumerable.tokenOfOwnerByIndex(user1.address, 2), + 'IndexOutOfBounds()' + ); + }); + }); + + describe('burn', () => { + it('properly removes token from user mapping', async () => { + await ERC721Enumerable.mintTo(user1.address, 300); + await ERC721Enumerable.mintTo(user1.address, 301); + await ERC721Enumerable.burn(301); + + assertBn.equal(await ERC721Enumerable.tokenOfOwnerByIndex(user1.address, 0), 300); + await assertRevert( + ERC721Enumerable.tokenOfOwnerByIndex(user1.address, 1), + 'IndexOutOfBounds()' + ); + }); + }); + + describe('transfer', () => { + it('properly removes token from user mapping', async () => { + await ERC721Enumerable.mintTo(user1.address, 400); + await ERC721Enumerable.mintTo(user1.address, 401); + await ERC721Enumerable.transfer(user1.address, user2.address, 401); + + assertBn.equal(await ERC721Enumerable.tokenOfOwnerByIndex(user1.address, 0), 400); + assertBn.equal(await ERC721Enumerable.tokenOfOwnerByIndex(user2.address, 0), 401); + await assertRevert( + ERC721Enumerable.tokenOfOwnerByIndex(user1.address, 1), + 'IndexOutOfBounds()' + ); + }); + }); + + describe('totalSupply', () => { + it('shows correct nft count', async () => { + await ERC721Enumerable.mintTo(user1.address, 400); + await ERC721Enumerable.mintTo(user1.address, 401); + await ERC721Enumerable.mintTo(user2.address, 402); + await ERC721Enumerable.mintTo(user2.address, 403); + await ERC721Enumerable.mintTo(user3.address, 404); + await ERC721Enumerable.mintTo(user3.address, 405); + + assertBn.equal(await ERC721Enumerable.totalSupply(), 6); + assertBn.equal(await ERC721Enumerable.tokenByIndex(0), 400); + assertBn.equal(await ERC721Enumerable.tokenByIndex(5), 405); + await assertRevert(ERC721Enumerable.tokenByIndex(6), 'IndexOutOfBounds()'); + }); + }); +}); diff --git a/packages/core-contracts/test/contracts/utils/MathUtil.test.js b/packages/core-contracts/test/contracts/utils/MathUtil.test.js index 4939b47139..09a5e37ac9 100644 --- a/packages/core-contracts/test/contracts/utils/MathUtil.test.js +++ b/packages/core-contracts/test/contracts/utils/MathUtil.test.js @@ -1,7 +1,12 @@ const { ethers } = hre; const assertBn = require('@synthetixio/core-js/utils/assertions/assert-bignumber'); +const assertRevert = require('@synthetixio/core-js/utils/assertions/assert-revert'); const { bnSqrt } = require('@synthetixio/core-js/utils/ethers/bignumber'); +function s(base, exp) { + return ethers.BigNumber.from(base).mul(ethers.BigNumber.from(10).pow(exp)); +} + describe('MathUtil', () => { let MathUtil; @@ -45,4 +50,289 @@ describe('MathUtil', () => { await assertBnSqrt(ethers.utils.parseEther('100000000')); }); }); + + describe('mulDivDown()', () => { + async function assertMulDivDown(data, expected) { + assertBn.equal( + await MathUtil['mulDivDown(uint256,uint256,uint256)']( + ethers.BigNumber.from(data.x), + ethers.BigNumber.from(data.y), + ethers.BigNumber.from(data.denominator) + ), + ethers.BigNumber.from(expected) + ); + } + + it('get the expected results', async () => { + await assertMulDivDown({ x: s(250, 25), y: s(50, 25), denominator: s(100, 25) }, s(125, 25)); + await assertMulDivDown({ x: s(250, 16), y: s(50, 16), denominator: s(100, 16) }, s(125, 16)); + await assertMulDivDown({ x: s(250, 6), y: s(50, 6), denominator: s(100, 6) }, s(125, 6)); + await assertMulDivDown({ x: 369, y: 271, denominator: 100 }, 999); + + await assertMulDivDown({ x: s(10, 26), y: s(10, 26), denominator: s(20, 26) }, s(5, 26)); + await assertMulDivDown({ x: s(100, 16), y: s(100, 16), denominator: s(200, 16) }, s(50, 16)); + await assertMulDivDown({ x: 1e8, y: 1e8, denominator: 2e8 }, 0.5e8); + + await assertMulDivDown({ x: s(2, 27), y: s(3, 27), denominator: s(2, 27) }, s(3, 27)); + await assertMulDivDown({ x: s(3, 18), y: s(2, 18), denominator: s(3, 18) }, s(2, 18)); + await assertMulDivDown({ x: 2e8, y: 3e8, denominator: 2e8 }, 3e8); + }); + + it('get the expected results on edge cases', async () => { + await assertMulDivDown({ x: 0, y: s(1, 18), denominator: s(1, 18) }, 0); + await assertMulDivDown({ x: s(1, 18), y: 0, denominator: s(1, 18) }, 0); + await assertMulDivDown({ x: 0, y: 0, denominator: s(1, 18) }, 0); + }); + + it('fails on div by zero', async () => { + await assertRevert(MathUtil['mulDivDown(uint256,uint256,uint256)'](s(1, 18), s(1, 18), 0)); + }); + }); + + describe('mulDivUp()', () => { + async function assertMulDivUp(data, expected) { + assertBn.equal( + await MathUtil.mulDivUp( + ethers.BigNumber.from(data.x), + ethers.BigNumber.from(data.y), + ethers.BigNumber.from(data.denominator) + ), + ethers.BigNumber.from(expected) + ); + } + + it('get the expected results', async () => { + await assertMulDivUp({ x: s(250, 25), y: s(50, 25), denominator: s(100, 25) }, s(125, 25)); + await assertMulDivUp({ x: s(250, 16), y: s(50, 16), denominator: s(100, 16) }, s(125, 16)); + await assertMulDivUp({ x: s(250, 6), y: s(50, 6), denominator: s(100, 6) }, s(125, 6)); + await assertMulDivUp({ x: 369, y: 271, denominator: 100 }, 1000); + + await assertMulDivUp({ x: s(10, 26), y: s(10, 26), denominator: s(20, 26) }, s(5, 26)); + await assertMulDivUp({ x: s(100, 16), y: s(100, 16), denominator: s(200, 16) }, s(50, 16)); + await assertMulDivUp({ x: 1e8, y: 1e8, denominator: 2e8 }, 0.5e8); + + await assertMulDivUp({ x: s(2, 27), y: s(3, 27), denominator: s(2, 27) }, s(3, 27)); + await assertMulDivUp({ x: s(3, 18), y: s(2, 18), denominator: s(3, 18) }, s(2, 18)); + await assertMulDivUp({ x: 2e8, y: 3e8, denominator: 2e8 }, 3e8); + }); + + it('get the expected results on edge cases', async () => { + await assertMulDivUp({ x: 0, y: s(1, 18), denominator: s(1, 18) }, 0); + await assertMulDivUp({ x: s(1, 18), y: 0, denominator: s(1, 18) }, 0); + await assertMulDivUp({ x: 0, y: 0, denominator: s(1, 18) }, 0); + }); + + it('fails on div by zero', async () => { + await assertRevert(MathUtil.mulDivUp(s(1, 18), s(1, 18), 0)); + }); + }); + + describe('mulDecimal()', () => { + async function assertMulDecimal(data, expected) { + assertBn.equal( + await MathUtil['mulDecimal(uint256,uint256)']( + ethers.BigNumber.from(data.x), + ethers.BigNumber.from(data.y) + ), + ethers.BigNumber.from(expected) + ); + } + + it('get the expected results', async () => { + await assertMulDecimal({ x: s(250, 18), y: s(50, 18) }, s(12500, 18)); + await assertMulDecimal({ x: s(250, 16), y: s(50, 16) }, s(12500, 14)); + await assertMulDecimal({ x: s(250, 25), y: s(50, 25) }, s(12500, 32)); + await assertMulDecimal({ x: s(250, 18), y: s(50, 6) }, s(12500, 6)); + await assertMulDecimal({ x: s(369, 18), y: s(271, 18) }, s(99999, 18)); + }); + + it('get the expected results on edge cases', async () => { + await assertMulDecimal({ x: 0, y: s(1, 18) }, 0); + await assertMulDecimal({ x: s(1, 18), y: 0 }, 0); + await assertMulDecimal({ x: 0, y: 0 }, 0); + await assertMulDecimal({ x: s(1, 9), y: s(1, 9) }, 1); + await assertMulDecimal({ x: s(1, 77), y: 1 }, s(1, 59)); + }); + + it('fails on large numbers', async () => { + await assertRevert(MathUtil['mulDecimal(uint256,uint256)'](s(1, 78), 1), 'out-of-bounds'); + }); + }); + + describe('divDecimal()', () => { + async function assertDivDecimal(data, expected) { + assertBn.equal( + await MathUtil['divDecimal(uint256,uint256)']( + ethers.BigNumber.from(data.x), + ethers.BigNumber.from(data.y) + ), + ethers.BigNumber.from(expected) + ); + } + + it('get the expected results', async () => { + await assertDivDecimal({ x: s(250, 18), y: s(50, 18) }, s(5, 18)); + await assertDivDecimal({ x: s(250, 16), y: s(50, 16) }, s(5, 18)); + await assertDivDecimal({ x: s(250, 25), y: s(50, 25) }, s(5, 18)); + await assertDivDecimal({ x: s(250, 18), y: s(50, 6) }, s(5, 30)); + }); + + it('get the expected results on edge cases', async () => { + await assertDivDecimal({ x: 0, y: s(1, 18) }, 0); + await assertDivDecimal({ x: s(1, 58), y: 1 }, s(1, 76)); + }); + + it('fails on large numbers', async () => { + await assertRevert(MathUtil['divDecimal(uint256,uint256)'](s(1, 78), 1), 'out-of-bounds'); + }); + + it('fails on divide by zero', async () => { + await assertRevert(MathUtil['divDecimal(uint256,uint256)'](1, 0)); + }); + }); + + describe('mulDivDown() Int', () => { + async function assertmulDivDown(data, expected) { + assertBn.equal( + await MathUtil['mulDivDown(int256,int256,int256)']( + ethers.BigNumber.from(data.x), + ethers.BigNumber.from(data.y), + ethers.BigNumber.from(data.denominator) + ), + ethers.BigNumber.from(expected) + ); + } + + it('get the expected results', async () => { + await assertmulDivDown({ x: s(250, 25), y: s(50, 25), denominator: s(100, 25) }, s(125, 25)); + await assertmulDivDown({ x: s(250, 16), y: s(50, 16), denominator: s(100, 16) }, s(125, 16)); + await assertmulDivDown({ x: s(250, 6), y: s(50, 6), denominator: s(100, 6) }, s(125, 6)); + await assertmulDivDown({ x: 369, y: 271, denominator: 100 }, 999); + + await assertmulDivDown({ x: s(10, 26), y: s(10, 26), denominator: s(20, 26) }, s(5, 26)); + await assertmulDivDown({ x: s(100, 16), y: s(100, 16), denominator: s(200, 16) }, s(50, 16)); + await assertmulDivDown({ x: 1e8, y: 1e8, denominator: 2e8 }, 0.5e8); + + await assertmulDivDown({ x: s(2, 27), y: s(3, 27), denominator: s(2, 27) }, s(3, 27)); + await assertmulDivDown({ x: s(3, 18), y: s(2, 18), denominator: s(3, 18) }, s(2, 18)); + await assertmulDivDown({ x: 2e8, y: 3e8, denominator: 2e8 }, 3e8); + + await assertmulDivDown( + { x: s(-250, 18), y: s(50, 18), denominator: s(1, 18) }, + s(-12500, 18) + ); + await assertmulDivDown( + { x: s(250, 18), y: s(-50, 18), denominator: s(1, 18) }, + s(-12500, 18) + ); + await assertmulDivDown( + { x: s(-250, 18), y: s(-50, 18), denominator: s(1, 18) }, + s(12500, 18) + ); + }); + + it('get the expected results on edge cases', async () => { + await assertmulDivDown({ x: 0, y: s(1, 18), denominator: s(1, 18) }, 0); + await assertmulDivDown({ x: s(1, 18), y: 0, denominator: s(1, 18) }, 0); + await assertmulDivDown({ x: 0, y: 0, denominator: s(1, 18) }, 0); + }); + + it('fails on div by zero', async () => { + await assertRevert(MathUtil['mulDivDown(int256,int256,int256)'](s(1, 18), s(1, 18), 0)); + }); + }); + + describe('mulDecimal() Int', () => { + async function assertMulDecimalInt(data, expected) { + assertBn.equal( + await MathUtil['mulDecimal(int256,int256)']( + ethers.BigNumber.from(data.x), + ethers.BigNumber.from(data.y) + ), + ethers.BigNumber.from(expected) + ); + } + + it('get the expected results', async () => { + await assertMulDecimalInt({ x: s(250, 18), y: s(50, 18) }, s(12500, 18)); + await assertMulDecimalInt({ x: s(250, 16), y: s(50, 16) }, s(12500, 14)); + await assertMulDecimalInt({ x: s(250, 25), y: s(50, 25) }, s(12500, 32)); + await assertMulDecimalInt({ x: s(250, 18), y: s(50, 6) }, s(12500, 6)); + await assertMulDecimalInt({ x: s(369, 18), y: s(271, 18) }, s(99999, 18)); + + await assertMulDecimalInt({ x: s(-250, 18), y: s(50, 18) }, s(-12500, 18)); + await assertMulDecimalInt({ x: s(-250, 16), y: s(50, 16) }, s(-12500, 14)); + await assertMulDecimalInt({ x: s(-250, 25), y: s(50, 25) }, s(-12500, 32)); + await assertMulDecimalInt({ x: s(-250, 18), y: s(50, 6) }, s(-12500, 6)); + + await assertMulDecimalInt({ x: s(250, 18), y: s(-50, 18) }, s(-12500, 18)); + await assertMulDecimalInt({ x: s(250, 16), y: s(-50, 16) }, s(-12500, 14)); + await assertMulDecimalInt({ x: s(250, 25), y: s(-50, 25) }, s(-12500, 32)); + await assertMulDecimalInt({ x: s(250, 18), y: s(-50, 6) }, s(-12500, 6)); + + await assertMulDecimalInt({ x: s(-250, 18), y: s(-50, 18) }, s(12500, 18)); + await assertMulDecimalInt({ x: s(-250, 16), y: s(-50, 16) }, s(12500, 14)); + await assertMulDecimalInt({ x: s(-250, 25), y: s(-50, 25) }, s(12500, 32)); + await assertMulDecimalInt({ x: s(-250, 18), y: s(-50, 6) }, s(12500, 6)); + }); + + it('get the expected results on edge cases', async () => { + await assertMulDecimalInt({ x: 0, y: s(1, 18) }, 0); + await assertMulDecimalInt({ x: s(1, 18), y: 0 }, 0); + await assertMulDecimalInt({ x: 0, y: 0 }, 0); + await assertMulDecimalInt({ x: s(1, 9), y: s(1, 9) }, 1); + await assertMulDecimalInt({ x: s(1, 76), y: 1 }, s(1, 58)); + }); + + it('fails on large numbers', async () => { + await assertRevert(MathUtil['mulDecimal(int256,int256)'](s(1, 78), 1), 'out-of-bounds'); + }); + }); + + describe('divDecimal() Int', () => { + async function assertDivDecimalInt(data, expected) { + assertBn.equal( + await MathUtil['divDecimal(int256,int256)']( + ethers.BigNumber.from(data.x), + ethers.BigNumber.from(data.y) + ), + ethers.BigNumber.from(expected) + ); + } + + it('get the expected results', async () => { + await assertDivDecimalInt({ x: s(250, 18), y: s(50, 18) }, s(5, 18)); + await assertDivDecimalInt({ x: s(250, 16), y: s(50, 16) }, s(5, 18)); + await assertDivDecimalInt({ x: s(250, 25), y: s(50, 25) }, s(5, 18)); + await assertDivDecimalInt({ x: s(250, 18), y: s(50, 6) }, s(5, 30)); + + await assertDivDecimalInt({ x: s(-250, 18), y: s(50, 18) }, s(-5, 18)); + await assertDivDecimalInt({ x: s(-250, 16), y: s(50, 16) }, s(-5, 18)); + await assertDivDecimalInt({ x: s(-250, 25), y: s(50, 25) }, s(-5, 18)); + await assertDivDecimalInt({ x: s(-250, 18), y: s(50, 6) }, s(-5, 30)); + + await assertDivDecimalInt({ x: s(250, 18), y: s(-50, 18) }, s(-5, 18)); + await assertDivDecimalInt({ x: s(250, 16), y: s(-50, 16) }, s(-5, 18)); + await assertDivDecimalInt({ x: s(250, 25), y: s(-50, 25) }, s(-5, 18)); + await assertDivDecimalInt({ x: s(250, 18), y: s(-50, 6) }, s(-5, 30)); + + await assertDivDecimalInt({ x: s(-250, 18), y: s(-50, 18) }, s(5, 18)); + await assertDivDecimalInt({ x: s(-250, 16), y: s(-50, 16) }, s(5, 18)); + await assertDivDecimalInt({ x: s(-250, 25), y: s(-50, 25) }, s(5, 18)); + await assertDivDecimalInt({ x: s(-250, 18), y: s(-50, 6) }, s(5, 30)); + }); + + it('get the expected results on edge cases', async () => { + await assertDivDecimalInt({ x: 0, y: s(1, 18) }, 0); + await assertDivDecimalInt({ x: s(1, 58), y: 1 }, s(1, 76)); + }); + + it('fails on large numbers', async () => { + await assertRevert(MathUtil['divDecimal(int256,int256)'](s(1, 78), 1), 'out-of-bounds'); + }); + + it('fails on divide by zero', async () => { + await assertRevert(MathUtil['divDecimal(int256,int256)'](1, 0), 'division by zero'); + }); + }); }); diff --git a/packages/deployer/subtasks/get-deployment-info.js b/packages/deployer/subtasks/get-deployment-info.js index b42a011f67..c7a0a823a1 100644 --- a/packages/deployer/subtasks/get-deployment-info.js +++ b/packages/deployer/subtasks/get-deployment-info.js @@ -12,8 +12,6 @@ subtask( SUBTASK_GET_DEPLOYMENT_INFO, 'Get the deployment info of the current instance', async ({ instance }, hre) => { - if (!instance) throw new Error('"instance" param is required'); - // deployer leaves its result in JSON files. We only care about the current and "extension" const [currentDeploymentFile] = getAllDeploymentFiles({ network: hre.network.name, instance }); const extendedFile = getDeploymentExtendedFiles(currentDeploymentFile); diff --git a/packages/deployer/subtasks/load-deployment.js b/packages/deployer/subtasks/load-deployment.js index c44c7d6e8a..4a0f5e2168 100644 --- a/packages/deployer/subtasks/load-deployment.js +++ b/packages/deployer/subtasks/load-deployment.js @@ -3,11 +3,15 @@ const { subtask } = require('hardhat/config'); const { getAllDeploymentFiles, getDeploymentExtendedFiles } = require('../utils/deployments'); const autosaveObject = require('../internal/autosave-object'); -const { SUBTASK_LOAD_DEPLOYMENT, SUBTASK_GET_DEPLOYMENT_INFO } = require('../task-names'); +const { SUBTASK_LOAD_DEPLOYMENT } = require('../task-names'); subtask(SUBTASK_LOAD_DEPLOYMENT, 'Loads deployment artifacts for a particular instance').setAction( async ({ readOnly, instance }, hre) => { - const info = await hre.run(SUBTASK_GET_DEPLOYMENT_INFO, { instance }); + const info = { + folder: hre.config.deployer.paths.deployments, + network: hre.network.name, + instance, + }; const deploymentFiles = getAllDeploymentFiles(info); diff --git a/packages/deployer/utils/deployments.js b/packages/deployer/utils/deployments.js index 16d9c00d6f..77c796f551 100644 --- a/packages/deployer/utils/deployments.js +++ b/packages/deployer/utils/deployments.js @@ -131,6 +131,7 @@ function getAllDeploymentFiles(info) { */ function getDeploymentFolder(info) { const { folder, network, instance } = _populateDefaults(info); + console.log('RESOLVED DEFAULTS', folder, network, instance); return path.resolve(folder, network, instance); } diff --git a/packages/deployer/utils/tests.js b/packages/deployer/utils/tests.js index 5b13486626..27575654b4 100644 --- a/packages/deployer/utils/tests.js +++ b/packages/deployer/utils/tests.js @@ -10,19 +10,20 @@ function bootstrap(initializer = () => {}, customDeployOptions = {}) { instance: customDeployOptions.instance || 'test', }; - before('take a snapshot', async () => { + before('take a snapshot', async function () { snapshotId = await takeSnapshot(hre.ethers.provider); }); - before('deploy system', async () => { + before('deploy system', async function () { + this.timeout(150000); await deploySystem(deploymentInfo, { clear: true, ...customDeployOptions }); }); - before('initialize system', async () => { + before('initialize system', async function () { await initializer(deploymentInfo); }); - after('restore the snapshot', async () => { + after('restore the snapshot', async function () { await restoreSnapshot(snapshotId, hre.ethers.provider); }); diff --git a/packages/synthetix-main/.gitignore b/packages/synthetix-main/.gitignore index 2ae8828af5..b93fff95a3 100644 --- a/packages/synthetix-main/.gitignore +++ b/packages/synthetix-main/.gitignore @@ -1,3 +1,5 @@ deployments/local deployments/hardhat contracts/Router.sol + +cannon diff --git a/packages/synthetix-main/cannonfile.toml b/packages/synthetix-main/cannonfile.toml index 6a6fd23455..d9635ade66 100644 --- a/packages/synthetix-main/cannonfile.toml +++ b/packages/synthetix-main/cannonfile.toml @@ -54,4 +54,4 @@ target = ["CoreProxy"] from = "<%= settings.owner %>" func = "initOrUpgradeToken" args = ["<%= contracts.ESNXProxy.address %>"] -depends = ["run.deploy_core"] \ No newline at end of file +depends = ["run.deploy_core"] diff --git a/packages/synthetix-main/contracts/interfaces/IAccountModule.sol b/packages/synthetix-main/contracts/interfaces/IAccountModule.sol new file mode 100644 index 0000000000..cdc1e64e9c --- /dev/null +++ b/packages/synthetix-main/contracts/interfaces/IAccountModule.sol @@ -0,0 +1,56 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "@synthetixio/core-contracts/contracts/interfaces/ISatelliteFactory.sol"; + +/// @title Module for managing account token (NFT) and accounts, each account is represented by an NFT +interface IAccountModule is ISatelliteFactory { + /// @notice initializes the Account Module. Creates the AccountToken proxy and first implementation. + function initializeAccountModule() external; + + /// @notice shows whether the module has been initialized + function isAccountModuleInitialized() external view returns (bool); + + /// @notice upgrades the AccountToken implementation. + function upgradeAccountImplementation(address newAccountImplementation) external; + + /// @notice gets the AccountToken address. + function getAccountAddress() external view returns (address); + + /// @notice gets the AccountModule Satellites created (only one, at idx 0). + function getAccountModuleSatellites() external view returns (Satellite[] memory); + + /// @notice creates a new accountToken (NFT) + function createAccount(uint256 accountId) external; + + /// @notice creates a new accountToken (NFT) + function transferAccount(address to, uint256 accountId) external; + + /// @notice grants "target" address the "role" role for the "accountId" account token NFT + function grantRole( + uint accountId, + bytes32 role, + address target + ) external; + + /// @notice revokes "target" address the "role" role for the "accountId" account token NFT + function revokeRole( + uint accountId, + bytes32 role, + address target + ) external; + + /// @notice the sender (must be the same as "target") renounces to the "role" role for the "accountId" account token NFT + function renounceRole( + uint accountId, + bytes32 role, + address target + ) external; + + /// @notice checks if the "target" address has the "role" role granted for the "accountId" account token NFT + function hasRole( + uint accountId, + bytes32 role, + address target + ) external view returns (bool); +} diff --git a/packages/synthetix-main/contracts/interfaces/IAccountToken.sol b/packages/synthetix-main/contracts/interfaces/IAccountToken.sol new file mode 100644 index 0000000000..d69aa8869c --- /dev/null +++ b/packages/synthetix-main/contracts/interfaces/IAccountToken.sol @@ -0,0 +1,10 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "@synthetixio/core-contracts/contracts/interfaces/IERC721.sol"; + +/// @title NFT token identifying an Account +interface IAccountToken is IERC721 { + /// @notice mints a new token (NFT) with the "requestedAccountId" id owned by "owner". It can ol=nly be called by the system + function mint(address owner, uint requestedAccountId) external; +} diff --git a/packages/synthetix-main/contracts/interfaces/IAggregatorV3Interface.sol b/packages/synthetix-main/contracts/interfaces/IAggregatorV3Interface.sol new file mode 100644 index 0000000000..983f84ff78 --- /dev/null +++ b/packages/synthetix-main/contracts/interfaces/IAggregatorV3Interface.sol @@ -0,0 +1,41 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +/// @title Interface an aggregator needs to adhere. +interface IAggregatorV3Interface { + /// @notice decimals used by the aggregator + function decimals() external view returns (uint8); + + /// @notice aggregator's description + function description() external view returns (string memory); + + /// @notice aggregator's version + function version() external view returns (uint256); + + // getRoundData and latestRoundData should both raise "No data present" + // if they do not have data to report, instead of returning unset values + // which could be misinterpreted as actual reported values. + /// @notice get's round data for requested id + function getRoundData(uint80 id) + external + view + returns ( + uint80 roundId, + int256 answer, + uint256 startedAt, + uint256 updatedAt, + uint80 answeredInRound + ); + + /// @notice get's latest round data + function latestRoundData() + external + view + returns ( + uint80 roundId, + int256 answer, + uint256 startedAt, + uint256 updatedAt, + uint80 answeredInRound + ); +} diff --git a/packages/synthetix-main/contracts/interfaces/ICollateralModule.sol b/packages/synthetix-main/contracts/interfaces/ICollateralModule.sol new file mode 100644 index 0000000000..d6e4f8f825 --- /dev/null +++ b/packages/synthetix-main/contracts/interfaces/ICollateralModule.sol @@ -0,0 +1,69 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "../storage/CollateralStorage.sol"; + +/// @title Module for managing collaterals and staked collaterals per account +interface ICollateralModule { + /// @notice SCCP Adds or Adjusts (can be enabled or re-enabled) a collateral type + function adjustCollateralType( + address collateralType, + address priceFeed, + uint targetCRatio, + uint minimumCRatio, + bool enabled + ) external; + + /// @notice Gets a list of approved collateral types + function getCollateralTypes(bool hideDisabled) + external + view + returns (CollateralStorage.CollateralData[] memory collaterals); + + /// @notice Gets the information of a particular approved collateral type + function getCollateralType(address collateralType) + external + view + returns (CollateralStorage.CollateralData memory collateral); + + /// @notice Stakes collateral for an account (by the account owner or an address with 'stake' role). Transfers the collateral from the account owner. + function stake( + uint accountId, + address collateralType, + uint amount + ) external; + + /// @notice Unstakes collateral for an account (by the account owner or an address with 'unstake' role). Transfers the collateral to the account owner + function unstake( + uint accountId, + address collateralType, + uint amount + ) external; + + /// @notice Gets the list of collateral staked by an accountId + function getAccountCollaterals(uint accountId) external view returns (address[] memory collateralTypes); + + /// @notice Gets stats for an account staked collateral. + function getAccountCollateralTotals(uint accountId, address collateralType) + external + view + returns ( + uint totalStaked, + uint totalAssigned, + uint totalLocked + ); + + /// @notice Gets the account's free collateral of collateralType that can be unstaked. + function getAccountUnstakebleCollateral(uint accountId, address collateralType) external view returns (uint); + + /// @notice Gets the account's unassigned collateral of collateralType that can be assigned to a fund. + function getAccountUnassignedCollateral(uint accountId, address collateralType) external view returns (uint); + + /// @notice Clean expired locks from locked collateral arrays for an account/collateral type. It includes offset and items to prevent gas exhaustion. If both, offset and items, are 0 it will traverse the whole array (unlimited) + function cleanExpiredLocks( + uint accountId, + address collateralType, + uint offset, + uint items + ) external; +} diff --git a/packages/synthetix-main/contracts/interfaces/IFundConfigurationModule.sol b/packages/synthetix-main/contracts/interfaces/IFundConfigurationModule.sol new file mode 100644 index 0000000000..5310d5919a --- /dev/null +++ b/packages/synthetix-main/contracts/interfaces/IFundConfigurationModule.sol @@ -0,0 +1,20 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +/// @title Module for managing preferred and approved funds via SCCPs +interface IFundConfigurationModule { + /// @notice SCCP sets the preferred fund + function setPreferredFund(uint fundId) external; + + /// @notice SCCP adds a fundId to the approved list + function addApprovedFund(uint fundId) external; + + /// @notice SCCP removes a fundId to the approved list + function removeApprovedFund(uint fundId) external; + + /// @notice gets the preferred fund + function getPreferredFund() external view returns (uint); + + /// @notice gets the approved funds (list of fundIds) + function getApprovedFunds() external view returns (uint[] calldata); +} diff --git a/packages/synthetix-main/contracts/interfaces/IFundModule.sol b/packages/synthetix-main/contracts/interfaces/IFundModule.sol new file mode 100644 index 0000000000..fc60609a22 --- /dev/null +++ b/packages/synthetix-main/contracts/interfaces/IFundModule.sol @@ -0,0 +1,47 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +/// @title Module for managing fund token and funds positions distribution +interface IFundModule { + /// @notice creates a new fundToken (NFT) + function createFund(uint requestedFundId, address owner) external; + + /// @notice sets the fund positions (only fundToken owner) + function setFundPosition( + uint fundId, + uint[] calldata markets, + uint[] calldata weights, + uint[] calldata maxDebtShareValues + ) external; + + /// @notice gets the fund positions + function getFundPosition(uint fundId) + external + view + returns ( + uint[] memory markets, + uint[] memory weights, + uint[] memory maxDebtShareValues + ); + + /// @notice sets the fund name + function setFundName(uint fundId, string memory name) external; + + /// @notice gets the fund name + function getFundName(uint fundId) external view returns (string memory fundName); + + /// @notice nominates a new fund owner + function nominateNewFundOwner(address nominatedOwner, uint256 fundId) external; + + /// @notice accepts ownership by nominated owner + function acceptFundOwnership(uint256 fundId) external; + + /// @notice renounces ownership by nominated owner + function renounceFundNomination(uint256 fundId) external; + + /// @notice gets owner of fundId + function ownerOf(uint256 fundId) external view returns (address); + + /// @notice gets nominatedOwner of fundId + function nominatedOwnerOf(uint256 fundId) external view returns (address); +} diff --git a/packages/synthetix-main/contracts/interfaces/ILiquidationModule.sol b/packages/synthetix-main/contracts/interfaces/ILiquidationModule.sol new file mode 100644 index 0000000000..57422699c3 --- /dev/null +++ b/packages/synthetix-main/contracts/interfaces/ILiquidationModule.sol @@ -0,0 +1,27 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "../utils/CurvesLibrary.sol"; + +/// @title Liquidates the collateral for an account in a fund +interface ILiquidationModule { + struct LiqudationInformation { + CurvesLibrary.PolynomialCurve curve; + mapping(uint => uint) initialAmount; // key is accountId, amount is accumulated when you entered the vault + uint accumulated; // how much accumulation per debt share (updated before anyone enters/leaves the vaults) + } + + /// @notice liquidates the required collateral of the account delegated to the fundId + function liquidate( + uint accountId, + uint fundId, + address collateralType + ) external; + + /// @notice returns if the account is liquidable on the fundId - collateralType pair + function isLiquidatable( + uint accountId, + uint fundId, + address collateralType + ) external returns (bool); +} diff --git a/packages/synthetix-main/contracts/interfaces/IMarket.sol b/packages/synthetix-main/contracts/interfaces/IMarket.sol new file mode 100644 index 0000000000..198667f108 --- /dev/null +++ b/packages/synthetix-main/contracts/interfaces/IMarket.sol @@ -0,0 +1,8 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +/// @title Interface a Market needs to adhere. +interface IMarket { + /// @notice returns the balance of the market + function balance() external view returns (int); +} diff --git a/packages/synthetix-main/contracts/interfaces/IMarketManagerModule.sol b/packages/synthetix-main/contracts/interfaces/IMarketManagerModule.sol new file mode 100644 index 0000000000..d0458f9cf9 --- /dev/null +++ b/packages/synthetix-main/contracts/interfaces/IMarketManagerModule.sol @@ -0,0 +1,39 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +/// @title Market Manager Module. Manages registered markets +interface IMarketManagerModule { + /// @notice registers a new market + function registerMarket(address market) external returns (uint); + + // function setSupplyTarget( + // uint marketId, + // uint fundId, + // uint amount + // ) external; + + // function supplyTarget(uint marketId) external returns (uint); + + /// @notice gets the liquidity of the market + function liquidity(uint marketId) external view returns (uint); + + /// @notice gets the total balance of the market + function totalBalance(uint marketId) external view returns (int); + + /// @notice gets the total balance of a fund + function fundBalance(uint marketId, uint fundId) external view returns (int); + + /// @notice target deposits amount of synths to the marketId + function deposit( + uint marketId, + address target, + uint amount + ) external; + + /// @notice target withdraws amount of synths to the marketId + function withdraw( + uint marketId, + address target, + uint amount + ) external; +} diff --git a/packages/synthetix-main/contracts/interfaces/IMulticallModule.sol b/packages/synthetix-main/contracts/interfaces/IMulticallModule.sol new file mode 100644 index 0000000000..ccec8fc517 --- /dev/null +++ b/packages/synthetix-main/contracts/interfaces/IMulticallModule.sol @@ -0,0 +1,8 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "@synthetixio/core-contracts/contracts/interfaces/ISatelliteFactory.sol"; + +interface IMulticallModule { + function multicall(bytes[] calldata data) external payable returns (bytes[] memory results); +} diff --git a/packages/synthetix-main/contracts/interfaces/ISNXTokenModule.sol b/packages/synthetix-main/contracts/interfaces/ISNXTokenModule.sol deleted file mode 100644 index 60bda1f540..0000000000 --- a/packages/synthetix-main/contracts/interfaces/ISNXTokenModule.sol +++ /dev/null @@ -1,16 +0,0 @@ -//SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -import "@synthetixio/core-contracts/contracts/interfaces/ISatelliteFactory.sol"; - -interface ISNXTokenModule is ISatelliteFactory { - function initializeSNXTokenModule() external; - - function isSNXTokenModuleInitialized() external view returns (bool); - - function upgradeSNXImplementation(address newSNXTokenImplementation) external; - - function getSNXTokenAddress() external view returns (address); - - function getSNXTokenModuleSatellites() external view returns (Satellite[] memory); -} diff --git a/packages/synthetix-main/contracts/interfaces/ISynth.sol b/packages/synthetix-main/contracts/interfaces/ISynth.sol deleted file mode 100644 index 97595c3e26..0000000000 --- a/packages/synthetix-main/contracts/interfaces/ISynth.sol +++ /dev/null @@ -1,10 +0,0 @@ -//SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -interface ISynth { - function initialize( - string memory synthName, - string memory synthSymbol, - uint8 synthDecimals - ) external; -} diff --git a/packages/synthetix-main/contracts/interfaces/ISynthsModule.sol b/packages/synthetix-main/contracts/interfaces/ISynthsModule.sol deleted file mode 100644 index c88da5743c..0000000000 --- a/packages/synthetix-main/contracts/interfaces/ISynthsModule.sol +++ /dev/null @@ -1,29 +0,0 @@ -//SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -import "@synthetixio/core-contracts/contracts/interfaces/ISatelliteFactory.sol"; - -interface ISynthsModule is ISatelliteFactory { - function initializeSynthsModule() external; - - function isSynthsModuleInitialized() external view returns (bool); - - function createSynth( - bytes32 synth, - string memory synthName, - string memory synthSymbol, - uint8 synthDecimals - ) external; - - function upgradeSynthImplementation(address newSynthsImplementation) external; - - function createSynthImplementation() external; - - function getBeacon() external view returns (address); - - function getSynthImplementation() external view returns (address); - - function getSynth(bytes32 synth) external view returns (address); - - function getSynthsModuleSatellites() external view returns (Satellite[] memory); -} diff --git a/packages/synthetix-main/contracts/interfaces/IUSDToken.sol b/packages/synthetix-main/contracts/interfaces/IUSDToken.sol new file mode 100644 index 0000000000..8eac27f858 --- /dev/null +++ b/packages/synthetix-main/contracts/interfaces/IUSDToken.sol @@ -0,0 +1,20 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "@synthetixio/core-contracts/contracts/interfaces/IERC20.sol"; + +/// @title ERC20 token for snxUSD +interface IUSDToken is IERC20 { + /// @notice mints USDToken amount to "to" address + function mint(address to, uint amount) external; + + /// @notice burns USDToken amount from "to" address + function burn(address to, uint amount) external; + + /// @notice sets USDToken amount allowance to spender by "from" address + function setAllowance( + address from, + address spender, + uint amount + ) external; +} diff --git a/packages/synthetix-main/contracts/interfaces/IUSDTokenModule.sol b/packages/synthetix-main/contracts/interfaces/IUSDTokenModule.sol new file mode 100644 index 0000000000..6e55f5d6a1 --- /dev/null +++ b/packages/synthetix-main/contracts/interfaces/IUSDTokenModule.sol @@ -0,0 +1,22 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "@synthetixio/core-contracts/contracts/interfaces/ISatelliteFactory.sol"; + +/// @title Module for managing snxUSD token as a Satellite +interface IUSDTokenModule is ISatelliteFactory { + /// @notice initializes the USD Token Module. Creates the first USD token implementation and takes ownership by the system + function initializeUSDTokenModule() external; + + /// @notice shows whether the module has been initialized + function isUSDTokenModuleInitialized() external view returns (bool); + + /// @notice upgrades the USDToken implementation. + function upgradeUSDImplementation(address newUSDTokenImplementation) external; + + /// @notice gets the USDToken address. + function getUSDTokenAddress() external view returns (address); + + /// @notice gets the USDToken Satellites created (only one, at idx 0). + function getUSDTokenModuleSatellites() external view returns (Satellite[] memory); +} diff --git a/packages/synthetix-main/contracts/interfaces/IVaultModule.sol b/packages/synthetix-main/contracts/interfaces/IVaultModule.sol new file mode 100644 index 0000000000..2c485c011f --- /dev/null +++ b/packages/synthetix-main/contracts/interfaces/IVaultModule.sol @@ -0,0 +1,74 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "./IVaultModuleStorage.sol"; + +/// @title Module for managing funds and assignments per account +interface IVaultModule is IVaultModuleStorage { + // /// @notice external access to rebalanceMarkets + // function rebalanceMarkets(uint fundId) external; // TODO Maybe is internal + + /// @notice delegates (creates, adjust or remove a delegation) collateral from an account + function delegateCollateral( + uint accountId, + uint fundId, + address collateralType, + uint amount, + uint leverage + ) external; + + /// @notice mints USD for a fund/account from a collateralType. if CRatio is valid + function mintUSD( + uint accountId, + uint fundId, + address collateralType, + uint amount + ) external; + + /// @notice burns USD for a fund/account from a collateralType + function burnUSD( + uint accountId, + uint fundId, + address collateralType, + uint amount + ) external; + + /// @notice gets the CRatio for an account/collateral in a fund + function collateralizationRatio( + uint accountId, + uint fundId, + address collateralType + ) external view returns (uint); + + /// @notice gets the account debt in a fund for a collateral + function accountFundDebt( + uint accountId, + uint fundId, + address collateralType + ) external view returns (uint); + + /// @notice gets the account collateral value in a fund for a collateral + function accountFundCollateralValue( + uint accountId, + uint fundId, + address collateralType + ) external view returns (uint); + + /// @notice gets the total fund debt + function fundDebt(uint fundId, address collateralType) external view returns (uint); + + /// @notice gets the total fund debtShares + function totalDebtShares(uint fundId, address collateralType) external view returns (uint); + + /// @notice gets the debt per share (USD value) for a fund + function debtPerShare(uint fundId, address collateralType) external view returns (uint); + + /// @notice gets liquidityItem details for a liquidityItemId + function getLiquidityItem(bytes32 liquidityItemId) external view returns (LiquidityItem memory liquidityItem); + + /// @notice gets list of liquidityItemIds for an accountId + function getAccountLiquidityItemIds(uint accountId) external view returns (bytes32[] memory liquidityItemIds); + + /// @notice gets list of liquidityItem details for an accountId + function getAccountLiquidityItems(uint accountId) external view returns (LiquidityItem[] memory liquidityItems); +} diff --git a/packages/synthetix-main/contracts/interfaces/IVaultModuleStorage.sol b/packages/synthetix-main/contracts/interfaces/IVaultModuleStorage.sol new file mode 100644 index 0000000000..730217c167 --- /dev/null +++ b/packages/synthetix-main/contracts/interfaces/IVaultModuleStorage.sol @@ -0,0 +1,16 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +/// @title Vault Liquidity Item type declarations used by different contracts +interface IVaultModuleStorage { + /// @notice LiquidityItem struct definition. Account/CollateralType/FundId uniquiely identifies it + struct LiquidityItem { + uint256 accountId; + address collateralType; + uint256 fundId; + uint256 collateralAmount; + uint256 shares; + uint256 initialDebt; // how that works with amount adjustments? + uint256 leverage; + } +} diff --git a/packages/synthetix-main/contracts/mixins/AccountRBACMixin.sol b/packages/synthetix-main/contracts/mixins/AccountRBACMixin.sol new file mode 100644 index 0000000000..53f60e97ad --- /dev/null +++ b/packages/synthetix-main/contracts/mixins/AccountRBACMixin.sol @@ -0,0 +1,42 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "../storage/AccountModuleStorage.sol"; + +import "../interfaces/IAccountToken.sol"; + +contract AccountRBACMixin is AccountModuleStorage { + using SetUtil for SetUtil.Bytes32Set; + + error RoleNotAuthorized(uint accountId, bytes32 role, address target); + + modifier onlyRoleAuthorized(uint accountId, bytes32 role) { + if (!_authorized(accountId, role, msg.sender)) { + revert RoleNotAuthorized(accountId, role, msg.sender); + } + + _; + } + + function _hasRole( + uint256 accountId, + bytes32 role, + address target + ) internal view returns (bool) { + AccountRBAC storage accountRBAC = _accountModuleStore().accountsRBAC[accountId]; + + return target != address(0) && accountRBAC.permissions[target].contains(role); + } + + function _authorized( + uint accountId, + bytes32 role, + address target + ) internal view returns (bool) { + return ((target == _accountOwner(accountId)) || (_hasRole(accountId, role, target))); + } + + function _accountOwner(uint accountId) internal view returns (address) { + return _accountModuleStore().accountsRBAC[accountId].owner; + } +} diff --git a/packages/synthetix-main/contracts/mixins/CollateralMixin.sol b/packages/synthetix-main/contracts/mixins/CollateralMixin.sol new file mode 100644 index 0000000000..6cc9c7e332 --- /dev/null +++ b/packages/synthetix-main/contracts/mixins/CollateralMixin.sol @@ -0,0 +1,69 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "../storage/CollateralStorage.sol"; + +import "../interfaces/IAggregatorV3Interface.sol"; + +contract CollateralMixin is CollateralStorage { + using SetUtil for SetUtil.AddressSet; + + error InvalidCollateralType(address collateralType); + error InsufficientAvailableCollateral(uint accountId, address collateralType, uint requestedAmount); + + modifier collateralEnabled(address collateralType) { + if (!_collateralStore().collateralsData[collateralType].enabled) { + revert InvalidCollateralType(collateralType); + } + + _; + } + + function _getCollateralValue(address collateralType) internal view returns (uint) { + (, int256 answer, , , ) = IAggregatorV3Interface(_collateralStore().collateralsData[collateralType].priceFeed) + .latestRoundData(); + + return uint(answer); + } + + function _getAccountCollateralTotals(uint accountId, address collateralType) + internal + view + returns ( + uint256 totalStaked, + uint256 totalAssigned, + uint256 totalLocked + ) + { + StakedCollateralData storage stakedCollateral = _collateralStore().stakedCollateralsDataByAccountId[accountId][ + collateralType + ]; + totalStaked = stakedCollateral.amount; + totalAssigned = stakedCollateral.assignedAmount; + totalLocked = _getTotalLocked(stakedCollateral.locks); + + return (totalStaked, totalAssigned, totalLocked); + } + + function _getAccountUnassignedCollateral(uint accountId, address collateralType) internal view returns (uint) { + (uint256 total, uint256 assigned, ) = _getAccountCollateralTotals(accountId, collateralType); + + return total - assigned; + } + + function _getTotalLocked(StakedCollateralLock[] storage locks) internal view returns (uint) { + uint64 currentTime = uint64(block.timestamp); + uint256 locked; + + for (uint i = 0; i < locks.length; i++) { + if (locks[i].lockExpirationTime > currentTime) { + locked += locks[i].amount; + } + } + return locked; + } + + function _getCollateralMinimumCRatio(address collateralType) internal view returns (uint) { + return _collateralStore().collateralsData[collateralType].minimumCRatio; + } +} diff --git a/packages/synthetix-main/contracts/mixins/FundMixin.sol b/packages/synthetix-main/contracts/mixins/FundMixin.sol new file mode 100644 index 0000000000..dbe0ed8835 --- /dev/null +++ b/packages/synthetix-main/contracts/mixins/FundMixin.sol @@ -0,0 +1,155 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "@synthetixio/core-contracts/contracts/utils/MathUtil.sol"; + +import "../mixins/CollateralMixin.sol"; +import "../mixins/MarketManagerMixin.sol"; + +import "../storage/FundModuleStorage.sol"; +import "../storage/FundVaultStorage.sol"; +import "../submodules/FundEventAndErrors.sol"; + +contract FundMixin is FundModuleStorage, FundVaultStorage, FundEventAndErrors, CollateralMixin, MarketManagerMixin { + using SetUtil for SetUtil.AddressSet; + using SetUtil for SetUtil.Bytes32Set; + using MathUtil for uint256; + + function _ownerOf(uint256 fundId) internal view returns (address) { + return _fundModuleStore().funds[fundId].owner; + } + + function _exists(uint256 fundId) internal view returns (bool) { + return _ownerOf(fundId) != address(0) || fundId == 0; // Reserves id 0 for the 'zero fund' + } + + modifier fundExists(uint256 fundId) { + if (!_exists(fundId)) { + revert FundNotFound(fundId); + } + + _; + } + + function _rebalanceFundPositions(uint fundId, bool clearsLiquidity) internal { + FundData storage fundData = _fundModuleStore().funds[fundId]; + uint totalWeights = _fundModuleStore().funds[fundId].totalWeights; + + for (uint i = 0; i < fundData.fundDistribution.length; i++) { + MarketDistribution storage marketDistribution = fundData.fundDistribution[i]; + uint weight = clearsLiquidity ? 0 : marketDistribution.weight; + _distributeLiquidity( + fundId, + marketDistribution.market, + marketDistribution.maxDebtShareValue, + weight, + totalWeights + ); + } + } + + function _distributeLiquidity( + uint fundId, + uint marketId, + uint maxDebtShareValue, + uint marketWeight, + uint totalWeight + ) internal { + // Rebalance Markets per type of collateral (individual fund-collateral vaults) + for (uint idx = 1; idx < _fundVaultStore().fundCollateralTypes[fundId].length(); idx++) { + // TODO Verify with product if there's only one collateral type allowed per fund + // If there's only one collateralType per fund => this for loop is not needed since + // will iterate only once + address collateralType = _fundVaultStore().fundCollateralTypes[fundId].valueAt(idx); + + uint collateral = _fundVaultStore().fundVaults[fundId][collateralType].totalCollateral; + uint collateralValue = collateral.mulDecimal(_getCollateralValue(collateralType)); + + uint toAssign = (collateralValue * marketWeight) / totalWeight; + _rebalanceMarket(marketId, fundId, maxDebtShareValue, toAssign); //rebalanceMarket from MarketMixin + } + } + + function _accountDebtAndCollateral( + uint accountId, + uint fundId, + address collateralType + ) internal view returns (uint, uint) { + VaultData storage vaultData = _fundVaultStore().fundVaults[fundId][collateralType]; + + uint perShareCollateral = _perShareCollateral(fundId, collateralType); + uint collateralPrice = _getCollateralValue(collateralType); + uint perShareValue = perShareCollateral.mulDecimal(collateralPrice); + + uint accountCollateralValue; + uint accountDebt = vaultData.usdByAccount[accountId]; // add debt from USD minted + SetUtil.Bytes32Set storage accountliquidityItems = vaultData.liquidityItemsByAccount[accountId]; + + for (uint i = 1; i < accountliquidityItems.length() + 1; i++) { + bytes32 itemId = accountliquidityItems.valueAt(i); + LiquidityItem storage item = _fundVaultStore().liquidityItems[itemId]; + + assert(item.collateralType == collateralType); // sanity check. There shouldn't be any liquidity item with different collateral here + + uint itemAccountCollateralValue = item.collateralAmount.mulDecimal(collateralPrice); + + accountCollateralValue += itemAccountCollateralValue; + + //TODO review formula + accountDebt += + itemAccountCollateralValue + + item.initialDebt - + item.shares.mulDecimal(perShareValue) * + item.leverage; + } + + return (accountDebt, accountCollateralValue); + } + + function _collateralizationRatio( + uint accountId, + uint fundId, + address collateralType + ) internal view returns (uint) { + (uint accountDebt, uint accountCollateralValue) = _accountDebtAndCollateral(accountId, fundId, collateralType); + return accountCollateralValue.divDecimal(accountDebt); + } + + function _totalCollateral(uint fundId, address collateralType) internal view returns (uint) { + return _fundVaultStore().fundVaults[fundId][collateralType].totalCollateral; + } + + function _totalShares(uint fundId, address collateralType) internal view returns (uint) { + return _fundVaultStore().fundVaults[fundId][collateralType].totalShares; + } + + function _perShareCollateral(uint fundId, address collateralType) internal view returns (uint) { + uint totalShares = _totalShares(fundId, collateralType); + uint totalCollateralValue = _totalCollateral(fundId, collateralType); + + return totalCollateralValue == 0 ? 1 : totalCollateralValue.divDecimal(totalShares); + } + + function _deleteLiquidityItem(bytes32 liquidityItemId, LiquidityItem storage liquidityItem) internal { + VaultData storage vaultData = _fundVaultStore().fundVaults[liquidityItem.fundId][liquidityItem.collateralType]; + + uint oldAmount = liquidityItem.collateralAmount; + uint oldSharesAmount = liquidityItem.shares; + // uint oldnitialDebt = liquidityItem.initialDebt; + // TODO check if is enabled to remove position comparing old and new data + + vaultData.liquidityItemIds.remove(liquidityItemId); + _fundVaultStore().accountliquidityItems[liquidityItem.accountId].remove(liquidityItemId); + + liquidityItem.collateralAmount = 0; + liquidityItem.shares = 0; + liquidityItem.initialDebt = 0; // how that works with amount adjustments? + + _fundVaultStore().liquidityItems[liquidityItemId] = liquidityItem; + + vaultData.totalShares -= oldSharesAmount; + vaultData.totalCollateral -= oldAmount; + + emit PositionRemoved(liquidityItemId, liquidityItem.accountId, liquidityItem.fundId, liquidityItem.collateralType); + } +} diff --git a/packages/synthetix-main/contracts/mixins/MarketManagerMixin.sol b/packages/synthetix-main/contracts/mixins/MarketManagerMixin.sol new file mode 100644 index 0000000000..a9ea97bf29 --- /dev/null +++ b/packages/synthetix-main/contracts/mixins/MarketManagerMixin.sol @@ -0,0 +1,107 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "../utils/SharesLibrary.sol"; +import "../interfaces/IMarket.sol"; + +import "../storage/MarketManagerStorage.sol"; + +contract MarketManagerMixin is MarketManagerStorage { + function _rebalanceMarket( + uint marketId, + uint fundId, + uint maxDebtShareValue, // (in USD) + uint amount // in collateralValue (USD) + ) internal { + // this function is called by the fund at rebalance markets + MarketData storage marketData = _marketManagerStore().markets[marketId]; + + // Adjust maxShareValue weighted average + _adjustMaxShareValue(marketData, fundId, maxDebtShareValue, amount); + + // Adjust fund shares + _adjustFundShares(marketData, fundId, amount); + } + + function _adjustMaxShareValue( + MarketData storage marketData, + uint fundId, + uint maxDebtShareValue, + uint amount + ) internal { + uint currentFundDebtShares = marketData.fundliquidityShares[fundId]; + uint newFundDebtShare = SharesLibrary.amountToShares( + marketData.totalLiquidityShares, + marketData.totalDelegatedCollateralValue, + amount + ); + + uint currentTotalDebtShares = marketData.totalLiquidityShares; + uint newTotalDebtShares = marketData.totalLiquidityShares - currentFundDebtShares + newFundDebtShare; + + uint currentFundMaxDebtShareValue = marketData.fundMaxDebtShareValue[fundId]; // here or from call data + + // Start calculations + uint currentMaxMarketDebtShare = marketData.maxMarketDebtShare; + uint newMaxMarketDebtShare = currentMaxMarketDebtShare - + ((currentFundMaxDebtShareValue * currentFundDebtShares) / currentTotalDebtShares) + + ((currentMaxMarketDebtShare * currentFundDebtShares) / currentTotalDebtShares); + + newMaxMarketDebtShare = + newMaxMarketDebtShare + + ((maxDebtShareValue * newFundDebtShare) / newTotalDebtShares) - + ((newMaxMarketDebtShare * newFundDebtShare) / newTotalDebtShares); + + marketData.fundMaxDebtShareValue[fundId] = maxDebtShareValue; + marketData.maxMarketDebtShare = newMaxMarketDebtShare; + } + + function _adjustFundShares( + MarketData storage marketData, + uint fundId, + uint amount + ) internal { + uint currentFundShares = marketData.fundliquidityShares[fundId]; + uint currentFundAmount = SharesLibrary.sharesToAmount( + marketData.totalLiquidityShares, + marketData.totalDelegatedCollateralValue, + currentFundShares + ); + + if (amount >= currentFundAmount) { + // liquidity provided by the fund increased. Add the delta + uint deltaAmount = amount - currentFundAmount; + uint deltaShares = SharesLibrary.amountToShares( + marketData.totalLiquidityShares, + marketData.totalDelegatedCollateralValue, + deltaAmount + ); + marketData.fundliquidityShares[fundId] += deltaShares; + marketData.fundInitialBalance[fundId] += int(deltaAmount); + marketData.totalLiquidityShares += deltaShares; + marketData.totalDelegatedCollateralValue += deltaAmount; + } else { + // liquidity provided by the fund decreased. Substract the delta + uint deltaAmount = currentFundAmount - amount; + uint deltaShares = SharesLibrary.amountToShares( + marketData.totalLiquidityShares, + marketData.totalDelegatedCollateralValue, + deltaAmount + ); + marketData.fundliquidityShares[fundId] -= deltaShares; + marketData.fundInitialBalance[fundId] -= int(deltaAmount); + marketData.totalLiquidityShares -= deltaShares; + marketData.totalDelegatedCollateralValue -= deltaAmount; + } + } + + // function _supplyTarget(uint marketId) internal view returns (uint) { + // return uint(int(_marketManagerStore().markets[marketId].totalDelegatedCollateralValue) + _totalBalance(marketId)); + // } + + function _totalBalance(uint marketId) internal view returns (int) { + return + IMarket(_marketManagerStore().markets[marketId].marketAddress).balance() + + _marketManagerStore().markets[marketId].issuance; + } +} diff --git a/packages/synthetix-main/contracts/mixins/USDMixin.sol b/packages/synthetix-main/contracts/mixins/USDMixin.sol new file mode 100644 index 0000000000..fde18ca637 --- /dev/null +++ b/packages/synthetix-main/contracts/mixins/USDMixin.sol @@ -0,0 +1,28 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "@synthetixio/core-contracts/contracts/errors/InitError.sol"; +import "../storage/USDTokenStorage.sol"; +import "../interfaces/IUSDToken.sol"; + +contract USDMixin is USDTokenStorage { + function _getUSDTokenAddress() internal view returns (address) { + return _USDTokenStore().usdToken.deployedAddress; + } + + function _getUSDToken() internal view returns (IUSDToken) { + return IUSDToken(_USDTokenStore().usdToken.deployedAddress); + } + + function _usdTokenInitialized() internal view returns (bool) { + return _USDTokenStore().initialized; + } + + modifier onlyIfUSDIsInitialized() { + if (!_usdTokenInitialized()) { + revert InitError.NotInitialized(); + } + + _; + } +} diff --git a/packages/synthetix-main/contracts/mocks/AccountRBACMixinModuleMockStorage.sol b/packages/synthetix-main/contracts/mocks/AccountRBACMixinModuleMockStorage.sol new file mode 100644 index 0000000000..5b3911c4d4 --- /dev/null +++ b/packages/synthetix-main/contracts/mocks/AccountRBACMixinModuleMockStorage.sol @@ -0,0 +1,15 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract AccountRBACMixinModuleMockStorage { + struct AccountRBACMixinModuleMockStore { + uint256 rbacValue; + } + + function _mixinModuleMockStore() internal pure returns (AccountRBACMixinModuleMockStore storage store) { + assembly { + // bytes32(uint(keccak256("io.synthetix.snx.accountrbacmixinmodule")) - 1) + store.slot := 0x1ce4ca68760c4591c093e69c4f3107e99b4faf6a64521759223b68428b166546 + } + } +} diff --git a/packages/synthetix-main/contracts/mocks/AggregatorV3Mock.sol b/packages/synthetix-main/contracts/mocks/AggregatorV3Mock.sol new file mode 100644 index 0000000000..a9e254e3b4 --- /dev/null +++ b/packages/synthetix-main/contracts/mocks/AggregatorV3Mock.sol @@ -0,0 +1,69 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "../interfaces/IAggregatorV3Interface.sol"; + +contract AggregatorV3Mock is IAggregatorV3Interface { + uint80 private _roundId; + uint private _timestamp; + uint private _price; + + function decimals() external pure override returns (uint8) { + return 18; + } + + function description() external pure override returns (string memory) { + return "Fake price feed"; + } + + function version() external pure override returns (uint256) { + return 3; + } + + function mockSetCurrentPrice(uint currentPrice) external { + _price = currentPrice; + _timestamp = block.timestamp; + _roundId++; + } + + // getRoundData and latestRoundData should both raise "No data present" + // if they do not have data to report, instead of returning unset values + // which could be misinterpreted as actual reported values. + function getRoundData(uint80 id) + external + view + override + returns ( + uint80 roundId, + int256 answer, + uint256 startedAt, + uint256 updatedAt, + uint80 answeredInRound + ) + { + return this.latestRoundData(); + } + + function latestRoundData() + external + view + override + returns ( + uint80 roundId, + int256 answer, + uint256 startedAt, + uint256 updatedAt, + uint80 answeredInRound + ) + { + return (_roundId, int(_price), _timestamp, _timestamp, _roundId); + } + + function setRoundId(uint80 roundId) external { + _roundId = roundId; + } + + function setTimestamp(uint timestamp) external { + _timestamp = timestamp; + } +} diff --git a/packages/synthetix-main/contracts/mocks/IAccountRBACMixinModuleMock.sol b/packages/synthetix-main/contracts/mocks/IAccountRBACMixinModuleMock.sol new file mode 100644 index 0000000000..47c8a70cfe --- /dev/null +++ b/packages/synthetix-main/contracts/mocks/IAccountRBACMixinModuleMock.sol @@ -0,0 +1,8 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +interface IAccountRBACMixinModuleMock { + function interactWithAccount(uint accountId, uint inputValue) external; + + function getRBACValue() external view returns (uint); +} diff --git a/packages/synthetix-main/contracts/mocks/MarketMock.sol b/packages/synthetix-main/contracts/mocks/MarketMock.sol new file mode 100644 index 0000000000..eaca80bf61 --- /dev/null +++ b/packages/synthetix-main/contracts/mocks/MarketMock.sol @@ -0,0 +1,54 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "@synthetixio/core-contracts/contracts/utils/MathUtil.sol"; +import "../interfaces/IMarket.sol"; +import "../interfaces/IMarketManagerModule.sol"; + +contract MarketMock is IMarket { + using MathUtil for uint256; + + int private _balance; + uint private _price; + + address private _proxy; + uint private _marketId; + + function initialize( + address proxy, + uint marketId, + uint initialPrice + ) external { + _proxy = proxy; + _marketId = marketId; + _price = initialPrice; + } + + function buySynth(uint amount) external { + _balance -= int(amount); + uint toDeposit = amount.divDecimal(_price); + IMarketManagerModule(_proxy).deposit(_marketId, msg.sender, toDeposit); + } + + function sellSynth(uint amount) external { + _balance += int(amount); + uint toDeposit = amount.divDecimal(_price); + IMarketManagerModule(_proxy).withdraw(_marketId, msg.sender, toDeposit); + } + + function setBalance(int newBalance) external { + _balance = newBalance; + } + + function balance() external view override returns (int) { + return _balance; + } + + function setPrice(uint newPrice) external { + _price = newPrice; + } + + function price() external view returns (uint) { + return _price; + } +} diff --git a/packages/synthetix-main/contracts/mocks/token/CollateralMock.sol b/packages/synthetix-main/contracts/mocks/token/CollateralMock.sol new file mode 100644 index 0000000000..35703b60bf --- /dev/null +++ b/packages/synthetix-main/contracts/mocks/token/CollateralMock.sol @@ -0,0 +1,22 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "@synthetixio/core-contracts/contracts/token/ERC20.sol"; + +contract CollateralMock is ERC20 { + function initialize( + string memory tokenName, + string memory tokenSymbol, + uint8 tokenDecimals + ) public { + _initialize(tokenName, tokenSymbol, tokenDecimals); + } + + function burn(uint256 amount) external { + _burn(msg.sender, amount); + } + + function mint(address recipient, uint256 amount) external { + _mint(recipient, amount); + } +} diff --git a/packages/synthetix-main/contracts/mocks/token/SNXTokenMock.sol b/packages/synthetix-main/contracts/mocks/token/SNXTokenMock.sol deleted file mode 100644 index cfc022b494..0000000000 --- a/packages/synthetix-main/contracts/mocks/token/SNXTokenMock.sol +++ /dev/null @@ -1,14 +0,0 @@ -//SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -import "../../token/SNXToken.sol"; - -contract SNXTokenMock is SNXToken { - function mint(uint256 amount) external { - _mint(msg.sender, amount); - } - - function burn(uint256 amount) external { - _burn(msg.sender, amount); - } -} diff --git a/packages/synthetix-main/contracts/mocks/token/USDTokenMock.sol b/packages/synthetix-main/contracts/mocks/token/USDTokenMock.sol new file mode 100644 index 0000000000..da929f92c8 --- /dev/null +++ b/packages/synthetix-main/contracts/mocks/token/USDTokenMock.sol @@ -0,0 +1,10 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "../../token/USDToken.sol"; + +contract USDTokenMock is USDToken { + function mint(uint256 amount) external { + _mint(msg.sender, amount); + } +} diff --git a/packages/synthetix-main/contracts/modules/AccountModule.sol b/packages/synthetix-main/contracts/modules/AccountModule.sol new file mode 100644 index 0000000000..4fdc6526c7 --- /dev/null +++ b/packages/synthetix-main/contracts/modules/AccountModule.sol @@ -0,0 +1,173 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "@synthetixio/core-contracts/contracts/ownership/OwnableMixin.sol"; +import "@synthetixio/core-contracts/contracts/proxy/UUPSProxy.sol"; +import "@synthetixio/core-contracts/contracts/initializable/InitializableMixin.sol"; +import "@synthetixio/core-contracts/contracts/satellite/SatelliteFactory.sol"; +import "../interfaces/IAccountModule.sol"; +import "../storage/AccountModuleStorage.sol"; + +import "../satellites/AccountToken.sol"; +import "../mixins/AccountRBACMixin.sol"; + +contract AccountModule is IAccountModule, OwnableMixin, AccountRBACMixin, InitializableMixin, SatelliteFactory { + using SetUtil for SetUtil.AddressSet; + using SetUtil for SetUtil.Bytes32Set; + + event AccountCreated(address accountAddress); + + event RoleGranted(uint accountId, bytes32 role, address target, address executedBy); + event RoleRevoked(uint accountId, bytes32 role, address target, address executedBy); + + error OnlyTokenProxyAllowed(address origin); + error InvalidRole(); + + // --------------------------------------- + // Chores + // --------------------------------------- + function _isInitialized() internal view override returns (bool) { + return _accountModuleStore().initialized; + } + + function isAccountModuleInitialized() external view override returns (bool) { + return _isInitialized(); + } + + function initializeAccountModule() external override onlyOwner onlyIfNotInitialized { + AccountModuleStore storage store = _accountModuleStore(); + + AccountToken firstImplementation = new AccountToken(); + + UUPSProxy accountProxy = new UUPSProxy(address(firstImplementation)); + + address accountProxyAddress = address(accountProxy); + AccountToken account = AccountToken(accountProxyAddress); + + account.nominateNewOwner(address(this)); + account.acceptOwnership(); + account.initialize("Synthetix Account", "synthethixAccount", "", address(this)); + + store.account = Satellite({ + name: "synthethixAccount", + contractName: "AccountToken", + deployedAddress: accountProxyAddress + }); + + store.initialized = true; + + emit AccountCreated(accountProxyAddress); + } + + function _getSatellites() internal view override returns (Satellite[] memory) { + Satellite[] memory satellites = new Satellite[](1); + satellites[0] = _accountModuleStore().account; + return satellites; + } + + function getAccountModuleSatellites() public view override returns (Satellite[] memory) { + return _getSatellites(); + } + + function upgradeAccountImplementation(address newAccountTokenImplementation) + external + override + onlyOwner + onlyIfInitialized + { + AccountToken(getAccountAddress()).upgradeTo(newAccountTokenImplementation); + } + + function getAccountAddress() public view override returns (address) { + return _accountModuleStore().account.deployedAddress; + } + + // --------------------------------------- + // Business Logic + // --------------------------------------- + function createAccount(uint256 accountId) external override { + AccountToken(getAccountAddress()).mint(msg.sender, accountId); + + _accountModuleStore().accountsRBAC[accountId].owner = msg.sender; + } + + function transferAccount(address to, uint256 accountId) external override onlyFromTokenProxy { + _accountModuleStore().accountsRBAC[accountId].owner = to; + } + + function hasRole( + uint256 accountId, + bytes32 role, + address target + ) public view override returns (bool) { + return _hasRole(accountId, role, target); + } + + function grantRole( + uint accountId, + bytes32 role, + address target + ) external override onlyRoleAuthorized(accountId, "modifyPermission") { + if (target == address(0)) { + revert AddressError.ZeroAddress(); + } + + if (role == "") { + revert InvalidRole(); + } + + AccountRBAC storage accountRbac = _accountModuleStore().accountsRBAC[accountId]; + + if (!accountRbac.permissionAddresses.contains(target)) { + accountRbac.permissionAddresses.add(target); + } + + accountRbac.permissions[target].add(role); + + emit RoleGranted(accountId, role, target, msg.sender); + } + + function revokeRole( + uint accountId, + bytes32 role, + address target + ) external override onlyRoleAuthorized(accountId, "modifyPermission") { + _revokeRole(accountId, role, target); + } + + function renounceRole( + uint accountId, + bytes32 role, + address target + ) external override { + if (msg.sender != target) { + revert RoleNotAuthorized(accountId, "renounceRole", target); + } + + _revokeRole(accountId, role, target); + } + + function _revokeRole( + uint accountId, + bytes32 role, + address target + ) internal { + AccountRBAC storage accountData = _accountModuleStore().accountsRBAC[accountId]; + + accountData.permissions[target].remove(role); + + if (accountData.permissions[target].length() == 0) { + accountData.permissionAddresses.remove(target); + } + + emit RoleRevoked(accountId, role, target, msg.sender); + } + + modifier onlyFromTokenProxy() { + if (msg.sender != getAccountAddress()) { + revert OnlyTokenProxyAllowed(msg.sender); + } + + _; + } +} diff --git a/packages/synthetix-main/contracts/modules/CollateralModule.sol b/packages/synthetix-main/contracts/modules/CollateralModule.sol new file mode 100644 index 0000000000..30094afb4d --- /dev/null +++ b/packages/synthetix-main/contracts/modules/CollateralModule.sol @@ -0,0 +1,195 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "@synthetixio/core-contracts/contracts/ownership/OwnableMixin.sol"; +import "@synthetixio/core-contracts/contracts/interfaces/IERC20.sol"; + +import "../interfaces/ICollateralModule.sol"; +import "../storage/CollateralStorage.sol"; +import "../mixins/AccountRBACMixin.sol"; +import "../mixins/CollateralMixin.sol"; + +contract CollateralModule is ICollateralModule, CollateralStorage, OwnableMixin, AccountRBACMixin, CollateralMixin { + using SetUtil for SetUtil.AddressSet; + + error OutOfBounds(); + + event CollateralAdjusted(address collateralType, address priceFeed, uint targetCRatio, uint minimumCRatio, bool enabled); + event CollateralStaked(uint accountId, address collateralType, uint amount, address executedBy); + event CollateralUnstaked(uint accountId, address collateralType, uint amount, address executedBy); + + function adjustCollateralType( + address collateralType, + address priceFeed, + uint targetCRatio, + uint minimumCRatio, + bool enabled + ) external override onlyOwner { + if (!_collateralStore().collaterals.contains(collateralType)) { + // Add a collateral entry + _collateralStore().collaterals.add(collateralType); + } + _collateralStore().collateralsData[collateralType].tokenAddress = collateralType; + _collateralStore().collateralsData[collateralType].targetCRatio = targetCRatio; + _collateralStore().collateralsData[collateralType].minimumCRatio = minimumCRatio; + _collateralStore().collateralsData[collateralType].priceFeed = priceFeed; + _collateralStore().collateralsData[collateralType].enabled = enabled; + + emit CollateralAdjusted(collateralType, priceFeed, targetCRatio, minimumCRatio, enabled); + } + + function getCollateralTypes(bool hideDisabled) + external + view + override + returns (CollateralStorage.CollateralData[] memory) + { + CollateralData[] memory collaterals = new CollateralData[](_collateralStore().collaterals.length()); + + uint collateralsIdx; + for (uint i = 0; i < _collateralStore().collaterals.length(); i++) { + address collateralType = _collateralStore().collaterals.valueAt(i + 1); + if (!hideDisabled || _collateralStore().collateralsData[collateralType].enabled) { + collaterals[collateralsIdx++] = _collateralStore().collateralsData[collateralType]; + } + } + + return collaterals; + } + + function getCollateralType(address collateralType) + external + view + override + returns (CollateralStorage.CollateralData memory) + { + CollateralData storage collateral = _collateralStore().collateralsData[collateralType]; + return collateral; + } + + ///////////////////////////////////////////////// + // STAKE / UNSTAKE + ///////////////////////////////////////////////// + + function stake( + uint accountId, + address collateralType, + uint amount + ) public override onlyRoleAuthorized(accountId, "stake") collateralEnabled(collateralType) { + StakedCollateralData storage collateralData = _collateralStore().stakedCollateralsDataByAccountId[accountId][ + collateralType + ]; + + // TODO Use SafeTransferFrom + IERC20(collateralType).transferFrom(_accountOwner(accountId), address(this), amount); + + if (!collateralData.isSet) { + // new collateral + collateralData.isSet = true; + collateralData.amount = amount; + } else { + collateralData.amount += amount; + } + + emit CollateralStaked(accountId, collateralType, amount, msg.sender); + } + + function unstake( + uint accountId, + address collateralType, + uint amount + ) public override onlyRoleAuthorized(accountId, "unstake") { + uint256 availableCollateral = getAccountUnstakebleCollateral(accountId, collateralType); + + if (availableCollateral < amount) { + revert InsufficientAvailableCollateral(accountId, collateralType, amount); + } + + StakedCollateralData storage collateralData = _collateralStore().stakedCollateralsDataByAccountId[accountId][ + collateralType + ]; + + collateralData.amount -= amount; + + emit CollateralUnstaked(accountId, collateralType, amount, msg.sender); + + // TODO Use SafeTransfer + IERC20(collateralType).transfer(_accountOwner(accountId), amount); + } + + function getAccountCollaterals(uint accountId) external view override returns (address[] memory collateralTypes) { + return _collateralStore().stakedCollateralsByAccountId[accountId].values(); + } + + function getAccountCollateralTotals(uint accountId, address collateralType) + external + view + override + returns ( + uint256 totalStaked, + uint256 totalAssigned, + uint256 totalLocked + ) + { + return _getAccountCollateralTotals(accountId, collateralType); + } + + function getAccountUnassignedCollateral(uint accountId, address collateralType) public view override returns (uint) { + return _getAccountUnassignedCollateral(accountId, collateralType); + } + + function getAccountUnstakebleCollateral(uint accountId, address collateralType) public view override returns (uint) { + (uint256 total, uint256 assigned, uint256 locked) = _getAccountCollateralTotals(accountId, collateralType); + + if (locked > assigned) { + return total - locked; + } + + return total - assigned; + } + + function cleanExpiredLocks( + uint accountId, + address collateralType, + uint offset, + uint items + ) external override { + _cleanExpiredLocks( + _collateralStore().stakedCollateralsDataByAccountId[accountId][collateralType].locks, + offset, + items + ); + } + + ///////////////////////////////////////////////// + // INTERNALS + ///////////////////////////////////////////////// + + function _cleanExpiredLocks( + StakedCollateralLock[] storage locks, + uint offset, + uint items + ) internal { + if (offset > locks.length || items > locks.length) { + revert OutOfBounds(); + } + + uint64 currentTime = uint64(block.timestamp); + + if (offset == 0 && items == 0) { + // not specified, use all array + items = locks.length; + } + + uint index = offset; + while (index < locks.length) { + if (locks[index].lockExpirationTime <= currentTime) { + // remove item + locks[index] = locks[locks.length - 1]; + locks.pop(); + } else { + index++; + } + } + } +} diff --git a/packages/synthetix-main/contracts/modules/FundConfigurationModule.sol b/packages/synthetix-main/contracts/modules/FundConfigurationModule.sol new file mode 100644 index 0000000000..4e79c42402 --- /dev/null +++ b/packages/synthetix-main/contracts/modules/FundConfigurationModule.sol @@ -0,0 +1,63 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "@synthetixio/core-contracts/contracts/ownership/OwnableMixin.sol"; + +import "../interfaces/IFundConfigurationModule.sol"; +import "../storage/FundConfigurationStorage.sol"; +import "../mixins/FundMixin.sol"; +import "../submodules/FundEventAndErrors.sol"; + +contract FundConfigurationModule is + IFundConfigurationModule, + FundConfigurationStorage, + FundEventAndErrors, + FundMixin, + OwnableMixin +{ + function setPreferredFund(uint fundId) external override onlyOwner fundExists(fundId) { + _fundConfigurationStore().preferredFund = fundId; + + emit PreferredFundSet(fundId); + } + + function getPreferredFund() external view override returns (uint) { + return _fundConfigurationStore().preferredFund; + } + + function addApprovedFund(uint fundId) external override onlyOwner fundExists(fundId) { + for (uint i = 0; i < _fundConfigurationStore().approvedFunds.length; i++) { + if (_fundConfigurationStore().approvedFunds[i] == fundId) { + revert FundAlreadyApproved(fundId); + } + } + + _fundConfigurationStore().approvedFunds.push(fundId); + + emit FundApprovedAdded(fundId); + } + + function removeApprovedFund(uint fundId) external override onlyOwner fundExists(fundId) { + bool found; + for (uint i = 0; i < _fundConfigurationStore().approvedFunds.length; i++) { + if (_fundConfigurationStore().approvedFunds[i] == fundId) { + _fundConfigurationStore().approvedFunds[i] = _fundConfigurationStore().approvedFunds[ + _fundConfigurationStore().approvedFunds.length - 1 + ]; + _fundConfigurationStore().approvedFunds.pop(); + found = true; + break; + } + } + + if (!found) { + revert FundNotFound(fundId); + } + + emit FundApprovedRemoved(fundId); + } + + function getApprovedFunds() external view override returns (uint[] memory) { + return _fundConfigurationStore().approvedFunds; + } +} diff --git a/packages/synthetix-main/contracts/modules/FundModule.sol b/packages/synthetix-main/contracts/modules/FundModule.sol new file mode 100644 index 0000000000..506babe8b8 --- /dev/null +++ b/packages/synthetix-main/contracts/modules/FundModule.sol @@ -0,0 +1,159 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "@synthetixio/core-contracts/contracts/ownership/OwnableMixin.sol"; +import "@synthetixio/core-contracts/contracts/errors/AccessError.sol"; +import "@synthetixio/core-contracts/contracts/errors/AddressError.sol"; + +import "../submodules/FundEventAndErrors.sol"; +import "../interfaces/IFundModule.sol"; +import "../storage/FundModuleStorage.sol"; + +import "../mixins/AccountRBACMixin.sol"; +import "../mixins/FundMixin.sol"; + +contract FundModule is IFundModule, FundEventAndErrors, AccountRBACMixin, FundMixin, OwnableMixin { + // --------------------------------------- + // Minting + // --------------------------------------- + modifier onlyFundOwner(uint fundId, address requestor) { + if (_ownerOf(fundId) != requestor) { + revert AccessError.Unauthorized(requestor); + } + + _; + } + + function createFund(uint requestedFundId, address owner) external override { + if (owner == address(0)) { + revert AddressError.ZeroAddress(); + } + + if (_exists(requestedFundId)) { + revert FundAlreadyExists(requestedFundId); + } + + _fundModuleStore().funds[requestedFundId].owner = owner; + + emit FundCreated(owner, requestedFundId); + } + + // --------------------------------------- + // Ownership + // --------------------------------------- + function nominateNewFundOwner(address nominatedOwner, uint256 fundId) + external + override + onlyFundOwner(fundId, msg.sender) + { + _fundModuleStore().funds[fundId].nominatedOwner = nominatedOwner; + + emit NominatedNewOwner(nominatedOwner, fundId); + } + + function acceptFundOwnership(uint256 fundId) external override { + if (_fundModuleStore().funds[fundId].nominatedOwner != msg.sender) { + revert AccessError.Unauthorized(msg.sender); + } + + _fundModuleStore().funds[fundId].owner = msg.sender; + _fundModuleStore().funds[fundId].nominatedOwner = address(0); + + emit OwnershipAccepted(msg.sender, fundId); + } + + function renounceFundNomination(uint256 fundId) external override { + if (_fundModuleStore().funds[fundId].nominatedOwner != msg.sender) { + revert AccessError.Unauthorized(msg.sender); + } + + _fundModuleStore().funds[fundId].nominatedOwner = address(0); + + emit OwnershipRenounced(msg.sender, fundId); + } + + function ownerOf(uint256 fundId) external view override returns (address) { + return _ownerOf(fundId); + } + + function nominatedOwnerOf(uint256 fundId) external view override returns (address) { + return _fundModuleStore().funds[fundId].nominatedOwner; + } + + // --------------------------------------- + // fund admin + // --------------------------------------- + function setFundPosition( + uint fundId, + uint[] calldata markets, + uint[] calldata weights, + uint[] calldata maxDebtShareValues + ) external override fundExists(fundId) onlyFundOwner(fundId, msg.sender) { + if (markets.length != weights.length || markets.length != maxDebtShareValues.length) { + revert InvalidParameters(); + } + + FundData storage fund = _fundModuleStore().funds[fundId]; + + // _rebalanceFund with second parameter in true will clean up the distribution + // TODO improve how the fund positions are changed and only update what is different + _rebalanceFundPositions(fundId, true); + + // Cleanup previous distribution + delete fund.fundDistribution; + fund.totalWeights = 0; + + for (uint i = 0; i < markets.length; i++) { + // TODO check if market exists when markets are created + MarketDistribution memory distribution; + distribution.market = markets[i]; + distribution.weight = weights[i]; + distribution.maxDebtShareValue = maxDebtShareValues[i]; + + fund.fundDistribution.push(distribution); + fund.totalWeights += weights[i]; + } + + _rebalanceFundPositions(fundId, false); + + emit FundPositionSet(fundId, markets, weights, msg.sender); + } + + function getFundPosition(uint fundId) + external + view + override + returns ( + uint[] memory, + uint[] memory, + uint[] memory + ) + { + FundData storage fund = _fundModuleStore().funds[fundId]; + + uint[] memory markets = new uint[](fund.fundDistribution.length); + uint[] memory weights = new uint[](fund.fundDistribution.length); + uint[] memory maxDebtShareValues = new uint[](fund.fundDistribution.length); + + for (uint i = 0; i < fund.fundDistribution.length; i++) { + markets[i] = fund.fundDistribution[i].market; + weights[i] = fund.fundDistribution[i].weight; + maxDebtShareValues[i] = fund.fundDistribution[i].maxDebtShareValue; + } + + return (markets, weights, maxDebtShareValues); + } + + function setFundName(uint fundId, string memory name) + external + override + fundExists(fundId) + onlyFundOwner(fundId, msg.sender) + { + _fundModuleStore().funds[fundId].name = name; + } + + function getFundName(uint fundId) external view override returns (string memory fundName) { + return _fundModuleStore().funds[fundId].name; + } +} diff --git a/packages/synthetix-main/contracts/modules/LiquidationModule.sol b/packages/synthetix-main/contracts/modules/LiquidationModule.sol new file mode 100644 index 0000000000..4bf27cfc57 --- /dev/null +++ b/packages/synthetix-main/contracts/modules/LiquidationModule.sol @@ -0,0 +1,55 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "../interfaces/ILiquidationModule.sol"; +import "../storage/LiquidationModuleStorage.sol"; + +import "../mixins/CollateralMixin.sol"; +import "../mixins/FundMixin.sol"; + +contract LiquidationsModule is ILiquidationModule, LiquidationModuleStorage, CollateralMixin, FundMixin { + function liquidate( + uint accountId, + uint fundId, + address collateralType + ) external override { + require(_isLiquidatable(accountId, fundId, collateralType), "Cannot liquidate"); + (uint accountDebt, uint collateral) = _accountDebtAndCollateral(accountId, fundId, collateralType); + + // _deleteLiquidityItem + // reallocate collateral + } + + function _isLiquidatable( + uint accountId, + uint fundId, + address collateralType + ) internal returns (bool) { + return _collateralizationRatio(accountId, fundId, collateralType) < _getCollateralMinimumCRatio(collateralType); + } + + function isLiquidatable( + uint accountId, + uint fundId, + address collateralType + ) external override returns (bool) { + return _isLiquidatable(accountId, fundId, collateralType); + } + + /* + function liquidateVault() { + // 'classic' style liquidation for entire value, partial liquidation allow + } + */ + + // move below to liqudations storage + + // NOTE FOR DB: At the point when the liqudiation occurs, can we look at the current value of the curve to alter the linear entry to 'smooth' it? + + function _vestedRewards(uint accountId, LiqudationInformation storage liquidationsCurve) internal view returns (uint) { + return + ((liquidationsCurve.accumulated - liquidationsCurve.initialAmount[accountId]) * + CurvesLibrary.calculateValueAtCurvePoint(liquidationsCurve.curve, block.timestamp)) / + CurvesLibrary.calculateValueAtCurvePoint(liquidationsCurve.curve, liquidationsCurve.curve.end); + } +} diff --git a/packages/synthetix-main/contracts/modules/MarketManagerModule.sol b/packages/synthetix-main/contracts/modules/MarketManagerModule.sol new file mode 100644 index 0000000000..2adbb4546b --- /dev/null +++ b/packages/synthetix-main/contracts/modules/MarketManagerModule.sol @@ -0,0 +1,119 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "@synthetixio/core-contracts/contracts/ownership/OwnableMixin.sol"; +import "@synthetixio/core-contracts/contracts/errors/AccessError.sol"; + +import "../interfaces/IMarketManagerModule.sol"; +import "../interfaces/IUSDToken.sol"; +import "../storage/MarketManagerStorage.sol"; + +import "../mixins/MarketManagerMixin.sol"; +import "../mixins/AccountRBACMixin.sol"; +import "../mixins/FundMixin.sol"; +import "../mixins/USDMixin.sol"; + +contract MarketManagerModule is IMarketManagerModule, MarketManagerStorage, MarketManagerMixin, USDMixin, OwnableMixin { + error MarketAlreadyRegistered(address market); + + event MarketRegistered(address market, uint marketId); + + error NotEnoughLiquidity(uint marketId, uint amount); + + function registerMarket(address market) external override returns (uint marketId) { + if (_marketManagerStore().marketIds[market] > 0) revert MarketAlreadyRegistered(market); + uint lastMarketId = _marketManagerStore().lastMarketId++; + marketId = lastMarketId + 1; + + _marketManagerStore().marketIds[market] = marketId; + _marketManagerStore().markets[marketId].marketAddress = market; + + emit MarketRegistered(market, marketId); + + return marketId; + } + + // function setSupplyTarget( + // uint marketId, + // uint fundId, + // uint amount // solhint-disable-next-line no-empty-blocks + // ) external override {} + + // function supplyTarget(uint marketId) external view override returns (uint) { + // return _supplyTarget(marketId); + // } + + // function _setLiquidity( + // uint marketId, + // uint fundId, + // uint amount // solhint-disable-next-line no-empty-blocks + // ) internal {} + + function liquidity(uint marketId) external view override returns (uint) { + return _availableLiquidity(marketId); + } + + function fundBalance(uint marketId, uint fundId) external view override returns (int) { + MarketData storage marketData = _marketManagerStore().markets[marketId]; + return + int((marketData.fundliquidityShares[fundId] / marketData.totalLiquidityShares)) * + (_totalBalance(marketId) - marketData.fundInitialBalance[fundId]); + } + + function totalBalance(uint marketId) external view override returns (int) { + return _totalBalance(marketId); + } + + // deposit will burn USD + function deposit( + uint marketId, + address target, + uint amount + ) external override { + // Consider re-implementing without allowance and just USD.transferFrom(msg.sender); + + MarketData storage marketData = _marketManagerStore().markets[marketId]; + + if (msg.sender != marketData.marketAddress) revert AccessError.Unauthorized(msg.sender); + + // verify if the market is authorized to burn the USD for the target + uint originalAllowance = _getUSDToken().allowance(target, msg.sender); + require(originalAllowance >= amount, "insufficient allowance"); + + // Adjust accounting + marketData.issuance -= int(amount); + + // burn USD + _getUSDToken().burn(target, amount); + + // Adjust allowance + _getUSDToken().setAllowance(target, msg.sender, originalAllowance - amount); + } + + // withdraw will mint USD + function withdraw( + uint marketId, + address target, + uint amount + ) external override { + MarketData storage marketData = _marketManagerStore().markets[marketId]; + + if (msg.sender != marketData.marketAddress) revert AccessError.Unauthorized(msg.sender); + + if (int(amount) > int(_availableLiquidity(marketId))) revert NotEnoughLiquidity(marketId, amount); + + // Adjust accounting + marketData.issuance += int(amount); + + // mint some USD + _getUSDToken().mint(target, amount); + } + + function _availableLiquidity(uint marketId) internal view returns (uint) { + MarketData storage marketData = _marketManagerStore().markets[marketId]; + + if (marketData.issuance > 0 && marketData.issuance >= int(marketData.totalDelegatedCollateralValue)) return 0; + + return uint(int(marketData.totalDelegatedCollateralValue) - marketData.issuance); + } +} diff --git a/packages/synthetix-main/contracts/modules/MulticallModule.sol b/packages/synthetix-main/contracts/modules/MulticallModule.sol new file mode 100644 index 0000000000..7d35078938 --- /dev/null +++ b/packages/synthetix-main/contracts/modules/MulticallModule.sol @@ -0,0 +1,26 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "../interfaces/IMulticallModule.sol"; + +// adapted from https://github.com/Uniswap/v3-periphery/blob/main/contracts/base/Multicall.sol +contract MulticallModule is IMulticallModule { + function multicall(bytes[] calldata data) public payable override returns (bytes[] memory results) { + results = new bytes[](data.length); + for (uint256 i = 0; i < data.length; i++) { + (bool success, bytes memory result) = address(this).delegatecall(data[i]); + + if (!success) { + // Next 6 lines from https://ethereum.stackexchange.com/a/83577 + // solhint-disable-next-line reason-string + if (result.length < 68) revert(); + assembly { + result := add(result, 0x04) + } + revert(abi.decode(result, (string))); + } + + results[i] = result; + } + } +} diff --git a/packages/synthetix-main/contracts/modules/SNXTokenModule.sol b/packages/synthetix-main/contracts/modules/SNXTokenModule.sol deleted file mode 100644 index bbeb32d5db..0000000000 --- a/packages/synthetix-main/contracts/modules/SNXTokenModule.sol +++ /dev/null @@ -1,61 +0,0 @@ -//SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -import "@synthetixio/core-contracts/contracts/ownership/OwnableMixin.sol"; -import "@synthetixio/core-contracts/contracts/proxy/UUPSProxy.sol"; -import "@synthetixio/core-contracts/contracts/initializable/InitializableMixin.sol"; -import "@synthetixio/core-contracts/contracts/satellite/SatelliteFactory.sol"; -import "../interfaces/ISNXTokenModule.sol"; -import "../storage/SNXTokenStorage.sol"; -import "../token/SNXToken.sol"; - -contract SNXTokenModule is ISNXTokenModule, OwnableMixin, SNXTokenStorage, InitializableMixin, SatelliteFactory { - event SNXTokenCreated(address snxAddress); - - function _isInitialized() internal view override returns (bool) { - return _snxTokenStore().initialized; - } - - function isSNXTokenModuleInitialized() external view override returns (bool) { - return _isInitialized(); - } - - function initializeSNXTokenModule() external override onlyOwner onlyIfNotInitialized { - SNXTokenStore storage store = _snxTokenStore(); - - SNXToken firstSNXTokenImplementation = new SNXToken(); - - UUPSProxy snxTokenProxy = new UUPSProxy(address(firstSNXTokenImplementation)); - - address snxTokenProxyAddress = address(snxTokenProxy); - SNXToken snxToken = SNXToken(snxTokenProxyAddress); - - snxToken.nominateNewOwner(address(this)); - snxToken.acceptOwnership(); - snxToken.initialize("Synthetix Network Token", "snx", 18); - - store.snxToken = Satellite({name: "snx", contractName: "SNXToken", deployedAddress: snxTokenProxyAddress}); - - store.initialized = true; - - emit SNXTokenCreated(snxTokenProxyAddress); - } - - function _getSatellites() internal view override returns (Satellite[] memory) { - Satellite[] memory satellites = new Satellite[](1); - satellites[0] = _snxTokenStore().snxToken; - return satellites; - } - - function getSNXTokenModuleSatellites() public view override returns (Satellite[] memory) { - return _getSatellites(); - } - - function upgradeSNXImplementation(address newSNXTokenImplementation) external override onlyOwner onlyIfInitialized { - SNXToken(getSNXTokenAddress()).upgradeTo(newSNXTokenImplementation); - } - - function getSNXTokenAddress() public view override returns (address) { - return _snxTokenStore().snxToken.deployedAddress; - } -} diff --git a/packages/synthetix-main/contracts/modules/SynthsModule.sol b/packages/synthetix-main/contracts/modules/SynthsModule.sol deleted file mode 100644 index 4b82f24fed..0000000000 --- a/packages/synthetix-main/contracts/modules/SynthsModule.sol +++ /dev/null @@ -1,105 +0,0 @@ -//SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -import "@synthetixio/core-contracts/contracts/proxy/Beacon.sol"; -import "@synthetixio/core-contracts/contracts/ownership/OwnableMixin.sol"; -import "@synthetixio/core-contracts/contracts/satellite/SatelliteFactory.sol"; -import "@synthetixio/core-contracts/contracts/proxy/BeaconProxy.sol"; -import "@synthetixio/core-contracts/contracts/initializable/InitializableMixin.sol"; -import "../interfaces/ISynthsModule.sol"; -import "../interfaces/ISynth.sol"; -import "../storage/SynthsStorage.sol"; -import "../token/Synth.sol"; - -contract SynthsModule is ISynthsModule, OwnableMixin, SynthsStorage, InitializableMixin, SatelliteFactory { - event BeaconCreated(address beacon); - event SynthImplementationCreated(address implementationAddress); - event SynthCreated(bytes32 synth, address synthAddress); - - error ImplementationNotSet(); - error SynthAlreadyCreated(); - - function _isInitialized() internal view override returns (bool) { - return _synthsStore().initialized; - } - - function isSynthsModuleInitialized() external view override returns (bool) { - return _isInitialized(); - } - - function initializeSynthsModule() external override onlyOwner onlyIfNotInitialized { - SynthsStore storage store = _synthsStore(); - - address beacon = address(new Beacon(address(this))); - store.beacon = beacon; - - store.initialized = true; - - emit BeaconCreated(beacon); - } - - function _getSatellites() internal view override returns (Satellite[] memory) { - SynthsStore storage store = _synthsStore(); - Satellite[] memory satellites = new Satellite[](store.synthNames.length); - - for (uint256 i = 0; i < store.synthNames.length; i++) { - satellites[i] = store.synths[store.synthNames[i]]; - } - - return satellites; - } - - function getSynthsModuleSatellites() public view override returns (Satellite[] memory) { - return _getSatellites(); - } - - function createSynth( - bytes32 synth, - string memory synthName, - string memory synthSymbol, - uint8 synthDecimals - ) external override onlyOwner onlyIfInitialized { - if (_synthsStore().synths[synth].deployedAddress != address(0)) { - revert SynthAlreadyCreated(); - } - - address beaconAddress = _synthsStore().beacon; - - if (Beacon(beaconAddress).getImplementation() == address(0)) { - revert ImplementationNotSet(); - } - - address synthAddress = address(new BeaconProxy(beaconAddress)); - - _synthsStore().synths[synth] = Satellite({name: synth, contractName: "ISynth", deployedAddress: synthAddress}); - _synthsStore().synthNames.push(synth); - - ISynth(synthAddress).initialize(synthName, synthSymbol, synthDecimals); - - emit SynthCreated(synth, synthAddress); - } - - function upgradeSynthImplementation(address newSynthsImplementation) external override onlyOwner onlyIfInitialized { - address beaconAddress = _synthsStore().beacon; - - Beacon(beaconAddress).upgradeTo(newSynthsImplementation); - } - - function createSynthImplementation() external override { - address implementationAddress = address(new Synth()); - - emit SynthImplementationCreated(implementationAddress); - } - - function getBeacon() external view override returns (address) { - return _synthsStore().beacon; - } - - function getSynthImplementation() external view override returns (address) { - return Beacon(_synthsStore().beacon).getImplementation(); - } - - function getSynth(bytes32 synth) external view override returns (address) { - return _synthsStore().synths[synth].deployedAddress; - } -} diff --git a/packages/synthetix-main/contracts/modules/USDTokenModule.sol b/packages/synthetix-main/contracts/modules/USDTokenModule.sol new file mode 100644 index 0000000000..c0ebc5d879 --- /dev/null +++ b/packages/synthetix-main/contracts/modules/USDTokenModule.sol @@ -0,0 +1,62 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "@synthetixio/core-contracts/contracts/ownership/OwnableMixin.sol"; +import "@synthetixio/core-contracts/contracts/proxy/UUPSProxy.sol"; +import "@synthetixio/core-contracts/contracts/initializable/InitializableMixin.sol"; +import "@synthetixio/core-contracts/contracts/satellite/SatelliteFactory.sol"; +import "../interfaces/IUSDTokenModule.sol"; +import "../storage/USDTokenStorage.sol"; +import "../token/USDToken.sol"; +import "../mixins/USDMixin.sol"; + +contract USDTokenModule is IUSDTokenModule, USDTokenStorage, USDMixin, OwnableMixin, InitializableMixin, SatelliteFactory { + event USDTokenCreated(address snxAddress); + + function _isInitialized() internal view override returns (bool) { + return _usdTokenInitialized(); + } + + function isUSDTokenModuleInitialized() external view override returns (bool) { + return _isInitialized(); + } + + function initializeUSDTokenModule() external override onlyOwner onlyIfNotInitialized { + USDTokenStore storage store = _USDTokenStore(); + + USDToken firstUSDTokenImplementation = new USDToken(); + + UUPSProxy usdTokenProxy = new UUPSProxy(address(firstUSDTokenImplementation)); + + address usdTokenProxyAddress = address(usdTokenProxy); + USDToken usdToken = USDToken(usdTokenProxyAddress); + + usdToken.nominateNewOwner(address(this)); + usdToken.acceptOwnership(); + usdToken.initialize("Synthetic USD Token v3", "USD", 18); + + store.usdToken = Satellite({name: "USD", contractName: "usdToken", deployedAddress: usdTokenProxyAddress}); + + store.initialized = true; + + emit USDTokenCreated(usdTokenProxyAddress); + } + + function _getSatellites() internal view override returns (Satellite[] memory) { + Satellite[] memory satellites = new Satellite[](1); + satellites[0] = _USDTokenStore().usdToken; + return satellites; + } + + function getUSDTokenModuleSatellites() public view override returns (Satellite[] memory) { + return _getSatellites(); + } + + function upgradeUSDImplementation(address newUSDTokenImplementation) external override onlyOwner onlyIfInitialized { + USDToken(getUSDTokenAddress()).upgradeTo(newUSDTokenImplementation); + } + + function getUSDTokenAddress() public view override returns (address) { + return _getUSDTokenAddress(); + } +} diff --git a/packages/synthetix-main/contracts/modules/VaultModule.sol b/packages/synthetix-main/contracts/modules/VaultModule.sol new file mode 100644 index 0000000000..9592bdfcf9 --- /dev/null +++ b/packages/synthetix-main/contracts/modules/VaultModule.sol @@ -0,0 +1,376 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "@synthetixio/core-contracts/contracts/ownership/OwnableMixin.sol"; +import "@synthetixio/core-contracts/contracts/errors/AccessError.sol"; +import "@synthetixio/core-contracts/contracts/utils/MathUtil.sol"; + +import "../mixins/AccountRBACMixin.sol"; +import "../mixins/FundMixin.sol"; +import "../mixins/USDMixin.sol"; + +import "../utils/SharesLibrary.sol"; + +import "../storage/FundVaultStorage.sol"; +import "../interfaces/IVaultModule.sol"; +import "../interfaces/IUSDToken.sol"; + +import "../submodules/FundEventAndErrors.sol"; + +contract VaultModule is + IVaultModule, + FundVaultStorage, + FundEventAndErrors, + AccountRBACMixin, + OwnableMixin, + USDMixin, + FundMixin +{ + using SetUtil for SetUtil.Bytes32Set; + using SetUtil for SetUtil.AddressSet; + using MathUtil for uint256; + + error InvalidLeverage(uint leverage); + + function delegateCollateral( + uint accountId, + uint fundId, + address collateralType, + uint amount, + uint leverage + ) external override onlyRoleAuthorized(accountId, "assign") collateralEnabled(collateralType) fundExists(fundId) { + // Fix leverage to 1 until it's enabled + if (leverage != 1) revert InvalidLeverage(leverage); + + bytes32 lid = _getLiquidityItemId(accountId, fundId, collateralType); + + VaultData storage vaultData = _fundVaultStore().fundVaults[fundId][collateralType]; + SetUtil.Bytes32Set storage liquidityItemIds = vaultData.liquidityItemIds; + + if (!liquidityItemIds.contains(lid)) { + if (_getAccountUnassignedCollateral(accountId, collateralType) < amount) { + revert InsufficientAvailableCollateral(accountId, collateralType, amount); + } + + // lid not found in set => new position + _addPosition(lid, accountId, fundId, collateralType, amount, leverage); + } else { + // Position found, need to adjust (increase, decrease or remove) + LiquidityItem storage liquidityItem = _fundVaultStore().liquidityItems[lid]; + + if ( + liquidityItem.accountId != accountId || + liquidityItem.collateralType != collateralType || + liquidityItem.fundId != fundId || + liquidityItem.leverage != leverage + ) { + // Wrong parameters (in fact should be another lid) but prefer to be on the safe side. Check and revert + revert InvalidParameters(); + } + + uint currentLiquidityAmount = liquidityItem.collateralAmount; + + if (amount == 0) { + _removePosition(lid, liquidityItem); + } else if (currentLiquidityAmount < amount) { + if (_getAccountUnassignedCollateral(accountId, collateralType) < amount - currentLiquidityAmount) { + revert InsufficientAvailableCollateral(accountId, collateralType, amount); + } + + _increasePosition(lid, liquidityItem, amount); + } else if (currentLiquidityAmount > amount) { + _decreasePosition(lid, liquidityItem, amount); + } else { + // no change + revert InvalidParameters(); + } + } + + _rebalanceFundPositions(fundId, false); + + emit DelegationUpdated(lid, accountId, fundId, collateralType, amount, leverage); + } + + function _addPosition( + bytes32 liquidityItemId, + uint accountId, + uint fundId, + address collateralType, + uint amount, + uint leverage + ) internal { + VaultData storage vaultData = _fundVaultStore().fundVaults[fundId][collateralType]; + uint collateralValue = amount * _getCollateralValue(collateralType); + + // Add liquidityItem into vault + vaultData.liquidityItemIds.add(liquidityItemId); + + // Add liquidityItem into accounts + _fundVaultStore().accountliquidityItems[accountId].add(liquidityItemId); + + // Add (if needed) collateral to fund + if (!_fundVaultStore().fundCollateralTypes[fundId].contains(collateralType)) { + _fundVaultStore().fundCollateralTypes[fundId].add(collateralType); + } + + uint shares = _calculateShares(fundId, collateralType, collateralValue, leverage); + uint initialDebt = _calculateInitialDebt(collateralValue, leverage); // how that works with amount adjustments? + + LiquidityItem memory liquidityItem; + liquidityItem.collateralType = collateralType; + liquidityItem.accountId = accountId; + liquidityItem.fundId = fundId; + liquidityItem.collateralAmount = amount; + liquidityItem.shares = shares; + liquidityItem.initialDebt = initialDebt; + liquidityItem.leverage = leverage; + + _fundVaultStore().liquidityItems[liquidityItemId] = liquidityItem; + + vaultData.totalShares += liquidityItem.shares; + vaultData.totalCollateral += amount; + + emit PositionAdded(liquidityItemId, accountId, fundId, collateralType, amount, leverage, shares, initialDebt); + } + + function _removePosition(bytes32 liquidityItemId, LiquidityItem storage liquidityItem) internal { + VaultData storage vaultData = _fundVaultStore().fundVaults[liquidityItem.fundId][liquidityItem.collateralType]; + + uint oldAmount = liquidityItem.collateralAmount; + uint oldSharesAmount = liquidityItem.shares; + // uint oldnitialDebt = liquidityItem.initialDebt; + // TODO check if is enabled to remove position comparing old and new data + + vaultData.liquidityItemIds.remove(liquidityItemId); + _fundVaultStore().accountliquidityItems[liquidityItem.accountId].remove(liquidityItemId); + + liquidityItem.collateralAmount = 0; + liquidityItem.shares = 0; + liquidityItem.initialDebt = 0; // how that works with amount adjustments? + + _fundVaultStore().liquidityItems[liquidityItemId] = liquidityItem; + + vaultData.totalShares -= oldSharesAmount; + vaultData.totalCollateral -= oldAmount; + + emit PositionRemoved(liquidityItemId, liquidityItem.accountId, liquidityItem.fundId, liquidityItem.collateralType); + } + + function _increasePosition( + bytes32 liquidityItemId, + LiquidityItem storage liquidityItem, + uint amount + ) internal { + uint oldAmount = liquidityItem.collateralAmount; + uint oldSharesAmount = liquidityItem.shares; + + VaultData storage vaultData = _fundVaultStore().fundVaults[liquidityItem.fundId][liquidityItem.collateralType]; + uint collateralValue = amount * _getCollateralValue(liquidityItem.collateralType); + + // TODO check if is enabled to remove position comparing old and new data + + uint shares = _calculateShares( + liquidityItem.fundId, + liquidityItem.collateralType, + collateralValue, + liquidityItem.leverage + ); + uint initialDebt = _calculateInitialDebt(collateralValue, liquidityItem.leverage); // how that works with amount adjustments? + + liquidityItem.collateralAmount = amount; + liquidityItem.shares = shares; + liquidityItem.initialDebt = initialDebt; + + _fundVaultStore().liquidityItems[liquidityItemId] = liquidityItem; + + vaultData.totalShares += liquidityItem.shares - oldSharesAmount; + vaultData.totalCollateral += amount - oldAmount; + + emit PositionIncreased( + liquidityItemId, + liquidityItem.fundId, + liquidityItem.collateralType, + amount, + liquidityItem.leverage, + shares, + initialDebt + ); + } + + function _decreasePosition( + bytes32 liquidityItemId, + LiquidityItem storage liquidityItem, + uint amount + ) internal { + VaultData storage vaultData = _fundVaultStore().fundVaults[liquidityItem.fundId][liquidityItem.collateralType]; + uint collateralValue = amount * _getCollateralValue(liquidityItem.collateralType); + + uint oldAmount = liquidityItem.collateralAmount; + uint oldSharesAmount = liquidityItem.shares; + // uint oldnitialDebt = liquidityItem.initialDebt; + // TODO check if is enabled to remove position comparing old and new data + + uint shares = _calculateShares( + liquidityItem.fundId, + liquidityItem.collateralType, + collateralValue, + liquidityItem.leverage + ); + uint initialDebt = _calculateInitialDebt(collateralValue, liquidityItem.leverage); // how that works with amount adjustments? + + liquidityItem.collateralAmount = amount; + liquidityItem.shares = shares; + liquidityItem.initialDebt = initialDebt; + + _fundVaultStore().liquidityItems[liquidityItemId] = liquidityItem; + + vaultData.totalShares -= oldSharesAmount - liquidityItem.shares; + vaultData.totalCollateral -= oldAmount - amount; + + emit PositionDecreased( + liquidityItemId, + liquidityItem.fundId, + liquidityItem.collateralType, + amount, + liquidityItem.leverage, + shares, + initialDebt + ); + } + + function _calculateShares( + uint fundId, + address collateralType, + uint collateralValue, + uint leverage + ) internal view returns (uint) { + uint leveragedCollateralValue = collateralValue * leverage; + uint totalShares = _totalShares(fundId, collateralType); + uint totalCollateralValue = _totalCollateral(fundId, collateralType); + + return SharesLibrary.amountToShares(totalShares, totalCollateralValue, leveragedCollateralValue); + } + + function _calculateInitialDebt(uint collateralValue, uint leverage) internal pure returns (uint) { + return leverage * collateralValue; + } + + // --------------------------------------- + // Mint/Burn USD + // --------------------------------------- + + function mintUSD( + uint accountId, + uint fundId, + address collateralType, + uint amount + ) external override onlyRoleAuthorized(accountId, "mint") onlyIfUSDIsInitialized { + // TODO Check if can mint that amount + + IUSDToken(_getUSDTokenAddress()).mint(msg.sender, amount); + _fundVaultStore().fundVaults[fundId][collateralType].usdByAccount[accountId] += amount; + _fundVaultStore().fundVaults[fundId][collateralType].totalUSD += amount; + } + + function burnUSD( + uint accountId, + uint fundId, + address collateralType, + uint amount + ) external override onlyRoleAuthorized(accountId, "burn") onlyIfUSDIsInitialized { + // TODO Check if can burn that amount + + IUSDToken(_getUSDTokenAddress()).burn(msg.sender, amount); + _fundVaultStore().fundVaults[fundId][collateralType].usdByAccount[accountId] -= amount; + _fundVaultStore().fundVaults[fundId][collateralType].totalUSD -= amount; + } + + // --------------------------------------- + // CRatio and Debt queries + // --------------------------------------- + + function collateralizationRatio( + uint accountId, + uint fundId, + address collateralType + ) external view override returns (uint) { + return _collateralizationRatio(fundId, accountId, collateralType); + } + + function accountFundCollateralValue( + uint accountId, + uint fundId, + address collateralType + ) external view override returns (uint) { + (, uint accountCollateralValue) = _accountDebtAndCollateral(accountId, fundId, collateralType); + return accountCollateralValue; + } + + function accountFundDebt( + uint accountId, + uint fundId, + address collateralType + ) external view override returns (uint) { + (uint accountDebt, ) = _accountDebtAndCollateral(accountId, fundId, collateralType); + return accountDebt; + } + + function fundDebt(uint fundId, address collateralType) public view override returns (uint) { + return + _totalShares(fundId, collateralType).mulDecimal(_debtPerShare(fundId, collateralType)) + + _fundVaultStore().fundVaults[fundId][collateralType].totalUSD; + } + + function totalDebtShares(uint fundId, address collateralType) external view override returns (uint) { + return _totalShares(fundId, collateralType); + } + + function debtPerShare(uint fundId, address collateralType) external view override returns (uint) { + return _debtPerShare(fundId, collateralType); + } + + function _debtPerShare(uint fundId, address collateralType) internal view returns (uint) { + return _perShareCollateral(fundId, collateralType).mulDecimal(_getCollateralValue(collateralType)); + } + + // --------------------------------------- + // Views + // --------------------------------------- + + function getLiquidityItem(bytes32 liquidityItemId) public view override returns (LiquidityItem memory liquidityItem) { + return _fundVaultStore().liquidityItems[liquidityItemId]; + } + + function getAccountLiquidityItemIds(uint accountId) public view override returns (bytes32[] memory liquidityItemIds) { + return _fundVaultStore().accountliquidityItems[accountId].values(); + } + + function getAccountLiquidityItems(uint accountId) + external + view + override + returns (LiquidityItem[] memory liquidityItems) + { + bytes32[] memory liquidityItemIds = getAccountLiquidityItemIds(accountId); + + liquidityItems = new LiquidityItem[](liquidityItemIds.length); + + for (uint i = 0; i < liquidityItemIds.length; i++) { + liquidityItems[i] = getLiquidityItem(liquidityItemIds[i]); + } + + return liquidityItems; + } + + // --------------------------------------- + // Helpers / Internals + // --------------------------------------- + + function _getLiquidityItemId( + uint accountId, + uint fundId, + address collateralType + ) internal pure returns (bytes32) { + return keccak256(abi.encodePacked(accountId, fundId, collateralType)); + } +} diff --git a/packages/synthetix-main/contracts/modules/mocks/AccountRBACMixinModuleMock.sol b/packages/synthetix-main/contracts/modules/mocks/AccountRBACMixinModuleMock.sol new file mode 100644 index 0000000000..c5ff89b30d --- /dev/null +++ b/packages/synthetix-main/contracts/modules/mocks/AccountRBACMixinModuleMock.sol @@ -0,0 +1,16 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "../../mixins/AccountRBACMixin.sol"; +import "../../mocks/IAccountRBACMixinModuleMock.sol"; +import "../../mocks/AccountRBACMixinModuleMockStorage.sol"; + +contract AccountRBACMixinModuleMock is IAccountRBACMixinModuleMock, AccountRBACMixinModuleMockStorage, AccountRBACMixin { + function interactWithAccount(uint accountId, uint inputValue) external override onlyRoleAuthorized(accountId, "stake") { + _mixinModuleMockStore().rbacValue = inputValue; + } + + function getRBACValue() external view override returns (uint) { + return _mixinModuleMockStore().rbacValue; + } +} diff --git a/packages/synthetix-main/contracts/satellites/AccountToken.sol b/packages/synthetix-main/contracts/satellites/AccountToken.sol new file mode 100644 index 0000000000..960172d7ef --- /dev/null +++ b/packages/synthetix-main/contracts/satellites/AccountToken.sol @@ -0,0 +1,71 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "@synthetixio/core-contracts/contracts/proxy/UUPSImplementation.sol"; +import "@synthetixio/core-contracts/contracts/ownership/Ownable.sol"; +import "@synthetixio/core-contracts/contracts/token/ERC721Enumerable.sol"; +import "@synthetixio/core-contracts/contracts/utils/AddressUtil.sol"; +import "@synthetixio/core-contracts/contracts/initializable/InitializableMixin.sol"; +import "@synthetixio/core-contracts/contracts/errors/AddressError.sol"; + +import "../interfaces/IAccountToken.sol"; +import "../storage/AccountTokenStorage.sol"; + +import "../interfaces/IAccountModule.sol"; + +contract AccountToken is + IAccountToken, + ERC721Enumerable, + AccountTokenStorage, + InitializableMixin, + UUPSImplementation, + Ownable +{ + event AccountMinted(address owner, uint accountId); + + // --------------------------------------- + // Chores + // --------------------------------------- + function _isInitialized() internal view override returns (bool) { + return _accountStore().initialized; + } + + function isAccountInitialized() external view returns (bool) { + return _isInitialized(); + } + + function initialize( + string memory tokenName, + string memory tokenSymbol, + string memory uri, + address mainProxy + ) public onlyOwner { + _initialize(tokenName, tokenSymbol, uri); + AccountStore storage store = _accountStore(); + + store.mainProxy = mainProxy; + store.initialized = true; + } + + function upgradeTo(address newImplementation) public override onlyOwner { + _upgradeTo(newImplementation); + } + + // --------------------------------------- + // Mint/Transfer + // --------------------------------------- + function mint(address owner, uint256 accountId) external override onlyOwner { + _mint(owner, accountId); + + emit AccountMinted(owner, accountId); + } + + function _postTransfer( + // solhint-disable-next-line no-unused-vars + address from, + address to, + uint256 accountId + ) internal virtual override { + IAccountModule(_accountStore().mainProxy).transferAccount(to, accountId); + } +} diff --git a/packages/synthetix-main/contracts/storage/AccountModuleStorage.sol b/packages/synthetix-main/contracts/storage/AccountModuleStorage.sol new file mode 100644 index 0000000000..ac1ee0de6a --- /dev/null +++ b/packages/synthetix-main/contracts/storage/AccountModuleStorage.sol @@ -0,0 +1,26 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "@synthetixio/core-contracts/contracts/satellite/SatelliteFactory.sol"; +import "@synthetixio/core-contracts/contracts/utils/SetUtil.sol"; + +contract AccountModuleStorage { + struct AccountModuleStore { + bool initialized; + SatelliteFactory.Satellite account; + mapping(uint256 => AccountRBAC) accountsRBAC; + } + + struct AccountRBAC { + address owner; + mapping(address => SetUtil.Bytes32Set) permissions; + SetUtil.AddressSet permissionAddresses; + } + + function _accountModuleStore() internal pure returns (AccountModuleStore storage store) { + assembly { + // bytes32(uint(keccak256("io.synthetix.snx.accountmodule")) - 1) + store.slot := 0xa02d1156ddedf1a9cbc88cd7ce7868a5600323fb301d1e51e70fd83a1b670815 + } + } +} diff --git a/packages/synthetix-main/contracts/storage/AccountTokenStorage.sol b/packages/synthetix-main/contracts/storage/AccountTokenStorage.sol new file mode 100644 index 0000000000..5fb48ac20f --- /dev/null +++ b/packages/synthetix-main/contracts/storage/AccountTokenStorage.sol @@ -0,0 +1,16 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract AccountTokenStorage { + struct AccountStore { + bool initialized; + address mainProxy; + } + + function _accountStore() internal pure returns (AccountStore storage store) { + assembly { + // bytes32(uint(keccak256("io.synthetix.snx.account")) - 1) + store.slot := 0xc8ca6284657224e913ed6965e10e3e3b51a0642aff2bbaaae02f526ca2fe92c7 + } + } +} diff --git a/packages/synthetix-main/contracts/storage/CollateralStorage.sol b/packages/synthetix-main/contracts/storage/CollateralStorage.sol new file mode 100644 index 0000000000..b064d5dccc --- /dev/null +++ b/packages/synthetix-main/contracts/storage/CollateralStorage.sol @@ -0,0 +1,41 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "@synthetixio/core-contracts/contracts/utils/SetUtil.sol"; + +contract CollateralStorage { + struct CollateralStore { + mapping(address => CollateralData) collateralsData; // CollateralData per collateralType (address) + SetUtil.AddressSet collaterals; // approved collaterals + // Staked Collaterals + mapping(uint => SetUtil.AddressSet) stakedCollateralsByAccountId; + mapping(uint => mapping(address => StakedCollateralData)) stakedCollateralsDataByAccountId; + } + + struct CollateralData { + bool enabled; + uint targetCRatio; + uint minimumCRatio; + address priceFeed; + address tokenAddress; + } + + struct StakedCollateralData { + bool isSet; + uint256 amount; // adjustable (stake/unstake) + uint256 assignedAmount; // adjustable (assign/unassign) + StakedCollateralLock[] locks; + } + + struct StakedCollateralLock { + uint256 amount; // adjustable (stake/unstake) + uint64 lockExpirationTime; // adjustable (assign/unassign) + } + + function _collateralStore() internal pure returns (CollateralStore storage store) { + assembly { + // bytes32(uint(keccak256("io.synthetix.snx.collateral")) - 1) + store.slot := 0x83916265e1b6c4fb3d473eee2163daacb5963240b78a5853da4fe894b73780a5 + } + } +} diff --git a/packages/synthetix-main/contracts/storage/FundConfigurationStorage.sol b/packages/synthetix-main/contracts/storage/FundConfigurationStorage.sol new file mode 100644 index 0000000000..37db3fc103 --- /dev/null +++ b/packages/synthetix-main/contracts/storage/FundConfigurationStorage.sol @@ -0,0 +1,16 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract FundConfigurationStorage { + struct FundConfigurationStore { + uint256 preferredFund; + uint256[] approvedFunds; + } + + function _fundConfigurationStore() internal pure returns (FundConfigurationStore storage store) { + assembly { + // bytes32(uint(keccak256("io.synthetix.snx.fundconfiguration")) - 1) + store.slot := 0xb8adeb43e9d46c86884aee3feb6064c199bae59704ba5a5030f8530e2e23ec5e + } + } +} diff --git a/packages/synthetix-main/contracts/storage/FundModuleStorage.sol b/packages/synthetix-main/contracts/storage/FundModuleStorage.sol new file mode 100644 index 0000000000..5e16b0136d --- /dev/null +++ b/packages/synthetix-main/contracts/storage/FundModuleStorage.sol @@ -0,0 +1,42 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract FundModuleStorage { + struct FundModuleStore { + mapping(uint256 => FundData) funds; // fund metadata by fundId + } + + struct FundData { + /// @dev fund owner + address owner; + /// @dev nominated fund owner + address nominatedOwner; + /// @dev sum of all distributions for the fund + uint256 totalWeights; // sum of distribution weights + /// @dev fund distribution + MarketDistribution[] fundDistribution; + /// @dev fund name + string name; + } + + /** + * Market Distribution is set by assigning weights to markets + * the proportion for a market is obtained as market_distribution / totalWeights + * where totalWeights is the sum of all MarketDistribution weights + */ + struct MarketDistribution { + /// @dev market baked by this fund + uint256 market; + /// @dev weight sent to that market + uint256 weight; + /// @dev cap on debt exposure for the market + uint256 maxDebtShareValue; + } + + function _fundModuleStore() internal pure returns (FundModuleStore storage store) { + assembly { + // bytes32(uint(keccak256("io.synthetix.snx.fundmodule")) - 1) + store.slot := 0x777921625cac3385fe90fd55ec5b9c58ada192ff82f029c62116f9fddf316bcd + } + } +} diff --git a/packages/synthetix-main/contracts/storage/FundVaultStorage.sol b/packages/synthetix-main/contracts/storage/FundVaultStorage.sol new file mode 100644 index 0000000000..f1abe3030c --- /dev/null +++ b/packages/synthetix-main/contracts/storage/FundVaultStorage.sol @@ -0,0 +1,42 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "@synthetixio/core-contracts/contracts/utils/SetUtil.sol"; + +import "../interfaces/IVaultModuleStorage.sol"; + +contract FundVaultStorage is IVaultModuleStorage { + struct FundVaultStore { + /// @dev account liquidity items + mapping(uint256 => SetUtil.Bytes32Set) accountliquidityItems; + /// @dev liquidity items data + mapping(bytes32 => LiquidityItem) liquidityItems; + /// @dev collateral types enabled/used per fund + mapping(uint256 => SetUtil.AddressSet) fundCollateralTypes; + /// @dev fund vaults (per collateral) + mapping(uint256 => mapping(address => VaultData)) fundVaults; + } + + struct VaultData { + /// @dev total shares distributed + uint256 totalShares; + /// @dev total liquidity delegated to this vault + uint256 totalCollateral; + /// @dev total USD minted + uint256 totalUSD; + /// @dev LiquidityItem ids in this fund + SetUtil.Bytes32Set liquidityItemIds; + // Accessory data to simplify views and calculations + /// @dev LiquidityItem ids by account + mapping(uint256 => SetUtil.Bytes32Set) liquidityItemsByAccount; + /// @dev minted USD + mapping(uint256 => uint256) usdByAccount; + } + + function _fundVaultStore() internal pure returns (FundVaultStore storage store) { + assembly { + // bytes32(uint(keccak256("io.synthetix.snx.fundvault")) - 1) + store.slot := 0xb2564d94a39cc75e0cf19479aee0e393bdff4e7a76990446a22fe065e062266a + } + } +} diff --git a/packages/synthetix-main/contracts/storage/LiquidationModuleStorage.sol b/packages/synthetix-main/contracts/storage/LiquidationModuleStorage.sol new file mode 100644 index 0000000000..e92970b1fd --- /dev/null +++ b/packages/synthetix-main/contracts/storage/LiquidationModuleStorage.sol @@ -0,0 +1,17 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "../interfaces/ILiquidationModule.sol"; + +contract LiquidationModuleStorage { + struct LiquidationModuleStore { + mapping(bytes32 => CurvesLibrary.PolynomialCurve) liquidationCurves; + } + + function _liquidationModuleStore() internal pure returns (LiquidationModuleStore storage store) { + assembly { + // bytes32(uint(keccak256("io.synthetix.snx.liquidationmodule")) - 1) + store.slot := 0x4bb341deb0ebc8ebdbadcce53ea1b8ef355fe539ca851ec9d632ae75685a6553 + } + } +} diff --git a/packages/synthetix-main/contracts/storage/MarketManagerStorage.sol b/packages/synthetix-main/contracts/storage/MarketManagerStorage.sol new file mode 100644 index 0000000000..562d8a904c --- /dev/null +++ b/packages/synthetix-main/contracts/storage/MarketManagerStorage.sol @@ -0,0 +1,29 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract MarketManagerStorage { + struct MarketManagerStore { + mapping(uint => MarketData) markets; + mapping(address => uint) marketIds; + uint lastMarketId; + } + + struct MarketData { + address marketAddress; + int256 issuance; // TODO this can be negative. How to deal with that? + uint256 totalDelegatedCollateralValue; + uint256 totalLiquidityShares; + uint256 maxMarketDebtShare; + // credit shares + mapping(uint => uint256) fundliquidityShares; + mapping(uint => int256) fundInitialBalance; + mapping(uint => uint256) fundMaxDebtShareValue; + } + + function _marketManagerStore() internal pure returns (MarketManagerStore storage store) { + assembly { + // bytes32(uint(keccak256("io.synthetix.snx.marketmanager")) - 1) + store.slot := 0x38077fe0897d5edca02a59b2d0aa55ba8c04cdd9bb648f71ac154665d97109cd + } + } +} diff --git a/packages/synthetix-main/contracts/storage/SNXTokenStorage.sol b/packages/synthetix-main/contracts/storage/SNXTokenStorage.sol deleted file mode 100644 index 7d0dcf1f58..0000000000 --- a/packages/synthetix-main/contracts/storage/SNXTokenStorage.sol +++ /dev/null @@ -1,18 +0,0 @@ -//SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -import "@synthetixio/core-contracts/contracts/satellite/SatelliteFactory.sol"; - -contract SNXTokenStorage { - struct SNXTokenStore { - bool initialized; - SatelliteFactory.Satellite snxToken; - } - - function _snxTokenStore() internal pure returns (SNXTokenStore storage store) { - assembly { - // bytes32(uint(keccak256("io.synthetix.snxtoken")) - 1) - store.slot := 0x78bc705d9580e2bf0ac5fbdf5c64af541a07733f726449b1d576f551ba6de571 - } - } -} diff --git a/packages/synthetix-main/contracts/storage/SynthsStorage.sol b/packages/synthetix-main/contracts/storage/SynthsStorage.sol deleted file mode 100644 index 24bcdd9b18..0000000000 --- a/packages/synthetix-main/contracts/storage/SynthsStorage.sol +++ /dev/null @@ -1,20 +0,0 @@ -//SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -import "@synthetixio/core-contracts/contracts/satellite/SatelliteFactory.sol"; - -contract SynthsStorage { - struct SynthsStore { - bool initialized; - address beacon; - mapping(bytes32 => SatelliteFactory.Satellite) synths; - bytes32[] synthNames; - } - - function _synthsStore() internal pure returns (SynthsStore storage store) { - assembly { - // bytes32(uint(keccak256("io.synthetix.synths")) - 1) - store.slot := 0x9fde256fa7e85ac1e971ef0dbc4acd7439598f5683a6dc8075abd053cd66adca - } - } -} diff --git a/packages/synthetix-main/contracts/storage/USDTokenStorage.sol b/packages/synthetix-main/contracts/storage/USDTokenStorage.sol new file mode 100644 index 0000000000..ecf6916269 --- /dev/null +++ b/packages/synthetix-main/contracts/storage/USDTokenStorage.sol @@ -0,0 +1,19 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "@synthetixio/core-contracts/contracts/satellite/SatelliteFactory.sol"; + +contract USDTokenStorage { + struct USDTokenStore { + bool initialized; + SatelliteFactory.Satellite usdToken; + } + + // solhint-disable-next-line func-name-mixedcase + function _USDTokenStore() internal pure returns (USDTokenStore storage store) { + assembly { + // bytes32(uint(keccak256("io.synthetix.USDtoken")) - 1) + store.slot := 0x2342c0bf00f8a01ac24cb928182ec53c26148864e7bdcf779533fd355508ddfd + } + } +} diff --git a/packages/synthetix-main/contracts/submodules/FundEventAndErrors.sol b/packages/synthetix-main/contracts/submodules/FundEventAndErrors.sol new file mode 100644 index 0000000000..3c141fda4d --- /dev/null +++ b/packages/synthetix-main/contracts/submodules/FundEventAndErrors.sol @@ -0,0 +1,60 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract FundEventAndErrors { + error FundAlreadyExists(uint fundId); + error InvalidParameters(); + error FundAlreadyApproved(uint fundId); + error FundNotFound(uint fundId); + error OnlyTokenProxyAllowed(address origin); + + event FundCreated(address owner, uint256 fundId); + event NominatedNewOwner(address nominatedOwner, uint256 fundId); + event OwnershipAccepted(address newOwner, uint256 fundId); + event OwnershipRenounced(address target, uint256 fundId); + + event PreferredFundSet(uint256 fundId); + event FundApprovedAdded(uint256 fundId); + event FundApprovedRemoved(uint256 fundId); + + event FundPositionSet(uint fundId, uint[] markets, uint[] weights, address executedBy); + event DelegationUpdated( + bytes32 liquidityItemId, + uint accountId, + uint fundId, + address collateralType, + uint amount, + uint leverage + ); + + event PositionAdded( + bytes32 liquidityItemId, + uint accountId, + uint fundId, + address collateralType, + uint amount, + uint leverage, + uint shares, + uint initialDebt + ); + event PositionRemoved(bytes32 liquidityItemId, uint accountId, uint fundId, address collateralType); + event PositionIncreased( + bytes32 liquidityItemId, + uint fundId, + address collateralType, + uint amount, + uint leverage, + uint shares, + uint initialDebt + ); + + event PositionDecreased( + bytes32 liquidityItemId, + uint fundId, + address collateralType, + uint amount, + uint leverage, + uint shares, + uint initialDebt + ); +} diff --git a/packages/synthetix-main/contracts/token/Synth.sol b/packages/synthetix-main/contracts/token/Synth.sol deleted file mode 100644 index fcb1f8fb0b..0000000000 --- a/packages/synthetix-main/contracts/token/Synth.sol +++ /dev/null @@ -1,15 +0,0 @@ -//SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -import "@synthetixio/core-contracts/contracts/token/ERC20.sol"; -import "../interfaces/ISynth.sol"; - -contract Synth is ERC20, ISynth { - function initialize( - string memory synthName, - string memory synthSymbol, - uint8 synthDecimals - ) external override { - _initialize(synthName, synthSymbol, synthDecimals); - } -} diff --git a/packages/synthetix-main/contracts/token/SNXToken.sol b/packages/synthetix-main/contracts/token/USDToken.sol similarity index 50% rename from packages/synthetix-main/contracts/token/SNXToken.sol rename to packages/synthetix-main/contracts/token/USDToken.sol index a793eee160..772b8bebb2 100644 --- a/packages/synthetix-main/contracts/token/SNXToken.sol +++ b/packages/synthetix-main/contracts/token/USDToken.sol @@ -4,8 +4,10 @@ pragma solidity ^0.8.0; import "@synthetixio/core-contracts/contracts/proxy/UUPSImplementation.sol"; import "@synthetixio/core-contracts/contracts/ownership/Ownable.sol"; import "@synthetixio/core-contracts/contracts/token/ERC20.sol"; +import "@synthetixio/core-contracts/contracts/errors/AccessError.sol"; +import "../interfaces/IUSDToken.sol"; -contract SNXToken is ERC20, UUPSImplementation, Ownable { +contract USDToken is IUSDToken, ERC20, UUPSImplementation, Ownable { function initialize( string memory tokenName, string memory tokenSymbol, @@ -17,4 +19,20 @@ contract SNXToken is ERC20, UUPSImplementation, Ownable { function upgradeTo(address newImplementation) public override onlyOwner { _upgradeTo(newImplementation); } + + function burn(address to, uint256 amount) external override onlyOwner { + _burn(to, amount); + } + + function mint(address to, uint256 amount) external override onlyOwner { + _mint(to, amount); + } + + function setAllowance( + address from, + address spender, + uint amount + ) external override onlyOwner { + _erc20Store().allowance[from][spender] = amount; + } } diff --git a/packages/synthetix-main/contracts/utils/CurvesLibrary.sol b/packages/synthetix-main/contracts/utils/CurvesLibrary.sol new file mode 100644 index 0000000000..673966baa2 --- /dev/null +++ b/packages/synthetix-main/contracts/utils/CurvesLibrary.sol @@ -0,0 +1,97 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "@synthetixio/core-contracts/contracts/utils/MathUtil.sol"; + +library CurvesLibrary { + using MathUtil for int256; + + error ValueOutOfRange(); + error InvalidPointsOrder(); + error InvalidCurve(); + + struct PolynomialCurve { + uint start; + uint end; + int a; + int b; + int c; + } + + struct Point { + uint x; + uint y; // Could it be negative? (in our practical case, not in theory) + } + + function calculateValueAtCurvePoint(PolynomialCurve memory curve, uint x) internal pure returns (uint y) { + if (x < curve.start || x > curve.end) revert ValueOutOfRange(); + int xInt = int(x); + return uint(curve.a.mulDecimal(xInt.mulDecimal(xInt)) + curve.b.mulDecimal(xInt) + curve.c); + } + + function combineCurves(PolynomialCurve memory c1, PolynomialCurve memory c2) + internal + view + returns (PolynomialCurve memory) + { + uint start = block.timestamp; + uint end1 = c1.end > c2.end ? c1.end : c2.end; + uint end2 = c1.end < c2.end ? c1.end : c2.end; + + // if both curves ends at the same time, pick a point in the middle + if (end1 == end2) { + end1 = start + (end2 - start) / 2; + } + + Point memory p1; + Point memory p2; + Point memory p3; + + p1.x = start; + p1.y = calculateValueAtCurvePoint(c1, start) + calculateValueAtCurvePoint(c2, start); + + p2.x = end2; + p2.y = calculateValueAtCurvePoint(c1, end2) + calculateValueAtCurvePoint(c2, end2); + + p3.x = end1; + p3.y = calculateValueAtCurvePoint(c1, end1) + calculateValueAtCurvePoint(c2, end1); + + return generateCurve(p1, p2, p3); + } + + function generateCurve( + Point memory p1, + Point memory p2, + Point memory p3 + ) internal pure returns (PolynomialCurve memory) { + // https://math.stackexchange.com/a/680695 + + if (p1.x >= p2.x || p2.x >= p3.x) revert InvalidPointsOrder(); // sanity check + if (p1.x < 0 || p1.y < 0 || p2.y < 0 || p3.y < 0) revert ValueOutOfRange(); // sanity check + + PolynomialCurve memory curve; + curve.start = p1.x; + curve.end = p3.x; + // Int values to do the maths + int p1x = int(p1.x); + int p2x = int(p2.x); + int p3x = int(p3.x); + int p1y = int(p1.y); + int p2y = int(p2.y); + int p3y = int(p3.y); + + curve.a = (p1x.mulDecimal(p3y - p2y) + p2x.mulDecimal(p1y - p3y) + p3x.mulDecimal(p2y - p1y)).divDecimal( + ((p1x - p2x).mulDecimal((p1x - p3x).mulDecimal(p2x - p3x))) + ); + curve.b = (p2y - p1y).divDecimal(p2x - p1x) - curve.a.mulDecimal(p1x + p2x); + curve.c = p1y - curve.a.mulDecimal(p1x.mulDecimal(p1x)) - curve.b.mulDecimal(p1x); + + // TODO REVIEW THIS SANITY CHECK + int testX = (-curve.b).divDecimal((curve.a * 2)); + require(testX < p1x && testX > p3x, "Function becomes negative"); // sanity check + // ???? ^ we already stablished that p1x < p3x => if textX is < p1x it can never be > p3x + // TODO change to use InvalidCurve() + + return curve; + } +} diff --git a/packages/synthetix-main/contracts/utils/SharesLibrary.sol b/packages/synthetix-main/contracts/utils/SharesLibrary.sol new file mode 100644 index 0000000000..76eeb323f4 --- /dev/null +++ b/packages/synthetix-main/contracts/utils/SharesLibrary.sol @@ -0,0 +1,20 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +library SharesLibrary { + function sharesToAmount( + uint totalShares, + uint totalAmount, + uint amount + ) internal pure returns (uint) { + return totalAmount == 0 ? amount : amount * (totalShares / totalAmount); + } + + function amountToShares( + uint totalShares, + uint totalAmount, + uint amount + ) internal pure returns (uint) { + return totalShares == 0 ? amount : (amount * totalShares) / totalAmount; + } +} diff --git a/packages/synthetix-main/hardhat.config.js b/packages/synthetix-main/hardhat.config.js index 68718cec8a..9ab554346d 100644 --- a/packages/synthetix-main/hardhat.config.js +++ b/packages/synthetix-main/hardhat.config.js @@ -1,8 +1,7 @@ const config = require('@synthetixio/common-config/hardhat.config.js'); -/** - * @type import('hardhat/config').HardhatUserConfig - */ +require('hardhat-cannon'); + module.exports = { ...config, deployer: { diff --git a/packages/synthetix-main/package.json b/packages/synthetix-main/package.json index aa199819aa..30ee2065a9 100644 --- a/packages/synthetix-main/package.json +++ b/packages/synthetix-main/package.json @@ -8,5 +8,15 @@ "coverage": "hardhat coverage", "compile-contracts": "hardhat compile", "size-contracts": "hardhat size-contracts" + }, + "keywords": [], + "author": "", + "license": "MIT", + "devDependencies": { + "@nomiclabs/hardhat-ethers": "2.0.5", + "hardhat": "2.9.3", + "hardhat-cannon": "1.0.22", + "hardhat-contract-sizer": "2.1.1", + "solidity-coverage": "0.7.17" } } diff --git a/packages/synthetix-main/test/contracts/modules/AccountModuleChores.test.js b/packages/synthetix-main/test/contracts/modules/AccountModuleChores.test.js new file mode 100644 index 0000000000..16f4b31920 --- /dev/null +++ b/packages/synthetix-main/test/contracts/modules/AccountModuleChores.test.js @@ -0,0 +1,104 @@ +const { ethers } = hre; +const assert = require('assert/strict'); +const assertRevert = require('@synthetixio/core-js/utils/assertions/assert-revert'); +const { findEvent } = require('@synthetixio/core-js/utils/ethers/events'); +const { bootstrap } = require('@synthetixio/deployer/utils/tests'); +const initializer = require('../../helpers/initializer'); + +describe('AccountModule - Chores', function () { + const { proxyAddress } = bootstrap(initializer); + + let owner; + + before('identify signers', async () => { + [owner] = await ethers.getSigners(); + }); + + describe('When creating the AccountToken', async () => { + let AccountModule, accountTokenAddress, AccountToken; + before('identify modules', async () => { + AccountModule = await ethers.getContractAt('AccountModule', proxyAddress()); + }); + + it('No AccountToken is deployed', async () => { + const address = await AccountModule.getAccountAddress(); + assert.equal(address, '0x0000000000000000000000000000000000000000'); + }); + + describe('When the Module is initialized (AccountToken is created)', () => { + let receipt; + before('Initialize (Create a AccountToken token)', async () => { + const tx = await AccountModule.connect(owner).initializeAccountModule(); + receipt = await tx.wait(); + }); + + before('Identify newly created AccountToken', async () => { + const event = findEvent({ receipt, eventName: 'AccountCreated' }); + accountTokenAddress = event.args.accountAddress; + AccountToken = await ethers.getContractAt('AccountToken', accountTokenAddress); + }); + + it('emmited an event', async () => { + assert.notEqual(accountTokenAddress, '0x0000000000000000000000000000000000000000'); + }); + + it('is initialized', async () => { + assert.equal(await AccountModule.isAccountModuleInitialized(), true); + }); + + it('gets the newly created address', async () => { + const address = await AccountModule.getAccountAddress(); + assert.equal(address, accountTokenAddress); + }); + + it('reads the AccountToken parameters', async () => { + assert.equal(await AccountToken.name(), 'Synthetix Account'); + assert.equal(await AccountToken.symbol(), 'synthethixAccount'); + }); + + it('gets the newly created satellite', async () => { + const results = await AccountModule.getAccountModuleSatellites(); + assert.equal(results.length, 1); + assert.equal(results[0].name, ethers.utils.formatBytes32String('synthethixAccount')); + assert.equal(results[0].contractName, ethers.utils.formatBytes32String('AccountToken')); + assert.equal(results[0].deployedAddress, accountTokenAddress); + }); + + describe('When attempting to create the AccountToken twice', () => { + it('reverts', async () => { + await assertRevert( + AccountModule.connect(owner).initializeAccountModule(), + 'AlreadyInitialized()' + ); + }); + }); + + describe('When attempting to upgrade to a new implementation', () => { + let AnotherAccount, NewAccount; + + before('Deploy new implementation', async () => { + const factory = await ethers.getContractFactory('AccountToken'); + AnotherAccount = await factory.deploy(); + }); + + before('Upgrade to new implementation', async () => { + const tx = await AccountModule.connect(owner).upgradeAccountImplementation( + AnotherAccount.address + ); + + await tx.wait(); + }); + + it('is upgraded', async () => { + NewAccount = await ethers.getContractAt('AccountToken', accountTokenAddress); + assert.equal(AnotherAccount.address, await NewAccount.getImplementation()); + }); + + it('reads the upgraded AccountToken parameters', async () => { + assert.equal(await NewAccount.name(), 'Synthetix Account'); + assert.equal(await NewAccount.symbol(), 'synthethixAccount'); + }); + }); + }); + }); +}); diff --git a/packages/synthetix-main/test/contracts/modules/AccountModuleToken.test.js b/packages/synthetix-main/test/contracts/modules/AccountModuleToken.test.js new file mode 100644 index 0000000000..11dafbf3e3 --- /dev/null +++ b/packages/synthetix-main/test/contracts/modules/AccountModuleToken.test.js @@ -0,0 +1,307 @@ +const { ethers } = hre; +const assert = require('assert/strict'); +const assertBn = require('@synthetixio/core-js/utils/assertions/assert-bignumber'); +const assertRevert = require('@synthetixio/core-js/utils/assertions/assert-revert'); +const { findEvent } = require('@synthetixio/core-js/utils/ethers/events'); +const { bootstrap } = require('@synthetixio/deployer/utils/tests'); +const initializer = require('../../helpers/initializer'); + +describe('AccountModule - AccountToken', function () { + const { proxyAddress } = bootstrap(initializer); + + let owner, user1, user2, userAdmin, user4; + + let AccountModule, accountTokenAddress, AccountToken; + + before('identify signers', async () => { + [owner, user1, user2, userAdmin, user4] = await ethers.getSigners(); + }); + + before('identify modules', async () => { + AccountModule = await ethers.getContractAt('AccountModule', proxyAddress()); + }); + + before('Initialize (Create a AccountToken token)', async () => { + await (await AccountModule.connect(owner).initializeAccountModule()).wait(); + accountTokenAddress = await AccountModule.getAccountAddress(); + + AccountToken = await ethers.getContractAt('AccountToken', accountTokenAddress); + }); + + describe('when attempting to mint an account token from the satellite', async () => { + it('reverts', async () => { + await assertRevert( + AccountToken.connect(user1).mint(user1.address, 1), + `Unauthorized("${user1.address}")` + ); + }); + }); + + describe('When minting an AccountToken', async () => { + let receipt; + + before('mint an accoun token', async () => { + const tx = await AccountModule.connect(user1).createAccount(1); + receipt = await tx.wait(); + }); + + it('emmited an event', async () => { + const event = findEvent({ receipt, eventName: 'AccountMinted', contract: AccountToken }); + + assert.equal(event.args.owner, user1.address); + assertBn.equal(event.args.accountId, 1); + }); + + it('is created', async () => { + assert.equal(await AccountToken.ownerOf(1), user1.address); + assertBn.equal(await AccountToken.balanceOf(user1.address), 1); + }); + + describe('when trying to mint the same AccountTokenId', () => { + it('reverts', async () => { + await assertRevert(AccountModule.connect(user2).createAccount(1), 'TokenAlreadyMinted(1)'); + }); + }); + + describe('when attempting to call transferAccount directly', async () => { + it('reverts', async () => { + await assertRevert( + AccountModule.connect(user1).transferAccount(user2.address, 1), + `OnlyTokenProxyAllowed("${user1.address}")` + ); + }); + }); + + describe('when granting roles', async () => { + describe('before granting access', async () => { + it('does not have granted roles', async () => { + assert.equal( + await AccountModule.hasRole( + 1, + ethers.utils.formatBytes32String('stake'), + user2.address + ), + false + ); + }); + }); + + describe('when attempting to assign a role when not authorized', async () => { + it('reverts', async () => { + await assertRevert( + AccountModule.connect(user2).grantRole( + 1, + ethers.utils.formatBytes32String('stake'), + user2.address + ), + `RoleNotAuthorized(1, "${ethers.utils.formatBytes32String('modifyPermission')}", "${ + user2.address + }")` + ); + }); + }); + + describe('when a role is granted/revoked', async () => { + before('grant a role', async () => { + const tx = await AccountModule.connect(user1).grantRole( + 1, + ethers.utils.formatBytes32String('stake'), + user2.address + ); + receipt = await tx.wait(); + }); + + it('emits an event', async () => { + const event = findEvent({ receipt, eventName: 'RoleGranted' }); + + assertBn.equal(event.args.accountId, 1); + assert.equal(event.args.role, ethers.utils.formatBytes32String('stake')); + assert.equal(event.args.target, user2.address); + assert.equal(event.args.executedBy, user1.address); + }); + + it('shows the role granted', async () => { + assert.equal( + await AccountModule.hasRole( + 1, + ethers.utils.formatBytes32String('stake'), + user2.address + ), + true + ); + }); + + describe('when revoking the role', async () => { + before('grant a role', async () => { + const tx = await AccountModule.connect(user1).revokeRole( + 1, + ethers.utils.formatBytes32String('stake'), + user2.address + ); + receipt = await tx.wait(); + }); + + it('emits an event', async () => { + const event = findEvent({ receipt, eventName: 'RoleRevoked' }); + + assertBn.equal(event.args.accountId, 1); + assert.equal(event.args.role, ethers.utils.formatBytes32String('stake')); + assert.equal(event.args.target, user2.address); + assert.equal(event.args.executedBy, user1.address); + }); + + it('shows the role was revoked', async () => { + assert.equal( + await AccountModule.hasRole( + 1, + ethers.utils.formatBytes32String('stake'), + user2.address + ), + false + ); + }); + }); + }); + + describe('when renouncing a role', async () => { + before('grant a role', async () => { + const tx = await AccountModule.connect(user1).grantRole( + 1, + ethers.utils.formatBytes32String('stake'), + user2.address + ); + receipt = await tx.wait(); + }); + + it('shows the role granted', async () => { + assert.equal( + await AccountModule.hasRole( + 1, + ethers.utils.formatBytes32String('stake'), + user2.address + ), + true + ); + }); + + describe('when attempting to renounce a role not granted', async () => { + it('reverts', async () => { + await assertRevert( + AccountModule.connect(user1).renounceRole( + 1, + ethers.utils.formatBytes32String('stake'), + user2.address + ), + `RoleNotAuthorized(1, "${ethers.utils.formatBytes32String('renounceRole')}", "${ + user2.address + }")` + ); + }); + }); + + describe('when renouncing the role', async () => { + before('grant a role', async () => { + const tx = await AccountModule.connect(user2).renounceRole( + 1, + ethers.utils.formatBytes32String('stake'), + user2.address + ); + receipt = await tx.wait(); + }); + + it('emits an event', async () => { + const event = findEvent({ receipt, eventName: 'RoleRevoked' }); + + assertBn.equal(event.args.accountId, 1); + assert.equal(event.args.role, ethers.utils.formatBytes32String('stake')); + assert.equal(event.args.target, user2.address); + assert.equal(event.args.executedBy, user2.address); + }); + + it('shows the role was revoked', async () => { + assert.equal( + await AccountModule.hasRole( + 1, + ethers.utils.formatBytes32String('stake'), + user2.address + ), + false + ); + }); + }); + }); + + describe('when a "modifyPermission" role holder tries to grant more access', () => { + before('grant "modifyPermission" role to userAdmin', async () => { + await ( + await AccountModule.connect(user1).grantRole( + 1, + ethers.utils.formatBytes32String('modifyPermission'), + userAdmin.address + ) + ).wait(); + }); + + before('grant another user a role', async () => { + const tx = await await AccountModule.connect(userAdmin).grantRole( + 1, + ethers.utils.formatBytes32String('another'), + user4.address + ); + receipt = await tx.wait(); + }); + + it('emit an event', async () => { + const event = findEvent({ receipt, eventName: 'RoleGranted' }); + + assertBn.equal(event.args.accountId, 1); + assert.equal(event.args.role, ethers.utils.formatBytes32String('another')); + assert.equal(event.args.target, user4.address); + assert.equal(event.args.executedBy, userAdmin.address); + }); + + it('role is granted', async () => { + assert.equal( + await AccountModule.hasRole( + 1, + ethers.utils.formatBytes32String('another'), + user4.address + ), + true + ); + }); + + describe('when an admin tries to revoke more access', () => { + before('revoke another user a role', async () => { + const tx = await await AccountModule.connect(userAdmin).revokeRole( + 1, + ethers.utils.formatBytes32String('another'), + user4.address + ); + receipt = await tx.wait(); + }); + + it('emit an event', async () => { + const event = findEvent({ receipt, eventName: 'RoleRevoked' }); + + assertBn.equal(event.args.accountId, 1); + assert.equal(event.args.role, ethers.utils.formatBytes32String('another')); + assert.equal(event.args.target, user4.address); + assert.equal(event.args.executedBy, userAdmin.address); + }); + + it('role is revoked', async () => { + assert.equal( + await AccountModule.hasRole( + 1, + ethers.utils.formatBytes32String('another'), + user4.address + ), + false + ); + }); + }); + }); + }); + }); +}); diff --git a/packages/synthetix-main/test/contracts/modules/AccountRBACMixin.test.js b/packages/synthetix-main/test/contracts/modules/AccountRBACMixin.test.js new file mode 100644 index 0000000000..b7d07e2cf3 --- /dev/null +++ b/packages/synthetix-main/test/contracts/modules/AccountRBACMixin.test.js @@ -0,0 +1,141 @@ +const { ethers } = hre; +const assert = require('assert/strict'); +const assertBn = require('@synthetixio/core-js/utils/assertions/assert-bignumber'); +const assertRevert = require('@synthetixio/core-js/utils/assertions/assert-revert'); +const { bootstrap } = require('@synthetixio/deployer/utils/tests'); +const initializer = require('../../helpers/initializer'); + +describe('AccountRBACMixin', function () { + const { proxyAddress } = bootstrap(initializer); + + let owner, user1, user2, user3; + + let AccountModule, accountTokenAddress, AccountToken; + let AccountRBACMixinMock; + + before('identify signers', async () => { + [owner, user1, user2, user3] = await ethers.getSigners(); + }); + + before('identify modules', async () => { + AccountModule = await ethers.getContractAt('AccountModule', proxyAddress()); + await (await AccountModule.connect(owner).initializeAccountModule()).wait(); + accountTokenAddress = await AccountModule.getAccountAddress(); + + AccountToken = await ethers.getContractAt('AccountToken', accountTokenAddress); + + AccountRBACMixinMock = await ethers.getContractAt('AccountRBACMixinModuleMock', proxyAddress()); + }); + + before('mint an account token', async () => { + await (await AccountModule.connect(user1).createAccount(1)).wait(); + }); + + it('is minted', async () => { + assert.equal(await AccountToken.ownerOf(1), user1.address); + assertBn.equal(await AccountToken.balanceOf(user1.address), 1); + }); + + describe('when accessing as owner', () => { + it('can interact with the contract', async () => { + await (await AccountRBACMixinMock.connect(user1).interactWithAccount(1, 42)).wait(); + assertBn.equal(await AccountRBACMixinMock.getRBACValue(), 42); + }); + + describe('when attempting to interact as non owner', async () => { + it('reverts', async () => { + await assertRevert( + AccountRBACMixinMock.connect(user2).interactWithAccount(1, 1337), + `RoleNotAuthorized(1, "${ethers.utils.formatBytes32String('stake')}", "${user2.address}")` + ); + }); + }); + + describe('when transfering ownership of accountToken', async () => { + before('transfer to user2', async () => { + await ( + await AccountToken.connect(user1).transferFrom(user1.address, user2.address, 1) + ).wait(); + }); + + after('transfer back to user1', async () => { + await ( + await AccountToken.connect(user2).transferFrom(user2.address, user1.address, 1) + ).wait(); + }); + + it('can interact with the contract', async () => { + await (await AccountRBACMixinMock.connect(user2).interactWithAccount(1, 43)).wait(); + assertBn.equal(await AccountRBACMixinMock.getRBACValue(), 43); + }); + + describe('when attempting to interact as non owner', async () => { + it('reverts', async () => { + await assertRevert( + AccountRBACMixinMock.connect(user1).interactWithAccount(1, 1337), + `RoleNotAuthorized(1, "${ethers.utils.formatBytes32String('stake')}", "${ + user1.address + }")` + ); + }); + }); + }); + + describe('when granting access', async () => { + before('grant access to some users', async () => { + await ( + await AccountModule.connect(user1).grantRole( + 1, + ethers.utils.formatBytes32String('stake'), + user2.address + ) + ).wait(); + + await ( + await AccountModule.connect(user1).grantRole( + 1, + ethers.utils.formatBytes32String('otherRole'), + user3.address + ) + ).wait(); + }); + + it('can interact with the contract', async () => { + await (await AccountRBACMixinMock.connect(user2).interactWithAccount(1, 44)).wait(); + assertBn.equal(await AccountRBACMixinMock.getRBACValue(), 44); + }); + + describe('when attempting to interact as non owner / non authorized with that role', async () => { + it('reverts', async () => { + await assertRevert( + AccountRBACMixinMock.connect(user3).interactWithAccount(1, 1337), + `RoleNotAuthorized(1, "${ethers.utils.formatBytes32String('stake')}", "${ + user3.address + }")` + ); + }); + }); + + describe('when attempting to access after the role was revoked', async () => { + before('revoke access to user2', async () => { + await ( + await AccountModule.connect(user1).revokeRole( + 1, + ethers.utils.formatBytes32String('stake'), + user2.address + ) + ).wait(); + }); + + it('reverts', async () => { + await assertRevert( + AccountRBACMixinMock.connect(user2).interactWithAccount(1, 1337), + `RoleNotAuthorized(1, "${ethers.utils.formatBytes32String('stake')}", "${ + user2.address + }")` + ); + }); + }); + }); + }); +}); diff --git a/packages/synthetix-main/test/contracts/modules/CollateralModuleConfiguration.test.js b/packages/synthetix-main/test/contracts/modules/CollateralModuleConfiguration.test.js new file mode 100644 index 0000000000..463a4599ba --- /dev/null +++ b/packages/synthetix-main/test/contracts/modules/CollateralModuleConfiguration.test.js @@ -0,0 +1,201 @@ +const { ethers } = hre; +const assert = require('assert/strict'); +const assertBn = require('@synthetixio/core-js/utils/assertions/assert-bignumber'); +const assertRevert = require('@synthetixio/core-js/utils/assertions/assert-revert'); +const { bootstrap } = require('@synthetixio/deployer/utils/tests'); +const initializer = require('../../helpers/initializer'); + +describe('CollateralModule Configuration (SCCP)', function () { + const { proxyAddress } = bootstrap(initializer); + + let CollateralModule; + let Collateral, CollateralPriceFeed; + + let systemOwner, user1; + + before('identify signers', async () => { + [systemOwner] = await ethers.getSigners(); + [, user1] = await ethers.getSigners(); + }); + + before('identify contract', async () => { + CollateralModule = await ethers.getContractAt('CollateralModule', proxyAddress()); + }); + + before('add one collateral', async () => { + let factory; + + factory = await ethers.getContractFactory('CollateralMock'); + Collateral = await factory.deploy(); + + await (await Collateral.connect(systemOwner).initialize('Synthetix Token', 'SNX', 18)).wait(); + + factory = await ethers.getContractFactory('AggregatorV3Mock'); + CollateralPriceFeed = await factory.deploy(); + + await (await CollateralPriceFeed.connect(systemOwner).mockSetCurrentPrice(1)).wait(); + + await ( + await CollateralModule.connect(systemOwner).adjustCollateralType( + Collateral.address, + CollateralPriceFeed.address, + 400, + 200, + false + ) + ).wait(); + }); + + it('is well configured', async () => { + assert.equal( + (await CollateralModule.getCollateralTypes(false))[0].tokenAddress, + Collateral.address + ); + + const collateralType = await CollateralModule.getCollateralType(Collateral.address); + console.log(collateralType); + + assert.equal(collateralType.tokenAddress, Collateral.address); + assert.equal(collateralType.priceFeed, CollateralPriceFeed.address); + assertBn.equal(collateralType.targetCRatio, 400); + assertBn.equal(collateralType.minimumCRatio, 200); + assert.equal(collateralType.enabled, false); + }); + + describe('When the systemOwner adds another collaterals', () => { + let AnotherCollateral, AnotherCollateralPriceFeed; + before('add another collateral', async () => { + let factory; + + factory = await ethers.getContractFactory('CollateralMock'); + AnotherCollateral = await factory.deploy(); + await ( + await AnotherCollateral.connect(systemOwner).initialize('Another Token', 'ANT', 18) + ).wait(); + + factory = await ethers.getContractFactory('AggregatorV3Mock'); + AnotherCollateralPriceFeed = await factory.deploy(); + + await (await AnotherCollateralPriceFeed.connect(systemOwner).mockSetCurrentPrice(100)).wait(); + + const tx = await CollateralModule.connect(systemOwner).adjustCollateralType( + AnotherCollateral.address, + AnotherCollateralPriceFeed.address, + 400, + 200, + false + ); + await tx.wait(); + }); + + it('is added', async () => { + const collaterals = await CollateralModule.getCollateralTypes(false); + assert.equal(collaterals[1].tokenAddress, AnotherCollateral.address); + }); + + it('has the right configuration', async () => { + const collateralType = await CollateralModule.getCollateralType(AnotherCollateral.address); + assert.equal(collateralType.priceFeed, AnotherCollateralPriceFeed.address); + assertBn.equal(collateralType.targetCRatio, 400); + assertBn.equal(collateralType.minimumCRatio, 200); + assert.equal(collateralType.enabled, false); + }); + + describe('When the systemOwner updates the new collateral data', () => { + before('updates the collateral', async () => { + const tx = await CollateralModule.connect(systemOwner).adjustCollateralType( + AnotherCollateral.address, + AnotherCollateralPriceFeed.address, + 300, + 250, + false + ); + await tx.wait(); + }); + + it('is updated', async () => { + const collateralType = await CollateralModule.getCollateralType(AnotherCollateral.address); + assert.equal(collateralType.priceFeed, AnotherCollateralPriceFeed.address); + assertBn.equal(collateralType.targetCRatio, 300); + assertBn.equal(collateralType.minimumCRatio, 250); + assert.equal(collateralType.enabled, false); + }); + }); + + describe('When the systemOwner disables the new collateral', () => { + before('disables the collateral', async () => { + const tx = await CollateralModule.connect(systemOwner).adjustCollateralType( + AnotherCollateral.address, + AnotherCollateralPriceFeed.address, + 400, + 200, + false + ); + await tx.wait(); + }); + + it('is not shown in enabled list', async () => { + const allCollaterals = await CollateralModule.getCollateralTypes(false); + const enabledCollaterals = await CollateralModule.getCollateralTypes(true); + + assert.equal( + allCollaterals.some((v) => v.tokenAddress === AnotherCollateral.address), + true + ); + assert.equal( + enabledCollaterals.some((v) => v.tokenAddress === AnotherCollateral.address), + false + ); + }); + + it('is disabled', async () => { + const collateralType = await CollateralModule.getCollateralType(AnotherCollateral.address); + assert.equal(collateralType.enabled, false); + }); + }); + }); + + describe('When another user attempts to interact with collaterals', () => { + let OtherCollateral, OtherCollateralPriceFeed; + before('create the other collateral', async () => { + let factory; + + factory = await ethers.getContractFactory('CollateralMock'); + OtherCollateral = await factory.deploy(); + await ( + await OtherCollateral.connect(systemOwner).initialize('Another Token', 'ANT', 18) + ).wait(); + + factory = await ethers.getContractFactory('AggregatorV3Mock'); + OtherCollateralPriceFeed = await factory.deploy(); + + await (await OtherCollateralPriceFeed.connect(systemOwner).mockSetCurrentPrice(100)).wait(); + }); + + it('reverts when attempting to add', async () => { + await assertRevert( + CollateralModule.connect(user1).adjustCollateralType( + OtherCollateral.address, + OtherCollateralPriceFeed.address, + 400, + 200, + false + ), + `Unauthorized("${user1.address}")` + ); + }); + + it('reverts when attempting to update', async () => { + await assertRevert( + CollateralModule.connect(user1).adjustCollateralType( + Collateral.address, + CollateralPriceFeed.address, + 300, + 250, + false + ), + `Unauthorized("${user1.address}")` + ); + }); + }); +}); diff --git a/packages/synthetix-main/test/contracts/modules/CollateralModuleStake.test.js b/packages/synthetix-main/test/contracts/modules/CollateralModuleStake.test.js new file mode 100644 index 0000000000..1cdfd1f87e --- /dev/null +++ b/packages/synthetix-main/test/contracts/modules/CollateralModuleStake.test.js @@ -0,0 +1,310 @@ +const { ethers } = hre; +const assert = require('assert/strict'); +const assertBn = require('@synthetixio/core-js/utils/assertions/assert-bignumber'); +const assertRevert = require('@synthetixio/core-js/utils/assertions/assert-revert'); +const { findEvent } = require('@synthetixio/core-js/utils/ethers/events'); +const { bootstrap } = require('@synthetixio/deployer/utils/tests'); +const initializer = require('../../helpers/initializer'); + +describe('CollateralModule Stake', function () { + const { proxyAddress } = bootstrap(initializer); + + let CollateralModule; + let Collateral, CollateralPriceFeed; + let AccountModule, AccountToken, accountTokenAddress; + + let owner, user1, user2, user3, user4; + + before('identify signers', async () => { + [owner] = await ethers.getSigners(); + [, user1, user2, user3, user4] = await ethers.getSigners(); + }); + + before('identify contracts', async () => { + CollateralModule = await ethers.getContractAt('CollateralModule', proxyAddress()); + AccountModule = await ethers.getContractAt('AccountModule', proxyAddress()); + await (await AccountModule.connect(owner).initializeAccountModule()).wait(); + accountTokenAddress = await AccountModule.getAccountAddress(); + + AccountToken = await ethers.getContractAt('AccountToken', accountTokenAddress); + }); + + before('add one collateral', async () => { + let factory; + + factory = await ethers.getContractFactory('CollateralMock'); + Collateral = await factory.deploy(); + + await (await Collateral.connect(owner).initialize('Synthetix Token', 'SNX', 18)).wait(); + + factory = await ethers.getContractFactory('AggregatorV3Mock'); + CollateralPriceFeed = await factory.deploy(); + + await (await CollateralPriceFeed.connect(owner).mockSetCurrentPrice(1)).wait(); + + await ( + await CollateralModule.connect(owner).adjustCollateralType( + Collateral.address, + CollateralPriceFeed.address, + 400, + 200, + true + ) + ).wait(); + }); + + before('mint some account tokens', async () => { + await (await AccountModule.connect(user1).createAccount(1)).wait(); + await (await AccountModule.connect(user2).createAccount(2)).wait(); + }); + + before('mint some collateral to the user', async () => { + await (await Collateral.mint(user1.address, 1000)).wait(); + await (await Collateral.mint(user2.address, 1000)).wait(); + }); + + before('approve AccountModule to operate with the user collateral', async () => { + await ( + await Collateral.connect(user1).approve(AccountModule.address, ethers.constants.MaxUint256) + ).wait(); + await ( + await Collateral.connect(user2).approve(AccountModule.address, ethers.constants.MaxUint256) + ).wait(); + }); + + it('is well configured', async () => { + assert.equal( + (await CollateralModule.getCollateralTypes(false))[0].tokenAddress, + Collateral.address + ); + + const collateralType = await CollateralModule.getCollateralType(Collateral.address); + + assert.equal(collateralType.priceFeed, CollateralPriceFeed.address); + assertBn.equal(collateralType.targetCRatio, 400); + assertBn.equal(collateralType.minimumCRatio, 200); + assert.equal(collateralType.enabled, true); + }); + + describe('when some collateral is staked', () => { + let receipt; + describe('sanity check', async () => { + it('AccountTokens has the right balance', async () => { + assertBn.equal(await Collateral.balanceOf(user1.address), 1000); + assertBn.equal(await Collateral.balanceOf(user2.address), 1000); + assertBn.equal(await Collateral.balanceOf(CollateralModule.address), 0); + }); + }); + + describe('when attempting to stake more than available collateral', () => { + it('reverts', async () => { + await assertRevert( + CollateralModule.connect(user1).stake(1, Collateral.address, 10000), + 'InsufficientBalance' + ); + }); + }); + + describe('stake', () => { + before('stake some collateral', async () => { + const tx = await CollateralModule.connect(user1).stake(1, Collateral.address, 100); + receipt = await tx.wait(); + }); + + it('emits an event', async () => { + const event = findEvent({ receipt, eventName: 'CollateralStaked' }); + + assertBn.equal(event.args.accountId, 1); + assert.equal(event.args.collateralType, Collateral.address); + assertBn.equal(event.args.amount, 100); + assert.equal(event.args.executedBy, user1.address); + }); + + it('is staked', async () => { + const totals = await CollateralModule.getAccountCollateralTotals(1, Collateral.address); + const free = await CollateralModule.getAccountUnstakebleCollateral(1, Collateral.address); + const unassigned = await CollateralModule.getAccountUnassignedCollateral( + 1, + Collateral.address + ); + + assertBn.equal(totals[0], 100); + assertBn.equal(totals[1], 0); + assertBn.equal(totals[2], 0); + assertBn.equal(free, 100); + assertBn.equal(unassigned, 100); + + // In Collateral balances + assertBn.equal(await Collateral.balanceOf(user1.address), 900); + assertBn.equal(await Collateral.balanceOf(CollateralModule.address), 100); + }); + }); + + describe('when some collateral is unstaked', () => { + describe('when attempting to stake more than available collateral', () => { + it('reverts', async () => { + await assertRevert( + CollateralModule.connect(user1).unstake(1, Collateral.address, 101), + 'InsufficientAvailableCollateral' + ); + }); + }); + + describe('unstake', () => { + before('unstake some collateral', async () => { + const tx = await CollateralModule.connect(user1).unstake(1, Collateral.address, 100); + receipt = await tx.wait(); + }); + + it('emits an event', async () => { + const event = findEvent({ receipt, eventName: 'CollateralUnstaked' }); + + assertBn.equal(event.args.accountId, 1); + assert.equal(event.args.collateralType, Collateral.address); + assertBn.equal(event.args.amount, 100); + assert.equal(event.args.executedBy, user1.address); + }); + + it('is unstaked', async () => { + const totals = await CollateralModule.getAccountCollateralTotals(1, Collateral.address); + const free = await CollateralModule.getAccountUnstakebleCollateral(1, Collateral.address); + const unassigned = await CollateralModule.getAccountUnassignedCollateral( + 1, + Collateral.address + ); + + assertBn.equal(totals[0], 0); + assertBn.equal(totals[1], 0); + assertBn.equal(totals[2], 0); + assertBn.equal(free, 0); + assertBn.equal(unassigned, 0); + + // In Collateral balances + assertBn.equal(await Collateral.balanceOf(user1.address), 1000); + assertBn.equal(await Collateral.balanceOf(AccountToken.address), 0); + }); + }); + }); + + describe('post sanity check', async () => { + it('AccountTokens has the right balance', async () => { + assertBn.equal(await Collateral.balanceOf(user1.address), 1000); + assertBn.equal(await Collateral.balanceOf(user2.address), 1000); + assertBn.equal(await Collateral.balanceOf(AccountToken.address), 0); + }); + }); + }); + + describe('when an unauthorized address tries to operate in the AccountToken', () => { + it('reverts when trying to stake', async () => { + await assertRevert( + CollateralModule.connect(user2).stake(1, Collateral.address, 100), + `NotAuthorized(1, "0x7374616b65000000000000000000000000000000000000000000000000000000", "${user2.address}")` + ); + }); + + it('reverts when trying to unstake', async () => { + await assertRevert( + CollateralModule.connect(user2).unstake(1, Collateral.address, 100), + `NotAuthorized(1, "0x756e7374616b6500000000000000000000000000000000000000000000000000", "${user2.address}")` + ); + }); + + it('reverts when trying to grant access', async () => { + await assertRevert( + AccountModule.connect(user2).grantRole( + 1, + ethers.utils.formatBytes32String('stake'), + user2.address + ), + `NotAuthorized(1, "${ethers.utils.formatBytes32String('modifyPermission')}", "${ + user2.address + }")` + ); + }); + }); + + describe('when an authorized address operates with the AccountToken', () => { + before('authorize some users', async () => { + await ( + await AccountModule.connect(user1).grantRole( + 1, + ethers.utils.formatBytes32String('stake'), + user2.address + ) + ).wait(); + await ( + await AccountModule.connect(user1).grantRole( + 1, + ethers.utils.formatBytes32String('unstake'), + user3.address + ) + ).wait(); + }); + + it('roles are granted', async () => { + assert.equal( + await AccountModule.hasRole(1, ethers.utils.formatBytes32String('stake'), user2.address), + true + ); + assert.equal( + await AccountModule.hasRole(1, ethers.utils.formatBytes32String('unstake'), user3.address), + true + ); + assert.equal( + await AccountModule.hasRole(1, ethers.utils.formatBytes32String('other'), user4.address), + false + ); + }); + + describe('when some collateral is staked', () => { + before('stake some collateral', async () => { + await (await CollateralModule.connect(user2).stake(1, Collateral.address, 100)).wait(); + }); + + it('is staked', async () => { + const totals = await CollateralModule.getAccountCollateralTotals(1, Collateral.address); + const free = await CollateralModule.getAccountUnstakebleCollateral(1, Collateral.address); + const unassigned = await CollateralModule.getAccountUnassignedCollateral( + 1, + Collateral.address + ); + + assertBn.equal(totals[0], 100); + assertBn.equal(totals[1], 0); + assertBn.equal(totals[2], 0); + assertBn.equal(free, 100); + assertBn.equal(unassigned, 100); + + // In Collateral balances + assertBn.equal(await Collateral.balanceOf(user1.address), 900); + assertBn.equal(await Collateral.balanceOf(CollateralModule.address), 100); + }); + + describe('when some collateral is unstaked', () => { + before('unstake some collateral', async () => { + await (await CollateralModule.connect(user3).unstake(1, Collateral.address, 100)).wait(); + }); + + it('is unstaked', async () => { + const totals = await CollateralModule.getAccountCollateralTotals(1, Collateral.address); + const free = await CollateralModule.getAccountUnstakebleCollateral(1, Collateral.address); + const unassigned = await CollateralModule.getAccountUnassignedCollateral( + 1, + Collateral.address + ); + + assertBn.equal(totals[0], 0); + assertBn.equal(totals[1], 0); + assertBn.equal(totals[2], 0); + assertBn.equal(free, 0); + assertBn.equal(unassigned, 0); + + // In Collateral balances + assertBn.equal(await Collateral.balanceOf(user1.address), 1000); + assertBn.equal(await Collateral.balanceOf(CollateralModule.address), 0); + }); + }); + }); + }); +}); diff --git a/packages/synthetix-main/test/contracts/modules/CompleteSystemTests.test.js b/packages/synthetix-main/test/contracts/modules/CompleteSystemTests.test.js new file mode 100644 index 0000000000..6540ecdde7 --- /dev/null +++ b/packages/synthetix-main/test/contracts/modules/CompleteSystemTests.test.js @@ -0,0 +1,181 @@ +const { ethers } = hre; +const assert = require('assert/strict'); +const assertBn = require('@synthetixio/core-js/utils/assertions/assert-bignumber'); +// const assertRevert = require('@synthetixio/core-js/utils/assertions/assert-revert'); +const { findEvent } = require('@synthetixio/core-js/utils/ethers/events'); +const { bootstrap } = require('@synthetixio/deployer/utils/tests'); +const initializer = require('../../helpers/initializer'); +const { takeSnapshot, restoreSnapshot } = require('@synthetixio/core-js/utils/hardhat/rpc'); + +describe('MarketManager', function () { + const { proxyAddress } = bootstrap(initializer); + + let owner, admin, user1, user2; + + let CollateralModule; + let Collateral, CollateralPriceFeed; + let AccountModule; // AccountToken; + let FundModule, VaultModule; + // let USDTokenModule, USDToken; + let MarketManagerModule; + + let Market1, Market2; + let account1, account2; + let market1, market2, fund1; + + const ONE = ethers.utils.parseEther('1'); + + before('identify signers', async () => { + [owner, admin] = await ethers.getSigners(); + [, , user1, user2] = await ethers.getSigners(); + }); + + before('identify contracts', async () => { + FundModule = await ethers.getContractAt('FundModule', proxyAddress()); + VaultModule = await ethers.getContractAt('VaultModule', proxyAddress()); + + CollateralModule = await ethers.getContractAt('CollateralModule', proxyAddress()); + AccountModule = await ethers.getContractAt('AccountModule', proxyAddress()); + await (await AccountModule.connect(owner).initializeAccountModule()).wait(); + + // USDTokenModule = await ethers.getContractAt('USDTokenModule', proxyAddress()); + // await (await USDTokenModule.connect(owner).initializeUSDTokenModule()).wait(); + // const usdTokenAddress = await USDTokenModule.getUSDTokenAddress(); + // USDToken = await ethers.getContractAt('USDToken', usdTokenAddress); + + MarketManagerModule = await ethers.getContractAt('MarketManagerModule', proxyAddress()); + }); + + before('add one collateral', async () => { + let factory; + + factory = await ethers.getContractFactory('CollateralMock'); + Collateral = await factory.deploy(); + + await (await Collateral.connect(owner).initialize('Synthetix Token', 'SNX', 18)).wait(); + + factory = await ethers.getContractFactory('AggregatorV3Mock'); + CollateralPriceFeed = await factory.deploy(); + + await (await CollateralPriceFeed.connect(owner).mockSetCurrentPrice(1)).wait(); + + await ( + await CollateralModule.connect(owner).adjustCollateralType( + Collateral.address, + CollateralPriceFeed.address, + 400, + 200, + true + ) + ).wait(); + }); + + before('mint some account tokens', async () => { + account1 = 1; + account2 = 2; + await (await AccountModule.connect(user1).createAccount(account1)).wait(); + await (await AccountModule.connect(user2).createAccount(account2)).wait(); + }); + + before('mint some collateral to the user', async () => { + await (await Collateral.mint(user1.address, 1000)).wait(); + await (await Collateral.mint(user2.address, 1000)).wait(); + }); + + before('approve AccountModule to operate with the user collateral', async () => { + await ( + await Collateral.connect(user1).approve(AccountModule.address, ethers.constants.MaxUint256) + ).wait(); + await ( + await Collateral.connect(user2).approve(AccountModule.address, ethers.constants.MaxUint256) + ).wait(); + }); + + before('configure markets and fund', async () => { + let receipt, event; + Market1 = await (await ethers.getContractFactory('MarketMock')).deploy(); + receipt = await (await MarketManagerModule.registerMarket(Market1.address)).wait(); + event = findEvent({ receipt, eventName: 'MarketRegistered' }); + market1 = event.args.marketId; + await (await Market1.initialize(proxyAddress(), market1)).wait(); + await (await Market1.setPrice(ONE)).wait(); + + Market2 = await (await ethers.getContractFactory('MarketMock')).deploy(); + receipt = await (await MarketManagerModule.registerMarket(Market2.address)).wait(); + event = findEvent({ receipt, eventName: 'MarketRegistered' }); + market2 = event.args.marketId; + await (await Market2.initialize(proxyAddress(), market2)).wait(); + await (await Market2.setPrice(ONE)).wait(); + + fund1 = 1; + await (await FundModule.connect(owner).createFund(fund1, admin.address)).wait(); + await ( + await FundModule.connect(admin).setFundPosition(fund1, [market1, market2], [1, 1], [100, 100]) + ).wait(); + }); + + it('is configured', async () => { + let markets, weights, maxSharePrices; + [markets, weights, maxSharePrices] = await FundModule.getFundPosition(fund1); + assert.equal(markets.length, 2); + assert.equal(weights.length, 2); + assertBn.equal(markets[0], market1); + assertBn.equal(markets[1], market2); + assertBn.equal(weights[0], 1); + assertBn.equal(weights[1], 1); + assertBn.equal(maxSharePrices[0], 100); + assertBn.equal(maxSharePrices[1], 100); + }); + + describe('normal use case', async () => { + let snapshotId; + before('take snapshot', async function () { + snapshotId = await takeSnapshot(ethers.provider); + }); + + after('restore snapshot', async function () { + await restoreSnapshot(snapshotId, ethers.provider); + }); + + before('set initial conditions', async () => { + // stake + await (await CollateralModule.connect(user1).stake(1, Collateral.address, 100)).wait(); + // delegate + await ( + await VaultModule.connect(user1).delegateCollateral(1, 1, Collateral.address, 100, 1) + ).wait(); + }); + + before('apply changes', async () => { + // apply changes + await (await Market1.connect(user2).sellSynth(50)).wait(); + }); + + it('xxxxxxx', async () => { + // should see the expected results + }); + }); + + describe('extreme use cases', async () => { + let snapshotId; + before('take snapshot', async function () { + snapshotId = await takeSnapshot(ethers.provider); + }); + + after('restore snapshot', async function () { + await restoreSnapshot(snapshotId, ethers.provider); + }); + + before('set initial conditions', async () => { + // set initial conditions + }); + + before('apply changes', async () => { + // apply changes + }); + + it('xxxxxxx', async () => { + // should see the expected results + }); + }); +}); diff --git a/packages/synthetix-main/test/contracts/modules/FundModuleConfiguration.test.js b/packages/synthetix-main/test/contracts/modules/FundModuleConfiguration.test.js new file mode 100644 index 0000000000..8a0c4a8a20 --- /dev/null +++ b/packages/synthetix-main/test/contracts/modules/FundModuleConfiguration.test.js @@ -0,0 +1,203 @@ +const { ethers } = hre; +const assert = require('assert/strict'); +const assertBn = require('@synthetixio/core-js/utils/assertions/assert-bignumber'); +const assertRevert = require('@synthetixio/core-js/utils/assertions/assert-revert'); +const { findEvent } = require('@synthetixio/core-js/utils/ethers/events'); +const { bootstrap } = require('@synthetixio/deployer/utils/tests'); +const initializer = require('../../helpers/initializer'); + +describe('FundModule - Configuration (SCCP)', function () { + const { proxyAddress } = bootstrap(initializer); + + let owner, user1; + + let FundModule, FundConfigurationModule; + + before('identify signers', async () => { + [owner, user1] = await ethers.getSigners(); + }); + + before('identify modules', async () => { + FundModule = await ethers.getContractAt('FundModule', proxyAddress()); + FundConfigurationModule = await ethers.getContractAt('FundConfigurationModule', proxyAddress()); + }); + + before('Create some Funds', async () => { + await (await FundModule.connect(user1).createFund(1, user1.address)).wait(); + await (await FundModule.connect(user1).createFund(2, user1.address)).wait(); + await (await FundModule.connect(user1).createFund(3, user1.address)).wait(); + await (await FundModule.connect(user1).createFund(4, user1.address)).wait(); + }); + + it('created the funds', async () => { + console.log(await FundModule.ownerOf(1)); + assert.equal(await FundModule.ownerOf(1), user1.address); + assert.equal(await FundModule.ownerOf(2), user1.address); + assert.equal(await FundModule.ownerOf(3), user1.address); + assert.equal(await FundModule.ownerOf(4), user1.address); + }); + + it('does not have any approved or prefered fund at creation time', async () => { + assertBn.equal(await FundConfigurationModule.getPreferredFund(), 0); + + assert.equal((await FundConfigurationModule.getApprovedFunds()).length, 0); + }); + + describe('when attempting to set a preferred fund as a regular user', async () => { + it('reverts', async () => { + await assertRevert( + FundConfigurationModule.connect(user1).setPreferredFund(1), + `Unauthorized("${user1.address}")` + ); + }); + }); + + describe('when attempting to add an approved fund as a regular user', async () => { + it('reverts', async () => { + await assertRevert( + FundConfigurationModule.connect(user1).addApprovedFund(1), + `Unauthorized("${user1.address}")` + ); + }); + }); + + describe('when attempting to remove an approved fund as a regular user', async () => { + it('reverts', async () => { + await assertRevert( + FundConfigurationModule.connect(user1).removeApprovedFund(1), + `Unauthorized("${user1.address}")` + ); + }); + }); + + describe('when attempting to set a preferred fund that does not exist', async () => { + it('reverts', async () => { + await assertRevert( + FundConfigurationModule.connect(owner).setPreferredFund(5), + 'FundNotFound(5)' + ); + }); + }); + + describe('when attempting to add an approved fund that does not exists', async () => { + it('reverts', async () => { + await assertRevert( + FundConfigurationModule.connect(owner).addApprovedFund(5), + 'FundNotFound(5)' + ); + }); + }); + + describe('when attempting to remove an approved fund that does not exists', async () => { + it('reverts', async () => { + await assertRevert( + FundConfigurationModule.connect(owner).addApprovedFund(5), + 'FundNotFound(5)' + ); + }); + }); + + describe('when setting the preferred fund', async () => { + let receipt; + + before('set the preferred fund', async () => { + const tx = await FundConfigurationModule.connect(owner).setPreferredFund(2); + receipt = await tx.wait(); + }); + + it('emmited an event', async () => { + const event = findEvent({ receipt, eventName: 'PreferredFundSet' }); + + assertBn.equal(event.args.fundId, 2); + }); + + it('is set', async () => { + assertBn.equal(await FundConfigurationModule.getPreferredFund(), 2); + }); + }); + + describe('when approving funds', async () => { + let receipt; + + before('add an approved fund', async () => { + const tx = await FundConfigurationModule.connect(owner).addApprovedFund(3); + receipt = await tx.wait(); + }); + + it('emmited an event', async () => { + const event = findEvent({ receipt, eventName: 'FundApprovedAdded' }); + + assertBn.equal(event.args.fundId, 3); + }); + + it('is added', async () => { + const approvedFunds = (await FundConfigurationModule.getApprovedFunds()).map((e) => + e.toString() + ); + + assert.equal(approvedFunds.length, 1); + + assert.equal(approvedFunds.includes('3'), true); + }); + + describe('when attempting to add an approved fund that is already in the list', async () => { + it('reverts', async () => { + await assertRevert( + FundConfigurationModule.connect(owner).addApprovedFund(3), + 'FundAlreadyApproved(3)' + ); + }); + }); + + describe('when removing approved funds', async () => { + before('add other approved fund', async () => { + const tx = await FundConfigurationModule.connect(owner).addApprovedFund(4); + receipt = await tx.wait(); + }); + + it('is added', async () => { + const approvedFunds = (await FundConfigurationModule.getApprovedFunds()).map((e) => + e.toString() + ); + + assert.equal(approvedFunds.length, 2); + + assert.equal(approvedFunds.includes('3'), true); + assert.equal(approvedFunds.includes('4'), true); + }); + + describe('when attempting to remove an approved fund that is not in the list', async () => { + it('reverts', async () => { + await assertRevert( + FundConfigurationModule.connect(owner).removeApprovedFund(1), + 'FundNotFound(1)' + ); + }); + }); + + describe('when removing fund from approved list', async () => { + before('remove an approved fund', async () => { + const tx = await FundConfigurationModule.connect(owner).removeApprovedFund(3); + receipt = await tx.wait(); + }); + + it('emmited an event', async () => { + const event = findEvent({ receipt, eventName: 'FundApprovedRemoved' }); + + assertBn.equal(event.args.fundId, 3); + }); + + it('is removed', async () => { + const approvedFunds = (await FundConfigurationModule.getApprovedFunds()).map((e) => + e.toString() + ); + + assert.equal(approvedFunds.length, 1); + + assert.equal(approvedFunds.includes('3'), false); + assert.equal(approvedFunds.includes('4'), true); + }); + }); + }); + }); +}); diff --git a/packages/synthetix-main/test/contracts/modules/FundModuleFundAdmin.test.js b/packages/synthetix-main/test/contracts/modules/FundModuleFundAdmin.test.js new file mode 100644 index 0000000000..9ae3c9f790 --- /dev/null +++ b/packages/synthetix-main/test/contracts/modules/FundModuleFundAdmin.test.js @@ -0,0 +1,315 @@ +const { ethers } = hre; +const assert = require('assert/strict'); +const assertBn = require('@synthetixio/core-js/utils/assertions/assert-bignumber'); +const assertRevert = require('@synthetixio/core-js/utils/assertions/assert-revert'); +const { findEvent } = require('@synthetixio/core-js/utils/ethers/events'); +const { bootstrap } = require('@synthetixio/deployer/utils/tests'); +const initializer = require('../../helpers/initializer'); + +describe('FundModule - Funds Admin', function () { + const { proxyAddress } = bootstrap(initializer); + + let owner, fundAdmin, user1, user2; + + let CollateralModule, Collateral, AggregatorV3Mock; + let AccountModule, MarketManagerModule; + let FundModule, VaultModule; + + before('identify signers', async () => { + [owner, fundAdmin, user1, user2] = await ethers.getSigners(); + }); + + before('identify modules', async () => { + FundModule = await ethers.getContractAt('FundModule', proxyAddress()); + VaultModule = await ethers.getContractAt('VaultModule', proxyAddress()); + + CollateralModule = await ethers.getContractAt('CollateralModule', proxyAddress()); + AccountModule = await ethers.getContractAt('AccountModule', proxyAddress()); + await (await AccountModule.connect(owner).initializeAccountModule()).wait(); + + MarketManagerModule = await ethers.getContractAt('MarketManagerModule', proxyAddress()); + }); + + before('add one collateral', async () => { + let factory; + + factory = await ethers.getContractFactory('CollateralMock'); + Collateral = await factory.deploy(); + + await (await Collateral.connect(owner).initialize('Synthetix Token', 'SNX', 18)).wait(); + + factory = await ethers.getContractFactory('AggregatorV3Mock'); + AggregatorV3Mock = await factory.deploy(); + + await (await AggregatorV3Mock.connect(owner).mockSetCurrentPrice(1)).wait(); + + await ( + await CollateralModule.connect(owner).adjustCollateralType( + Collateral.address, + AggregatorV3Mock.address, + 400, + 200, + true + ) + ).wait(); + }); + + before('mint some account tokens', async () => { + await (await AccountModule.connect(user1).createAccount(1)).wait(); + await (await AccountModule.connect(user2).createAccount(2)).wait(); + }); + + before('mint some collateral to the user', async () => { + await (await Collateral.mint(user1.address, 1000)).wait(); + await (await Collateral.mint(user2.address, 1000)).wait(); + }); + + before('approve AccountModule to operate with the user collateral', async () => { + await ( + await Collateral.connect(user1).approve(AccountModule.address, ethers.constants.MaxUint256) + ).wait(); + await ( + await Collateral.connect(user2).approve(AccountModule.address, ethers.constants.MaxUint256) + ).wait(); + }); + + before('stake some collateral', async () => { + await (await CollateralModule.connect(user1).stake(1, Collateral.address, 100)).wait(); + }); + + before('mint a fund token', async () => { + await (await FundModule.connect(user1).createFund(1, fundAdmin.address)).wait(); + }); + + it('fund is created', async () => { + assert.equal(await FundModule.ownerOf(1), fundAdmin.address); + }); + + describe('When setting up the Fund positions', async () => { + describe('when attempting to set the positions of a non existent fund', async () => { + it('reverts', async () => { + await assertRevert( + FundModule.connect(fundAdmin).setFundPosition(2, [1], [1], [0, 0]), + 'FundNotFound(2)' + ); + }); + }); + + describe('when a regular user attempts to set the positions', async () => { + it('reverts', async () => { + await assertRevert( + FundModule.connect(user1).setFundPosition(1, [1], [1], [0, 0]), + `Unauthorized("${user1.address}")` + ); + }); + }); + + describe('when attempting to set the positions with not matching number of positions', async () => { + it('reverts with more weights than markets', async () => { + await assertRevert( + FundModule.connect(fundAdmin).setFundPosition(1, [1], [1, 2], [0, 0]), + 'InvalidParameters()' + ); + }); + + it('reverts with more markets than weights', async () => { + await assertRevert( + FundModule.connect(fundAdmin).setFundPosition(1, [1, 2], [1], [0, 0]), + 'InvalidParameters()' + ); + }); + }); + + describe('when adjusting a fund positions', async () => { + let receipt; + + before('set dummy markets', async () => { + let factory; + + factory = await ethers.getContractFactory('MarketMock'); + const Market1 = await factory.deploy(); + factory = await ethers.getContractFactory('MarketMock'); + const Market2 = await factory.deploy(); + + await (await MarketManagerModule.registerMarket(Market1.address)).wait(); + await (await MarketManagerModule.registerMarket(Market2.address)).wait(); + }); + + before('adjust fund positions', async () => { + const tx = await FundModule.connect(fundAdmin).setFundPosition(1, [1, 2], [1, 1], [0, 0]); + receipt = await tx.wait(); + }); + + it('emmited an event', async () => { + const event = findEvent({ receipt, eventName: 'FundPositionSet' }); + + assert.equal(event.args.executedBy, fundAdmin.address); + assertBn.equal(event.args.fundId, 1); + assert.equal(event.args.markets.length, 2); + assert.equal(event.args.weights.length, 2); + assertBn.equal(event.args.markets[0], 1); + assertBn.equal(event.args.markets[1], 2); + assertBn.equal(event.args.weights[0], 1); + assertBn.equal(event.args.weights[1], 1); + }); + + it('is created', async () => { + let markets, weights; + [markets, weights] = await FundModule.getFundPosition(1); + assert.equal(markets.length, 2); + assert.equal(weights.length, 2); + assertBn.equal(markets[0], 1); + assertBn.equal(markets[1], 2); + assertBn.equal(weights[0], 1); + assertBn.equal(weights[1], 1); + }); + + describe('when operating with the fund', async () => { + // + describe('when delegting collateral to a fund', async () => { + let liquidityItemId; + + before('delegate some collateral', async () => { + const tx = await VaultModule.connect(user1).delegateCollateral( + 1, + 1, + Collateral.address, + 10, + 1 + ); + receipt = await tx.wait(); + }); + + it('emmited a DelegationUpdated event', async () => { + const event = findEvent({ receipt, eventName: 'DelegationUpdated' }); + liquidityItemId = event.args.liquidityItemId; + + assertBn.equal(event.args.fundId, 1); + assertBn.equal(event.args.accountId, 1); + assertBn.equal(event.args.amount, 10); + assertBn.equal(event.args.leverage, 1); + assert.equal(event.args.collateralType, Collateral.address); + }); + + it('emmited a PositionAdded event', async () => { + const event = findEvent({ receipt, eventName: 'PositionAdded' }); + + assert.equal(event.args.liquidityItemId, liquidityItemId); + assertBn.equal(event.args.fundId, 1); + assertBn.equal(event.args.accountId, 1); + assertBn.equal(event.args.amount, 10); + assertBn.equal(event.args.leverage, 1); + assert.equal(event.args.collateralType, Collateral.address); + assertBn.equal(event.args.shares, 10); + assertBn.equal(event.args.initialDebt, 10); + }); + + describe('when adding to the same liquidityId', async () => { + before('delegate some collateral', async () => { + const tx = await VaultModule.connect(user1).delegateCollateral( + 1, + 1, + Collateral.address, + 20, + 1 + ); + receipt = await tx.wait(); + }); + + it('emmited a DelegationUpdated event', async () => { + const event = findEvent({ receipt, eventName: 'DelegationUpdated' }); + + assert.equal(event.args.liquidityItemId, liquidityItemId); + assertBn.equal(event.args.fundId, 1); + assertBn.equal(event.args.accountId, 1); + assertBn.equal(event.args.amount, 20); + assertBn.equal(event.args.leverage, 1); + assert.equal(event.args.collateralType, Collateral.address); + }); + + it('emmited a PositionIncreased event', async () => { + const event = findEvent({ receipt, eventName: 'PositionIncreased' }); + + assert.equal(event.args.liquidityItemId, liquidityItemId); + assertBn.equal(event.args.fundId, 1); + assertBn.equal(event.args.amount, 20); + assertBn.equal(event.args.leverage, 1); + assert.equal(event.args.collateralType, Collateral.address); + assertBn.equal(event.args.shares, 20); + assertBn.equal(event.args.initialDebt, 20); + }); + }); + + describe('when decreasing from to same liquidityId', async () => { + before('delegate some collateral', async () => { + const tx = await VaultModule.connect(user1).delegateCollateral( + 1, + 1, + Collateral.address, + 1, + 1 + ); + receipt = await tx.wait(); + }); + + it('emmited a DelegationUpdated event', async () => { + const event = findEvent({ receipt, eventName: 'DelegationUpdated' }); + + assert.equal(event.args.liquidityItemId, liquidityItemId); + assertBn.equal(event.args.fundId, 1); + assertBn.equal(event.args.accountId, 1); + assertBn.equal(event.args.amount, 1); + assertBn.equal(event.args.leverage, 1); + assert.equal(event.args.collateralType, Collateral.address); + }); + + it('emmited a PositionDecreased event', async () => { + const event = findEvent({ receipt, eventName: 'PositionDecreased' }); + + assert.equal(event.args.liquidityItemId, liquidityItemId); + assertBn.equal(event.args.fundId, 1); + assertBn.equal(event.args.amount, 1); + assertBn.equal(event.args.leverage, 1); + assert.equal(event.args.collateralType, Collateral.address); + assertBn.equal(event.args.shares, 1); + assertBn.equal(event.args.initialDebt, 1); + }); + }); + + describe('when removing liquidityId', async () => { + before('delegate some collateral', async () => { + const tx = await VaultModule.connect(user1).delegateCollateral( + 1, + 1, + Collateral.address, + 0, + 1 + ); + receipt = await tx.wait(); + }); + + it('emmited a DelegationUpdated event', async () => { + const event = findEvent({ receipt, eventName: 'DelegationUpdated' }); + + assert.equal(event.args.liquidityItemId, liquidityItemId); + assertBn.equal(event.args.fundId, 1); + assertBn.equal(event.args.accountId, 1); + assertBn.equal(event.args.amount, 0); + assertBn.equal(event.args.leverage, 1); + assert.equal(event.args.collateralType, Collateral.address); + }); + + it('emmited a PositionRemoved event', async () => { + const event = findEvent({ receipt, eventName: 'PositionRemoved' }); + + assert.equal(event.args.liquidityItemId, liquidityItemId); + assertBn.equal(event.args.fundId, 1); + assertBn.equal(event.args.accountId, 1); + assert.equal(event.args.collateralType, Collateral.address); + }); + }); + }); + }); + }); + }); +}); diff --git a/packages/synthetix-main/test/contracts/modules/FundModuleOwnership.test.js b/packages/synthetix-main/test/contracts/modules/FundModuleOwnership.test.js new file mode 100644 index 0000000000..6732b4e811 --- /dev/null +++ b/packages/synthetix-main/test/contracts/modules/FundModuleOwnership.test.js @@ -0,0 +1,134 @@ +const { ethers } = hre; +const assert = require('assert/strict'); +const assertBn = require('@synthetixio/core-js/utils/assertions/assert-bignumber'); +const assertRevert = require('@synthetixio/core-js/utils/assertions/assert-revert'); +const { findEvent } = require('@synthetixio/core-js/utils/ethers/events'); +const { bootstrap } = require('@synthetixio/deployer/utils/tests'); +const initializer = require('../../helpers/initializer'); + +describe('FundModule - Create / Ownership', function () { + const { proxyAddress } = bootstrap(initializer); + + let user1, user2; + + let FundModule; + + before('identify signers', async () => { + [, user1, user2] = await ethers.getSigners(); + }); + + before('identify modules', async () => { + FundModule = await ethers.getContractAt('FundModule', proxyAddress()); + }); + + describe('When creating a Fund', async () => { + let receipt; + + before('create a fund', async () => { + const tx = await FundModule.connect(user1).createFund(1, user1.address); + receipt = await tx.wait(); + }); + + it('emmited an event', async () => { + const event = findEvent({ receipt, eventName: 'FundCreated' }); + + assert.equal(event.args.owner, user1.address); + assertBn.equal(event.args.fundId, 1); + }); + + it('is created', async () => { + assert.equal(await FundModule.ownerOf(1), user1.address); + }); + + describe('when trying to create the same FundModuleId', () => { + it('reverts', async () => { + await assertRevert( + FundModule.connect(user2).createFund(1, user1.address), + 'FundAlreadyExists(1)' + ); + }); + }); + + describe('when transfering to a new owner', async () => { + describe('when attempting to accept before nominating', async () => { + it('reverts', async () => { + await assertRevert( + FundModule.connect(user2).acceptFundOwnership(1), + `Unauthorized("${user2.address}")` + ); + }); + }); + + describe('when nominating a new owner', async () => { + let receipt; + before('', async () => { + const tx = await FundModule.connect(user1).nominateNewFundOwner(user2.address, 1); + receipt = await tx.wait(); + }); + + it('emits an event', async () => { + const event = findEvent({ receipt, eventName: 'NominatedNewOwner' }); + + assertBn.equal(event.args.fundId, 1); + assert.equal(event.args.nominatedOwner, user2.address); + }); + + describe('when accepting the ownership', async () => { + before('accept ownership', async () => { + const tx = await FundModule.connect(user2).acceptFundOwnership(1); + receipt = await tx.wait(); + }); + + after('return ownership to user1', async () => { + await (await FundModule.connect(user2).nominateNewFundOwner(user1.address, 1)).wait(); + await (await FundModule.connect(user1).acceptFundOwnership(1)).wait(); + }); + + it('emits an event', async () => { + const event = findEvent({ receipt, eventName: 'OwnershipAccepted' }); + + assertBn.equal(event.args.fundId, 1); + assert.equal(event.args.newOwner, user2.address); + }); + + it('is the new owner', async () => { + assert.equal(await FundModule.ownerOf(1), user2.address); + }); + }); + }); + + describe('when renouncint the ownership', async () => { + let receipt; + before('nominate the new owner', async () => { + const tx = await FundModule.connect(user1).nominateNewFundOwner(user2.address, 1); + receipt = await tx.wait(); + }); + + before('renounce nomination', async () => { + const tx = await FundModule.connect(user2).renounceFundNomination(1); + receipt = await tx.wait(); + }); + + it('emits an event', async () => { + const event = findEvent({ receipt, eventName: 'OwnershipRenounced' }); + + assertBn.equal(event.args.fundId, 1); + assert.equal(event.args.target, user2.address); + }); + + it('ownership did not change', async () => { + assert.equal(await FundModule.ownerOf(1), user1.address); + }); + + describe('when attempting to accept the nomination after renouncing to it', async () => { + it('reverts', async () => { + await assertRevert( + FundModule.connect(user2).acceptFundOwnership(1), + `Unauthorized("${user2.address}")` + ); + }); + }); + }); + }); + }); +}); diff --git a/packages/synthetix-main/test/contracts/modules/MarketManager.test.js b/packages/synthetix-main/test/contracts/modules/MarketManager.test.js new file mode 100644 index 0000000000..5f7280ab65 --- /dev/null +++ b/packages/synthetix-main/test/contracts/modules/MarketManager.test.js @@ -0,0 +1,106 @@ +const { ethers } = hre; +const assert = require('assert/strict'); +const assertRevert = require('@synthetixio/core-js/utils/assertions/assert-revert'); +const { findEvent } = require('@synthetixio/core-js/utils/ethers/events'); +const { bootstrap } = require('@synthetixio/deployer/utils/tests'); +const initializer = require('../../helpers/initializer'); +const assertBn = require('@synthetixio/core-js/utils/assertions/assert-bignumber'); + +describe('MarketManager', function () { + const { proxyAddress } = bootstrap(initializer); + + const One = ethers.utils.parseEther('1'); + const Hundred = ethers.utils.parseEther('100'); + + let owner, user1; + + let MarketManagerModule, USDTokenModule, USDToken; + let Market1; + let market1id; + + before('identify signers', async () => { + [owner, user1] = await ethers.getSigners(); + }); + + before('identify modules', async () => { + USDTokenModule = await ethers.getContractAt('USDTokenModule', proxyAddress()); + await (await USDTokenModule.connect(owner).initializeUSDTokenModule()).wait(); + const usdTokenAddress = await USDTokenModule.getUSDTokenAddress(); + + // Use USDTokenMock to manually mint USD + const factory = await ethers.getContractFactory('USDTokenMock'); + const USDTokenMock = await factory.deploy(); + await ( + await USDTokenModule.connect(owner).upgradeUSDImplementation(USDTokenMock.address) + ).wait(); + USDToken = await ethers.getContractAt('USDTokenMock', usdTokenAddress); + + MarketManagerModule = await ethers.getContractAt('MarketManagerModule', proxyAddress()); + }); + + before('create dummy markets', async () => { + Market1 = await (await ethers.getContractFactory('MarketMock')).deploy(); + }); + + describe('when a market is registered', async () => { + let receipt; + + before('register a market', async () => { + receipt = await (await MarketManagerModule.registerMarket(Market1.address)).wait(); + }); + + it('emmited an event', async () => { + const event = findEvent({ receipt, eventName: 'MarketRegistered' }); + assert(event.args.market, Market1.address); + market1id = event.args.marketId; + await (await Market1.connect(owner).initialize(proxyAddress(), market1id, One)).wait(); + assert(market1id, 1); + }); + + it('liquidity is zero', async () => { + assertBn.equal(await MarketManagerModule.liquidity(market1id), 0); + }); + + it('totalBalance is zero', async () => { + assertBn.equal(await MarketManagerModule.totalBalance(market1id), 0); + }); + + describe('when attempting to register a market again', async () => { + it('reverts', async () => { + await assertRevert( + MarketManagerModule.registerMarket(Market1.address), + `MarketAlreadyRegistered("${Market1.address}")` + ); + }); + }); + + describe('before the market received liquidity', async () => { + describe('when attempting to sell synths', async () => { + it('reverts', async () => { + await assertRevert( + Market1.connect(user1).sellSynth(Hundred), + `NotEnoughLiquidity(${market1id}, ${Hundred.toString()})` + ); + }); + }); + + describe('when someone buys some synths', async () => { + let liquidityBefore; + before('mint USD to use market', async () => { + liquidityBefore = await MarketManagerModule.liquidity(market1id); + await (await USDToken.connect(user1)['mint(uint256)'](Hundred)).wait(); + await (await USDToken.connect(user1).approve(Market1.address, Hundred)).wait(); + }); + + before('user1 buys some synth (deposit USD)', async () => { + await (await Market1.connect(user1).buySynth(Hundred)).wait(); + }); + + it('issuance increased liquidity', async () => { + const liquidity = await MarketManagerModule.liquidity(market1id); + assertBn.equal(liquidity, liquidityBefore.add(Hundred)); + }); + }); + }); + }); +}); diff --git a/packages/synthetix-main/test/contracts/modules/SynthsModule.test.js b/packages/synthetix-main/test/contracts/modules/SynthsModule.test.js deleted file mode 100644 index 53061f4134..0000000000 --- a/packages/synthetix-main/test/contracts/modules/SynthsModule.test.js +++ /dev/null @@ -1,189 +0,0 @@ -const { ethers } = hre; -const assert = require('assert/strict'); -const assertRevert = require('@synthetixio/core-js/utils/assertions/assert-revert'); -const { findEvent } = require('@synthetixio/core-js/utils/ethers/events'); -const { bootstrap } = require('@synthetixio/deployer/utils/tests'); -const initializer = require('@synthetixio/core-modules/test/helpers/initializer'); - -describe('SynthsModule', function () { - const { proxyAddress } = bootstrap(initializer); - - const sUSD = ethers.utils.formatBytes32String('sUSD'); - const name = 'Synthetic USD'; - const symbol = 'sUSD'; - const decimals = 18; - - let owner, user; - - let receipt; - - before('identify signers', async () => { - [owner, user] = await ethers.getSigners(); - }); - - let SynthsModule, synthImplementationAddress; - - before('identify modules', async () => { - SynthsModule = await ethers.getContractAt('SynthsModule', proxyAddress()); - }); - - describe('when an implemetation is created', () => { - before('create an implementation', async () => { - const tx = await SynthsModule.createSynthImplementation(); - receipt = await tx.wait(); - }); - - it('emits a SynthImplementationCreated event', async () => { - const event = findEvent({ receipt, eventName: 'SynthImplementationCreated' }); - synthImplementationAddress = event.args.implementationAddress; - }); - - describe('When the beacon is NOT deployed', async () => { - describe('when trying to upgrade an impementation', () => { - it('reverts', async () => { - await assertRevert( - SynthsModule.upgradeSynthImplementation(synthImplementationAddress), - 'NotInitialized()' - ); - }); - - describe('when trying to deploy a synth', () => { - it('reverts', async () => { - await assertRevert( - SynthsModule.createSynth(sUSD, name, symbol, decimals), - 'NotInitialized()' - ); - }); - }); - }); - - describe('When a beacon is deployed', async () => { - describe('when a non-owner tries to initialize the SynthsModule', () => { - it('reverts', async () => { - await assertRevert(SynthsModule.connect(user).initializeSynthsModule(), 'Unauthorized'); - }); - }); - - describe('when the owner initialize the SynthsModule', () => { - let beaconAddress; - - before('initializeSynthsModule()', async () => { - const tx = await SynthsModule.connect(owner).initializeSynthsModule(); - receipt = await tx.wait(); - }); - - it('emits a BeaconCreated event', async () => { - const event = findEvent({ receipt, eventName: 'BeaconCreated' }); - beaconAddress = event.args.beacon; - }); - - it('shows that the SynthsModule is initialized', async () => { - assert.equal(await SynthsModule.isSynthsModuleInitialized(), true); - }); - - it('shows that the beacon address is set in storage', async () => { - assert.equal(await SynthsModule.getBeacon(), beaconAddress); - }); - - describe('when trying to re initialize the module', () => { - it('reverts', async () => { - await assertRevert( - SynthsModule.connect(owner).initializeSynthsModule(), - 'AlreadyInitialized()' - ); - }); - }); - - describe('When there is NO implementation', async () => { - describe('when trying to deploy a synth', () => { - it('reverts', async () => { - await assertRevert( - SynthsModule.createSynth(sUSD, name, symbol, decimals), - 'ImplementationNotSet()' - ); - }); - }); - }); - - describe('When an implementation is set/upgraded', async () => { - describe('when a non-owner tries to upgrade', () => { - it('reverts', async () => { - await assertRevert( - SynthsModule.connect(user).upgradeSynthImplementation(synthImplementationAddress), - 'Unauthorized' - ); - }); - }); - - describe('when the owner upgrades the implementation', () => { - before('upgradeSynthImplementation()', async () => { - const tx = await SynthsModule.connect(owner).upgradeSynthImplementation( - synthImplementationAddress - ); - await tx.wait(); - }); - - it('shows that the implementation address is set', async () => { - assert.equal( - await SynthsModule.getSynthImplementation(), - synthImplementationAddress - ); - }); - }); - - describe('When deploying synths', async () => { - describe('when a non-owner tries to deploy', () => { - it('reverts', async () => { - await assertRevert( - SynthsModule.connect(user).createSynth(sUSD, name, symbol, decimals), - 'Unauthorized' - ); - }); - }); - - describe('when the owner deploys synths', () => { - let synthAddress; - - before('createSynth()', async () => { - const tx = await SynthsModule.connect(owner).createSynth( - sUSD, - name, - symbol, - decimals - ); - receipt = await tx.wait(); - }); - - it('emits a SynthCreated event', async () => { - const event = findEvent({ receipt, eventName: 'SynthCreated' }); - assert.equal(event.args.synth, sUSD); - synthAddress = event.args.synthAddress; - }); - - it('shows that the synth is stored correctly', async () => { - assert.equal(await SynthsModule.getSynth(sUSD), synthAddress); - }); - - it('gets the newly created satellite', async () => { - const [result] = await SynthsModule.getSynthsModuleSatellites(); - assert.equal(result.name, sUSD); - assert.equal(result.contractName, ethers.utils.formatBytes32String('ISynth')); - assert.equal(result.deployedAddress, synthAddress); - }); - - describe('when trying to deploy an existing synth', () => { - it('reverts', async () => { - await assertRevert( - SynthsModule.createSynth(sUSD, name, symbol, decimals), - 'SynthAlreadyCreated()' - ); - }); - }); - }); - }); - }); - }); - }); - }); - }); -}); diff --git a/packages/synthetix-main/test/contracts/modules/SNXTokenModule.test.js b/packages/synthetix-main/test/contracts/modules/USDTokenModule.test.js similarity index 52% rename from packages/synthetix-main/test/contracts/modules/SNXTokenModule.test.js rename to packages/synthetix-main/test/contracts/modules/USDTokenModule.test.js index ec5d024524..7cb2c47ad2 100644 --- a/packages/synthetix-main/test/contracts/modules/SNXTokenModule.test.js +++ b/packages/synthetix-main/test/contracts/modules/USDTokenModule.test.js @@ -6,7 +6,7 @@ const { findEvent } = require('@synthetixio/core-js/utils/ethers/events'); const { bootstrap } = require('@synthetixio/deployer/utils/tests'); const initializer = require('@synthetixio/core-modules/test/helpers/initializer'); -describe('SNXTokenModule', function () { +describe('USDTokenModule', function () { const { proxyAddress } = bootstrap(initializer); let owner, user1; @@ -15,28 +15,28 @@ describe('SNXTokenModule', function () { [owner, user1] = await ethers.getSigners(); }); - describe('When creating the SNX token', async () => { - let SNXTokenModule, snxTokenAddress, SNX; + describe('When creating the USD token', async () => { + let USDTokenModule, snxTokenAddress, USD; before('identify modules', async () => { - SNXTokenModule = await ethers.getContractAt('SNXTokenModule', proxyAddress()); + USDTokenModule = await ethers.getContractAt('USDTokenModule', proxyAddress()); }); - it('No SNX is deployed', async () => { - const address = await SNXTokenModule.getSNXTokenAddress(); + it('No USD is deployed', async () => { + const address = await USDTokenModule.getUSDTokenAddress(); assert.equal(address, '0x0000000000000000000000000000000000000000'); }); - describe('When the Module is initialized (SNX is created)', () => { + describe('When the Module is initialized (USD is created)', () => { let receipt; - before('Initialize (Create a SNX token)', async () => { - const tx = await SNXTokenModule.connect(owner).initializeSNXTokenModule(); + before('Initialize (Create a USD token)', async () => { + const tx = await USDTokenModule.connect(owner).initializeUSDTokenModule(); receipt = await tx.wait(); }); - before('Identify newly created SNX', async () => { - const event = findEvent({ receipt, eventName: 'SNXTokenCreated' }); + before('Identify newly created USD', async () => { + const event = findEvent({ receipt, eventName: 'USDTokenCreated' }); snxTokenAddress = event.args.snxAddress; - SNX = await ethers.getContractAt('SNXToken', snxTokenAddress); + USD = await ethers.getContractAt('USDToken', snxTokenAddress); }); it('emmited an event', async () => { @@ -44,74 +44,74 @@ describe('SNXTokenModule', function () { }); it('is initialized', async () => { - assert.equal(await SNXTokenModule.isSNXTokenModuleInitialized(), true); + assert.equal(await USDTokenModule.isUSDTokenModuleInitialized(), true); }); it('gets the newly created address', async () => { - const address = await SNXTokenModule.getSNXTokenAddress(); + const address = await USDTokenModule.getUSDTokenAddress(); assert.equal(address, snxTokenAddress); }); - it('reads the SNX parameters', async () => { - assert.equal(await SNX.name(), 'Synthetix Network Token'); - assert.equal(await SNX.symbol(), 'snx'); - assert.equal(await SNX.decimals(), 18); + it('reads the USD parameters', async () => { + assert.equal(await USD.name(), 'Synthetic USD Token v3'); + assert.equal(await USD.symbol(), 'USD'); + assert.equal(await USD.decimals(), 18); }); it('gets the newly created satellite', async () => { - const results = await SNXTokenModule.getSNXTokenModuleSatellites(); + const results = await USDTokenModule.getUSDTokenModuleSatellites(); assert.equal(results.length, 1); - assert.equal(results[0].name, ethers.utils.formatBytes32String('snx')); - assert.equal(results[0].contractName, ethers.utils.formatBytes32String('SNXToken')); + assert.equal(results[0].name, ethers.utils.formatBytes32String('USD')); + assert.equal(results[0].contractName, ethers.utils.formatBytes32String('usdToken')); assert.equal(results[0].deployedAddress, snxTokenAddress); }); - describe('When attempting to create the SNX twice', () => { + describe('When attempting to create the USD twice', () => { it('reverts', async () => { await assertRevert( - SNXTokenModule.connect(owner).initializeSNXTokenModule(), + USDTokenModule.connect(owner).initializeUSDTokenModule(), 'AlreadyInitialized()' ); }); }); describe('When attempting to upgrade to a new implementation', () => { - let AnotherSNXToken, NewSNX; + let AnotherUSDToken, NewUSD; before('Deploy new implementation', async () => { - const factory = await ethers.getContractFactory('SNXTokenMock'); - AnotherSNXToken = await factory.deploy(); + const factory = await ethers.getContractFactory('USDTokenMock'); + AnotherUSDToken = await factory.deploy(); }); before('Upgrade to new implementation', async () => { - const tx = await SNXTokenModule.connect(owner).upgradeSNXImplementation( - AnotherSNXToken.address + const tx = await USDTokenModule.connect(owner).upgradeUSDImplementation( + AnotherUSDToken.address ); await tx.wait(); }); it('is upgraded', async () => { - NewSNX = await ethers.getContractAt('SNXTokenMock', snxTokenAddress); - assert.equal(AnotherSNXToken.address, await NewSNX.getImplementation()); + NewUSD = await ethers.getContractAt('USDTokenMock', snxTokenAddress); + assert.equal(AnotherUSDToken.address, await NewUSD.getImplementation()); }); - it('reads the upgraded SNX parameters', async () => { - assert.equal(await NewSNX.name(), 'Synthetix Network Token'); - assert.equal(await NewSNX.symbol(), 'snx'); - assert.equal(await NewSNX.decimals(), 18); + it('reads the upgraded USD parameters', async () => { + assert.equal(await NewUSD.name(), 'Synthetic USD Token v3'); + assert.equal(await NewUSD.symbol(), 'USD'); + assert.equal(await NewUSD.decimals(), 18); }); - describe('New SNX can mint', () => { + describe('New USD can mint', () => { const totalSupply = ethers.BigNumber.from('1000000'); before('mint', async () => { - const tx = await NewSNX.connect(user1).mint(totalSupply); + const tx = await NewUSD.connect(user1)['mint(uint256)'](totalSupply); await tx.wait(); }); it('updates the total supply', async () => { - assertBn.equal(await NewSNX.totalSupply(), totalSupply); + assertBn.equal(await NewUSD.totalSupply(), totalSupply); }); }); });