diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
new file mode 100644
index 00000000..0bc7f93f
--- /dev/null
+++ b/.github/CODEOWNERS
@@ -0,0 +1,2 @@
+# Root
+* @zeuslawyer @andrejrakic @thodges-gh @Nalon @smartcontractkit/devrel
\ No newline at end of file
diff --git a/README.md b/README.md
index 9a9b044c..9a1d0ef3 100644
--- a/README.md
+++ b/README.md
@@ -5,8 +5,11 @@
-
- ## Tip
+
+> [!IMPORTANT]
+> This branch contains the Hardhat 2 starter kit. For Hardhat 3, see the [hardhat-3 branch](https://github.com/smartcontractkit/hardhat-starter-kit/tree/hardhat-3). This branch uses Solidity [Remapping](#import-remapping) and the [hardhat-preprocessor](https://www.npmjs.com/package/hardhat-preprocessor) plugin to resolve imports correctly. If you have errors when compiling dependencies please consult the [Remapping](#import-remapping) section of this README.
+
+## Tip
> Please be attention that Chainlink Any API is removed from this starter kit because Chainlink Any API is currently replaced by [Chainlink Functions](https://docs.chain.link/chainlink-functions). Please find the starter kit for Chainlink Functions [here](https://github.com/smartcontractkit/functions-hardhat-starter-kit)
[](https://gitpod.io/#https://github.com/smartcontractkit/hardhat-starter-kit)
@@ -35,6 +38,7 @@
- [Estimating Gas](#estimating-gas)
- [Code Coverage](#code-coverage)
- [Fuzzing](#fuzzing)
+- [Import Remapping](#import-remapping)
- [Contributing](#contributing)
- [Thank You!](#thank-you)
- [Resources](#resources)
@@ -176,7 +180,7 @@ You can get one for free from [Alchemy](https://www.alchemy.com/), [Infura](http
This is your private key from your wallet, ie [MetaMask](https://metamask.io/). This is needed for deploying contracts to public networks. You can optionally set your `MNEMONIC` environment variable instead with some changes to the `hardhat.config.js`.
- **WARNING** 
+**⚠️ WARNING ⚠️**
When developing, it's best practice to use a Metamask that isn't associated with any real money. A good way to do this is to make a new browser profile (on Chrome, Brave, Firefox, etc) and install Metamask on that browser, and never send this wallet money.
@@ -436,6 +440,24 @@ To exit Echidna type
exit
```
+# Import Remapping
+
+In Solidity, [remapping](https://docs.soliditylang.org/en/latest/path-resolution.html#import-remapping) is a way to define shorthand import paths so that developers can avoid writing long relative paths when importing contracts. For example, instead of writing `import "../../node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol";`, you could define a remapping such as `@openzeppelin/=node_modules/@openzeppelin/` and simply use `import "@openzeppelin/contracts/token/ERC20/ERC20.sol";`. This makes contract imports cleaner, easier to maintain, and more consistent across different projects. Remappings are commonly used in development environments like [Foundry](https://getfoundry.sh/guides/project-setup/dependencies/#remapping-dependencies) or [Hardhat 3](https://hardhat.org/docs/), but Hardhat 2 does not support them natively.
+
+To work around this limitation, you can use the [hardhat-preprocessor](https://www.npmjs.com/package/hardhat-preprocessor) plugin, which preprocesses Solidity files before compilation and rewrites the imports according to your remapping rules. This plugin works by extending the available configuration options of the expected [`HardhatUserConfig`](https://v2.hardhat.org/hardhat-runner/docs/config) object to include a preprocess property.
+
+This starter kit contains example code of this workaround in action within the [`remappings-helper.js`](./remappings-helper.js) file, and uses the remappings located within [`remappings.txt`](./remappings.txt).
+
+> [!WARNING]
+> The [hardhat-preprocessor](https://www.npmjs.com/package/hardhat-preprocessor) plugin is a third-party plugin.
+> Use it at your own discretion and review its source before adopting it in any production environments.
+
+## Adding your own remappings
+
+As your project expands, you may find the need for more dependencies. This may result in the requirement of additional remappings. To include more remappings, simply add your remapping to the `remappings.txt` file.
+
+The expected syntax is: `=`
+
# Contributing
Contributions are always welcome! Open a PR or an issue!
diff --git a/hardhat.config.js b/hardhat.config.js
index 30fe7775..ba0e144e 100644
--- a/hardhat.config.js
+++ b/hardhat.config.js
@@ -1,6 +1,7 @@
require("@nomicfoundation/hardhat-toolbox")
require("./tasks")
require("dotenv").config()
+const {remapImportPaths} = require("./remappings-helper.js")
const COMPILER_SETTINGS = {
optimizer: {
@@ -132,4 +133,5 @@ module.exports = {
mocha: {
timeout: 300000, // 300 seconds max for running tests
},
+ preprocess: remapImportPaths()
}
diff --git a/package-lock.json b/package-lock.json
index 8b31effa..5dc3d9d9 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -12,7 +12,7 @@
"dotenv": "^16.0.3"
},
"devDependencies": {
- "@chainlink/contracts": "^1.4.0",
+ "@chainlink/contracts": "1.5.0",
"@ethersproject/abi": "^5.7.0",
"@ethersproject/providers": "^5.7.1",
"@nomicfoundation/hardhat-chai-matchers": "^1.0.3",
@@ -26,6 +26,7 @@
"ethers": "^5.7.1",
"hardhat": "^2.22.3",
"hardhat-gas-reporter": "^1.0.9",
+ "hardhat-preprocessor": "^0.1.5",
"husky": "^8.0.1",
"lint-staged": "^13.0.3",
"prettier": "^2.7.1",
@@ -98,32 +99,39 @@
}
},
"node_modules/@babel/runtime": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.1.tgz",
- "integrity": "sha512-1x3D2xEk2fRo3PAhwQwu5UubzgiVWSXTBfWpVd2Mx2AzRqJuDJCsgaDVZ7HB5iGzDW1Hl1sWN2mFyKjmR9uAog==",
+ "version": "7.28.4",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz",
+ "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@chainlink/contracts": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/@chainlink/contracts/-/contracts-1.4.0.tgz",
- "integrity": "sha512-SpNCJ0TPOI6pa2l702Wk4WIP8ccw5ARcRP1E/ZTqaFffXNoZeF03WhsVL8f3l3OTRFA9Z40O5KcZzmJmZQkoFA==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@chainlink/contracts/-/contracts-1.5.0.tgz",
+ "integrity": "sha512-1fGJwjvivqAxvVOTqZUEXGR54CATtg0vjcXgSIk4Cfoad2nUhSG/qaWHXjLg1CkNTeOoteoxGQcpP/HiA5HsUA==",
"dev": true,
+ "license": "BUSL-1.1",
"dependencies": {
"@arbitrum/nitro-contracts": "3.0.0",
- "@changesets/cli": "~2.28.1",
+ "@changesets/cli": "^2.29.6",
"@changesets/get-github-info": "^0.6.0",
+ "@eslint/eslintrc": "^3.3.1",
"@eth-optimism/contracts": "0.6.0",
- "@openzeppelin/contracts": "4.9.6",
+ "@openzeppelin/contracts-4.7.3": "npm:@openzeppelin/contracts@4.7.3",
+ "@openzeppelin/contracts-4.8.3": "npm:@openzeppelin/contracts@4.8.3",
+ "@openzeppelin/contracts-4.9.6": "npm:@openzeppelin/contracts@4.9.6",
+ "@openzeppelin/contracts-5.0.2": "npm:@openzeppelin/contracts@5.0.2",
+ "@openzeppelin/contracts-5.1.0": "npm:@openzeppelin/contracts@5.1.0",
"@openzeppelin/contracts-upgradeable": "4.9.6",
- "@scroll-tech/contracts": "0.1.0",
+ "@scroll-tech/contracts": "2.0.0",
"@zksync/contracts": "github:matter-labs/era-contracts#446d391d34bdb48255d5f8fef8a8248925fc98b9",
- "semver": "^7.7.1"
+ "semver": "^7.7.2"
},
"engines": {
- "node": ">=18",
+ "node": ">=22",
"pnpm": ">=10"
}
},
@@ -142,10 +150,11 @@
}
},
"node_modules/@chainlink/contracts/node_modules/semver": {
- "version": "7.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz",
- "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==",
+ "version": "7.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+ "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
"dev": true,
+ "license": "ISC",
"bin": {
"semver": "bin/semver.js"
},
@@ -154,10 +163,11 @@
}
},
"node_modules/@changesets/apply-release-plan": {
- "version": "7.0.12",
- "resolved": "https://registry.npmjs.org/@changesets/apply-release-plan/-/apply-release-plan-7.0.12.tgz",
- "integrity": "sha512-EaET7As5CeuhTzvXTQCRZeBUcisoYPDDcXvgTE/2jmmypKp0RC7LxKj/yzqeh/1qFTZI7oDGFcL1PHRuQuketQ==",
+ "version": "7.0.13",
+ "resolved": "https://registry.npmjs.org/@changesets/apply-release-plan/-/apply-release-plan-7.0.13.tgz",
+ "integrity": "sha512-BIW7bofD2yAWoE8H4V40FikC+1nNFEKBisMECccS16W1rt6qqhNTBDmIw5HaqmMgtLNz9e7oiALiEUuKrQ4oHg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@changesets/config": "^3.1.1",
"@changesets/get-version-range-type": "^0.4.0",
@@ -179,15 +189,17 @@
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
"integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/@changesets/apply-release-plan/node_modules/semver": {
- "version": "7.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz",
- "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==",
+ "version": "7.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+ "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
"dev": true,
+ "license": "ISC",
"bin": {
"semver": "bin/semver.js"
},
@@ -196,10 +208,11 @@
}
},
"node_modules/@changesets/assemble-release-plan": {
- "version": "6.0.7",
- "resolved": "https://registry.npmjs.org/@changesets/assemble-release-plan/-/assemble-release-plan-6.0.7.tgz",
- "integrity": "sha512-vS5J92Rm7ZUcrvtu6WvggGWIdohv8s1/3ypRYQX8FsPO+KPDx6JaNC3YwSfh2umY/faGGfNnq42A7PRT0aZPFw==",
+ "version": "6.0.9",
+ "resolved": "https://registry.npmjs.org/@changesets/assemble-release-plan/-/assemble-release-plan-6.0.9.tgz",
+ "integrity": "sha512-tPgeeqCHIwNo8sypKlS3gOPmsS3wP0zHt67JDuL20P4QcXiw/O4Hl7oXiuLnP9yg+rXLQ2sScdV1Kkzde61iSQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@changesets/errors": "^0.2.0",
"@changesets/get-dependents-graph": "^2.1.3",
@@ -210,10 +223,11 @@
}
},
"node_modules/@changesets/assemble-release-plan/node_modules/semver": {
- "version": "7.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz",
- "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==",
+ "version": "7.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+ "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
"dev": true,
+ "license": "ISC",
"bin": {
"semver": "bin/semver.js"
},
@@ -226,35 +240,37 @@
"resolved": "https://registry.npmjs.org/@changesets/changelog-git/-/changelog-git-0.2.1.tgz",
"integrity": "sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@changesets/types": "^6.1.0"
}
},
"node_modules/@changesets/cli": {
- "version": "2.28.1",
- "resolved": "https://registry.npmjs.org/@changesets/cli/-/cli-2.28.1.tgz",
- "integrity": "sha512-PiIyGRmSc6JddQJe/W1hRPjiN4VrMvb2VfQ6Uydy2punBioQrsxppyG5WafinKcW1mT0jOe/wU4k9Zy5ff21AA==",
+ "version": "2.29.7",
+ "resolved": "https://registry.npmjs.org/@changesets/cli/-/cli-2.29.7.tgz",
+ "integrity": "sha512-R7RqWoaksyyKXbKXBTbT4REdy22yH81mcFK6sWtqSanxUCbUi9Uf+6aqxZtDQouIqPdem2W56CdxXgsxdq7FLQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@changesets/apply-release-plan": "^7.0.10",
- "@changesets/assemble-release-plan": "^6.0.6",
+ "@changesets/apply-release-plan": "^7.0.13",
+ "@changesets/assemble-release-plan": "^6.0.9",
"@changesets/changelog-git": "^0.2.1",
"@changesets/config": "^3.1.1",
"@changesets/errors": "^0.2.0",
"@changesets/get-dependents-graph": "^2.1.3",
- "@changesets/get-release-plan": "^4.0.8",
- "@changesets/git": "^3.0.2",
+ "@changesets/get-release-plan": "^4.0.13",
+ "@changesets/git": "^3.0.4",
"@changesets/logger": "^0.1.1",
"@changesets/pre": "^2.0.2",
- "@changesets/read": "^0.6.3",
+ "@changesets/read": "^0.6.5",
"@changesets/should-skip-package": "^0.1.2",
"@changesets/types": "^6.1.0",
"@changesets/write": "^0.4.0",
+ "@inquirer/external-editor": "^1.0.0",
"@manypkg/get-packages": "^1.1.3",
"ansi-colors": "^4.1.3",
"ci-info": "^3.7.0",
"enquirer": "^2.4.1",
- "external-editor": "^3.1.0",
"fs-extra": "^7.0.1",
"mri": "^1.2.0",
"p-limit": "^2.2.0",
@@ -280,6 +296,7 @@
"url": "https://github.com/sponsors/sibiraj-s"
}
],
+ "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -289,6 +306,7 @@
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
"integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-try": "^2.0.0"
},
@@ -304,6 +322,7 @@
"resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
@@ -313,15 +332,17 @@
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
"integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/@changesets/cli/node_modules/semver": {
- "version": "7.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz",
- "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==",
+ "version": "7.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+ "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
"dev": true,
+ "license": "ISC",
"bin": {
"semver": "bin/semver.js"
},
@@ -334,6 +355,7 @@
"resolved": "https://registry.npmjs.org/@changesets/config/-/config-3.1.1.tgz",
"integrity": "sha512-bd+3Ap2TKXxljCggI0mKPfzCQKeV/TU4yO2h2C6vAihIo8tzseAn2e7klSuiyYYXvgu53zMN1OeYMIQkaQoWnA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@changesets/errors": "^0.2.0",
"@changesets/get-dependents-graph": "^2.1.3",
@@ -349,6 +371,7 @@
"resolved": "https://registry.npmjs.org/@changesets/errors/-/errors-0.2.0.tgz",
"integrity": "sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"extendable-error": "^0.1.5"
}
@@ -358,6 +381,7 @@
"resolved": "https://registry.npmjs.org/@changesets/get-dependents-graph/-/get-dependents-graph-2.1.3.tgz",
"integrity": "sha512-gphr+v0mv2I3Oxt19VdWRRUxq3sseyUpX9DaHpTUmLj92Y10AGy+XOtV+kbM6L/fDcpx7/ISDFK6T8A/P3lOdQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@changesets/types": "^6.1.0",
"@manypkg/get-packages": "^1.1.3",
@@ -366,10 +390,11 @@
}
},
"node_modules/@changesets/get-dependents-graph/node_modules/semver": {
- "version": "7.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz",
- "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==",
+ "version": "7.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+ "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
"dev": true,
+ "license": "ISC",
"bin": {
"semver": "bin/semver.js"
},
@@ -388,12 +413,13 @@
}
},
"node_modules/@changesets/get-release-plan": {
- "version": "4.0.11",
- "resolved": "https://registry.npmjs.org/@changesets/get-release-plan/-/get-release-plan-4.0.11.tgz",
- "integrity": "sha512-4DZpsewsc/1m5TArVg5h1c0U94am+cJBnu3izAM3yYIZr8+zZwa3AXYdEyCNURzjx0wWr80u/TWoxshbwdZXOA==",
+ "version": "4.0.13",
+ "resolved": "https://registry.npmjs.org/@changesets/get-release-plan/-/get-release-plan-4.0.13.tgz",
+ "integrity": "sha512-DWG1pus72FcNeXkM12tx+xtExyH/c9I1z+2aXlObH3i9YA7+WZEVaiHzHl03thpvAgWTRaH64MpfHxozfF7Dvg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@changesets/assemble-release-plan": "^6.0.7",
+ "@changesets/assemble-release-plan": "^6.0.9",
"@changesets/config": "^3.1.1",
"@changesets/pre": "^2.0.2",
"@changesets/read": "^0.6.5",
@@ -405,13 +431,15 @@
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/@changesets/get-version-range-type/-/get-version-range-type-0.4.0.tgz",
"integrity": "sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@changesets/git": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/@changesets/git/-/git-3.0.4.tgz",
"integrity": "sha512-BXANzRFkX+XcC1q/d27NKvlJ1yf7PSAgi8JG6dt8EfbHFHi4neau7mufcSca5zRhwOL8j9s6EqsxmT+s+/E6Sw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@changesets/errors": "^0.2.0",
"@manypkg/get-packages": "^1.1.3",
@@ -425,6 +453,7 @@
"resolved": "https://registry.npmjs.org/@changesets/logger/-/logger-0.1.1.tgz",
"integrity": "sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"picocolors": "^1.1.0"
}
@@ -434,6 +463,7 @@
"resolved": "https://registry.npmjs.org/@changesets/parse/-/parse-0.4.1.tgz",
"integrity": "sha512-iwksMs5Bf/wUItfcg+OXrEpravm5rEd9Bf4oyIPL4kVTmJQ7PNDSd6MDYkpSJR1pn7tz/k8Zf2DhTCqX08Ou+Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@changesets/types": "^6.1.0",
"js-yaml": "^3.13.1"
@@ -444,6 +474,7 @@
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"sprintf-js": "~1.0.2"
}
@@ -453,6 +484,7 @@
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
"dev": true,
+ "license": "BSD-2-Clause",
"bin": {
"esparse": "bin/esparse.js",
"esvalidate": "bin/esvalidate.js"
@@ -466,6 +498,7 @@
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
"integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"argparse": "^1.0.7",
"esprima": "^4.0.0"
@@ -479,6 +512,7 @@
"resolved": "https://registry.npmjs.org/@changesets/pre/-/pre-2.0.2.tgz",
"integrity": "sha512-HaL/gEyFVvkf9KFg6484wR9s0qjAXlZ8qWPDkTyKF6+zqjBe/I2mygg3MbpZ++hdi0ToqNUF8cjj7fBy0dg8Ug==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@changesets/errors": "^0.2.0",
"@changesets/types": "^6.1.0",
@@ -491,6 +525,7 @@
"resolved": "https://registry.npmjs.org/@changesets/read/-/read-0.6.5.tgz",
"integrity": "sha512-UPzNGhsSjHD3Veb0xO/MwvasGe8eMyNrR/sT9gR8Q3DhOQZirgKhhXv/8hVsI0QpPjR004Z9iFxoJU6in3uGMg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@changesets/git": "^3.0.4",
"@changesets/logger": "^0.1.1",
@@ -506,6 +541,7 @@
"resolved": "https://registry.npmjs.org/@changesets/should-skip-package/-/should-skip-package-0.1.2.tgz",
"integrity": "sha512-qAK/WrqWLNCP22UDdBTMPH5f41elVDlsNyat180A33dWxuUDyNpg6fPi/FyTZwRriVjg0L8gnjJn2F9XAoF0qw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@changesets/types": "^6.1.0",
"@manypkg/get-packages": "^1.1.3"
@@ -515,13 +551,15 @@
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/@changesets/types/-/types-6.1.0.tgz",
"integrity": "sha512-rKQcJ+o1nKNgeoYRHKOS07tAMNd3YSN0uHaJOZYjBAgxfV7TUE7JE+z4BzZdQwb5hKaYbayKN5KrYV7ODb2rAA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@changesets/write": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/@changesets/write/-/write-0.4.0.tgz",
"integrity": "sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@changesets/types": "^6.1.0",
"fs-extra": "^7.0.1",
@@ -542,6 +580,124 @@
"node": ">=12"
}
},
+ "node_modules/@eslint/eslintrc": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz",
+ "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ajv": "^6.12.4",
+ "debug": "^4.3.2",
+ "espree": "^10.0.1",
+ "globals": "^14.0.0",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^3.1.2",
+ "strip-json-comments": "^3.1.1"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/acorn": {
+ "version": "8.15.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
+ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/eslint-visitor-keys": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
+ "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/espree": {
+ "version": "10.4.0",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz",
+ "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "acorn": "^8.15.0",
+ "acorn-jsx": "^5.3.2",
+ "eslint-visitor-keys": "^4.2.1"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/globals": {
+ "version": "14.0.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
+ "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/ignore": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+ "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/import-fresh": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz",
+ "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/@eth-optimism/core-utils": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/@eth-optimism/core-utils/-/core-utils-0.12.0.tgz",
@@ -1276,6 +1432,52 @@
"node": ">=14"
}
},
+ "node_modules/@inquirer/external-editor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.2.tgz",
+ "integrity": "sha512-yy9cOoBnx58TlsPrIxauKIFQTiyH+0MK4e97y4sV9ERbI+zDxw7i2hxHLCIEGIE/8PPvDxGhgzIOTSOWcs6/MQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chardet": "^2.1.0",
+ "iconv-lite": "^0.7.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@types/node": ">=18"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@inquirer/external-editor/node_modules/chardet": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.0.tgz",
+ "integrity": "sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@inquirer/external-editor/node_modules/iconv-lite": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.0.tgz",
+ "integrity": "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
"node_modules/@jridgewell/resolve-uri": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
@@ -1309,6 +1511,7 @@
"resolved": "https://registry.npmjs.org/@manypkg/find-root/-/find-root-1.1.0.tgz",
"integrity": "sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/runtime": "^7.5.5",
"@types/node": "^12.7.1",
@@ -1320,13 +1523,15 @@
"version": "12.20.55",
"resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz",
"integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@manypkg/find-root/node_modules/find-up": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
"integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"locate-path": "^5.0.0",
"path-exists": "^4.0.0"
@@ -1340,6 +1545,7 @@
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"graceful-fs": "^4.2.0",
"jsonfile": "^4.0.0",
@@ -1354,6 +1560,7 @@
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
"integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-locate": "^4.1.0"
},
@@ -1366,6 +1573,7 @@
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
"integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-try": "^2.0.0"
},
@@ -1381,6 +1589,7 @@
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
"integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-limit": "^2.2.0"
},
@@ -1393,6 +1602,7 @@
"resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
@@ -1402,6 +1612,7 @@
"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"
}
@@ -1411,6 +1622,7 @@
"resolved": "https://registry.npmjs.org/@manypkg/get-packages/-/get-packages-1.1.3.tgz",
"integrity": "sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/runtime": "^7.5.5",
"@changesets/types": "^4.0.1",
@@ -1424,13 +1636,15 @@
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/@changesets/types/-/types-4.1.0.tgz",
"integrity": "sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@manypkg/get-packages/node_modules/fs-extra": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"graceful-fs": "^4.2.0",
"jsonfile": "^4.0.0",
@@ -1445,6 +1659,7 @@
"resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
"integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"array-union": "^2.1.0",
"dir-glob": "^3.0.1",
@@ -1465,6 +1680,7 @@
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
"integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 4"
}
@@ -1822,11 +2038,45 @@
"integrity": "sha512-+wuegAMaLcZnLCJIvrVUDzA9z/Wp93f0Dla/4jJvIhijRrPabjQbZe6fWiECLaJyfn5ci9fqf9vTw3xpQOad2A==",
"dev": true
},
- "node_modules/@openzeppelin/contracts": {
+ "node_modules/@openzeppelin/contracts-4.7.3": {
+ "name": "@openzeppelin/contracts",
+ "version": "4.7.3",
+ "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.7.3.tgz",
+ "integrity": "sha512-dGRS0agJzu8ybo44pCIf3xBaPQN/65AIXNgK8+4gzKd5kbvlqyxryUYVLJv7fK98Seyd2hDZzVEHSWAh0Bt1Yw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@openzeppelin/contracts-4.8.3": {
+ "name": "@openzeppelin/contracts",
+ "version": "4.8.3",
+ "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.8.3.tgz",
+ "integrity": "sha512-bQHV8R9Me8IaJoJ2vPG4rXcL7seB7YVuskr4f+f5RyOStSZetwzkWtoqDMl5erkBJy0lDRUnIR2WIkPiC0GJlg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@openzeppelin/contracts-4.9.6": {
+ "name": "@openzeppelin/contracts",
"version": "4.9.6",
"resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.9.6.tgz",
"integrity": "sha512-xSmezSupL+y9VkHZJGDoCBpmnB2ogM13ccaYDWqJTfS3dbuHkgjuwDFUmaFauBCboQMGB/S5UqUl2y54X99BmA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@openzeppelin/contracts-5.0.2": {
+ "name": "@openzeppelin/contracts",
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-5.0.2.tgz",
+ "integrity": "sha512-ytPc6eLGcHHnapAZ9S+5qsdomhjo6QBHTDRRBFfTxXIpsicMhVPouPgmUPebZZZGX7vt9USA+Z+0M0dSVtSUEA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@openzeppelin/contracts-5.1.0": {
+ "name": "@openzeppelin/contracts",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-5.1.0.tgz",
+ "integrity": "sha512-p1ULhl7BXzjjbha5aqst+QMLY+4/LCWADXOCsmLHRM77AqiPjnd9vvUN9sosUfhL9JGKpZ0TjEGxgvnizmWGSA==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@openzeppelin/contracts-upgradeable": {
"version": "4.9.6",
@@ -1835,10 +2085,11 @@
"dev": true
},
"node_modules/@scroll-tech/contracts": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@scroll-tech/contracts/-/contracts-0.1.0.tgz",
- "integrity": "sha512-aBbDOc3WB/WveZdpJYcrfvMYMz7ZTEiW8M9XMJLba8p9FAR5KGYB/cV+8+EUsq3MKt7C1BfR+WnXoTVdvwIY6w==",
- "dev": true
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@scroll-tech/contracts/-/contracts-2.0.0.tgz",
+ "integrity": "sha512-O8sVaA/bVKH/mp+bBfUjZ/vYr5mdBExCpKRLre4r9TbXTtiaY9Uo5xU8dcG3weLxyK0BZqDTP2aCNp4Q0f7SeA==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@scure/base": {
"version": "1.1.1",
@@ -2688,6 +2939,7 @@
"resolved": "https://registry.npmjs.org/better-path-resolve/-/better-path-resolve-1.0.0.tgz",
"integrity": "sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-windows": "^1.0.0"
},
@@ -3812,6 +4064,7 @@
"resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz",
"integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -3912,6 +4165,13 @@
"integrity": "sha512-97g6QgOk8zlDRdgq1WxwgTMgEWGVAQvB5Fdpgc1MkNy56la5SKP9GsMXKDOdqwn90/41a8yPwIGk1Y6WVbeMQA==",
"dev": true
},
+ "node_modules/encode-utf8": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz",
+ "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/enquirer": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz",
@@ -5321,7 +5581,8 @@
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/extendable-error/-/extendable-error-0.1.7.tgz",
"integrity": "sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/external-editor": {
"version": "3.1.0",
@@ -5493,6 +5754,16 @@
"integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==",
"dev": true
},
+ "node_modules/fmix": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/fmix/-/fmix-0.1.0.tgz",
+ "integrity": "sha512-Y6hyofImk9JdzU8k5INtTXX1cu8LDlePWDFU5sftm9H+zKCr5SGrVjdhkvsim646cw5zD0nADj8oHyXMZmCZ9w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "imul": "^1.0.0"
+ }
+ },
"node_modules/follow-redirects": {
"version": "1.15.2",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
@@ -6012,6 +6283,19 @@
"hardhat": "^2.0.2"
}
},
+ "node_modules/hardhat-preprocessor": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/hardhat-preprocessor/-/hardhat-preprocessor-0.1.5.tgz",
+ "integrity": "sha512-j8m44mmPxpxAAd0G8fPHRHOas/INZdzptSur0TNJvMEGcFdLDhbHHxBcqZVQ/bmiW42q4gC60AP4CXn9EF018g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "murmur-128": "^0.2.1"
+ },
+ "peerDependencies": {
+ "hardhat": "^2.0.5"
+ }
+ },
"node_modules/hardhat/node_modules/ethereum-cryptography": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.1.2.tgz",
@@ -6234,6 +6518,7 @@
"resolved": "https://registry.npmjs.org/human-id/-/human-id-4.1.1.tgz",
"integrity": "sha512-3gKm/gCSUipeLsRYZbbdA1BD83lBoWUkZ7G9VFrhWPAU76KwYo5KR8V28bpoPm/ygy0x5/GCbpRQdY7VLYCoIg==",
"dev": true,
+ "license": "MIT",
"bin": {
"human-id": "dist/cli.js"
}
@@ -6302,6 +6587,16 @@
"node": ">=4"
}
},
+ "node_modules/imul": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/imul/-/imul-1.0.1.tgz",
+ "integrity": "sha512-WFAgfwPLAjU66EKt6vRdTlKj4nAgIDQzh29JonLa4Bqtl6D8JrIMvWjCnx7xEjVNmP3U0fM5o8ZObk7d0f62bA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/imurmurhash": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
@@ -6800,6 +7095,7 @@
"resolved": "https://registry.npmjs.org/is-subdir/-/is-subdir-1.2.0.tgz",
"integrity": "sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"better-path-resolve": "1.0.0"
},
@@ -6872,6 +7168,7 @@
"resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
"integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -7271,7 +7568,8 @@
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz",
"integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/lodash.truncate": {
"version": "4.4.2",
@@ -7882,6 +8180,7 @@
"resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
"integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
@@ -7892,6 +8191,18 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
+ "node_modules/murmur-128": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/murmur-128/-/murmur-128-0.2.1.tgz",
+ "integrity": "sha512-WseEgiRkI6aMFBbj8Cg9yBj/y+OdipwVC7zUo3W2W1JAJITwouUOtpqsmGSg67EQmwwSyod7hsVsWY5LsrfQVg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "encode-utf8": "^1.0.2",
+ "fmix": "^0.1.0",
+ "imul": "^1.0.0"
+ }
+ },
"node_modules/mute-stream": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
@@ -8209,13 +8520,15 @@
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/outdent/-/outdent-0.5.0.tgz",
"integrity": "sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/p-filter": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/p-filter/-/p-filter-2.1.0.tgz",
"integrity": "sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-map": "^2.0.0"
},
@@ -8228,6 +8541,7 @@
"resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz",
"integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
@@ -8285,6 +8599,7 @@
"resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-0.2.11.tgz",
"integrity": "sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"quansync": "^0.2.7"
}
@@ -8632,7 +8947,8 @@
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
"integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/picomatch": {
"version": "2.3.1",
@@ -8864,9 +9180,9 @@
}
},
"node_modules/quansync": {
- "version": "0.2.10",
- "resolved": "https://registry.npmjs.org/quansync/-/quansync-0.2.10.tgz",
- "integrity": "sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==",
+ "version": "0.2.11",
+ "resolved": "https://registry.npmjs.org/quansync/-/quansync-0.2.11.tgz",
+ "integrity": "sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==",
"dev": true,
"funding": [
{
@@ -8877,7 +9193,8 @@
"type": "individual",
"url": "https://github.com/sponsors/sxzz"
}
- ]
+ ],
+ "license": "MIT"
},
"node_modules/queue-microtask": {
"version": "1.2.3",
@@ -8928,6 +9245,7 @@
"resolved": "https://registry.npmjs.org/read-yaml-file/-/read-yaml-file-1.1.0.tgz",
"integrity": "sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"graceful-fs": "^4.1.5",
"js-yaml": "^3.6.1",
@@ -8943,6 +9261,7 @@
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"sprintf-js": "~1.0.2"
}
@@ -8952,6 +9271,7 @@
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
"dev": true,
+ "license": "BSD-2-Clause",
"bin": {
"esparse": "bin/esparse.js",
"esvalidate": "bin/esvalidate.js"
@@ -8965,6 +9285,7 @@
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
"integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"argparse": "^1.0.7",
"esprima": "^4.0.0"
@@ -10028,6 +10349,7 @@
"resolved": "https://registry.npmjs.org/spawndamnit/-/spawndamnit-3.0.1.tgz",
"integrity": "sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg==",
"dev": true,
+ "license": "SEE LICENSE IN LICENSE",
"dependencies": {
"cross-spawn": "^7.0.5",
"signal-exit": "^4.0.1"
@@ -10038,6 +10360,7 @@
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": ">=14"
},
@@ -10233,6 +10556,7 @@
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
"integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
@@ -10494,6 +10818,7 @@
"resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz",
"integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
},
diff --git a/package.json b/package.json
index 2ddd95a3..233d9bb0 100644
--- a/package.json
+++ b/package.json
@@ -15,7 +15,7 @@
"fuzzing": "docker run -it --rm -v $PWD:/src trailofbits/eth-security-toolbox"
},
"devDependencies": {
- "@chainlink/contracts": "^1.4.0",
+ "@chainlink/contracts": "1.5.0",
"@ethersproject/abi": "^5.7.0",
"@ethersproject/providers": "^5.7.1",
"@nomicfoundation/hardhat-chai-matchers": "^1.0.3",
@@ -29,6 +29,7 @@
"ethers": "^5.7.1",
"hardhat": "^2.22.3",
"hardhat-gas-reporter": "^1.0.9",
+ "hardhat-preprocessor": "^0.1.5",
"husky": "^8.0.1",
"lint-staged": "^13.0.3",
"prettier": "^2.7.1",
diff --git a/remappings-helper.js b/remappings-helper.js
new file mode 100644
index 00000000..911b11da
--- /dev/null
+++ b/remappings-helper.js
@@ -0,0 +1,73 @@
+require("hardhat-preprocessor");
+const fs = require("fs");
+
+/**
+ * Loads Solidity import remappings from a `remappings.txt` file.
+ *
+ * Each line in `remappings.txt` should be in the format:
+ * =
+ * For example:
+ * @openzeppelin/=node_modules/@openzeppelin/
+ *
+ * This function:
+ * 1. Reads all lines from `./remappings.txt`.
+ * 2. Splits each line into an alias (`from`) and its target path (`to`).
+ * 3. Stores the mappings in an object for quick lookup.
+ *
+ * @returns {Object} An object mapping import aliases to their resolved paths.
+ */
+function loadRemappings() {
+ const lines = fs.readFileSync("./remappings.txt", "utf-8").split(/\r?\n|\r/);
+ const map = {};
+ for (const line of lines) {
+ const [from, to] = line.split("=");
+ map[from] = to;
+ }
+ return map;
+}
+
+/**
+ * Configures a Hardhat preprocessor to apply Solidity import remappings.
+ *
+ * This function:
+ * 1. Loads alias-to-path mappings from `remappings.txt` via `loadRemappings()`.
+ * 2. Returns a configuration object compatible with the `hardhat-preprocessor` plugin.
+ * 3. For each line of a Solidity file, if the line is an `import` statement, it checks
+ * whether any alias (`from`) appears in the line. If so, the alias is replaced with
+ * its corresponding path (`to`).
+ * 4. Provides the full remappings in `settings` for reference or debugging.
+ *
+ * Example:
+ * If `remappings.txt` contains:
+ * @openzeppelin/=node_modules/@openzeppelin/
+ *
+ * Then this import:
+ * import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
+ *
+ * Will be rewritten to:
+ * import "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol";
+ *
+ * @returns {Object} A Hardhat preprocessor configuration with an `eachLine` hook
+ * that rewrites import paths according to defined remappings.
+ */
+function remapImportPaths(){
+ const remap = loadRemappings();
+ return {
+ eachLine: () => ({
+ transform: (line) => {
+ const text = line.trim();
+ if (text.startsWith("import ")) {
+ for (const [from, to] of Object.entries(remap)) {
+ if (text.includes(from)) {
+ return line.replace(from, to);
+ }
+ }
+ }
+ return line;
+ },
+ settings: { remappings: remap },
+ }),
+ };
+}
+
+module.exports={remapImportPaths}
\ No newline at end of file
diff --git a/remappings.txt b/remappings.txt
new file mode 100644
index 00000000..e1af192d
--- /dev/null
+++ b/remappings.txt
@@ -0,0 +1,5 @@
+@openzeppelin/contracts@4.7.3/=node_modules/@openzeppelin/contracts-4.7.3/
+@openzeppelin/contracts@4.8.3/=node_modules/@openzeppelin/contracts-4.8.3/
+@openzeppelin/contracts@4.9.6/=node_modules/@openzeppelin/contracts-4.9.6/
+@openzeppelin/contracts@5.0.2/=node_modules/@openzeppelin/contracts-5.0.2/
+@openzeppelin/contracts@5.1.0/=node_modules/@openzeppelin/contracts-5.1.0/
\ No newline at end of file
diff --git a/test/staging/RandomNumberConsumer.spec.js b/test/staging/RandomNumberConsumer.spec.js
index 7174d2b8..85d88be0 100644
--- a/test/staging/RandomNumberConsumer.spec.js
+++ b/test/staging/RandomNumberConsumer.spec.js
@@ -1,8 +1,8 @@
const { network, ethers } = require("hardhat")
const { networkConfig, developmentChains } = require("../../helper-hardhat-config")
const { assert } = require("chai")
-const VRF_COORDINATOR_ABI = require("@chainlink/contracts/abi/v0.8/VRFCoordinatorV2_5.json")
-const LINK_TOKEN_ABI = require("@chainlink/contracts/abi/v0.8/LinkToken.json")
+const VRF_COORDINATOR_ABI = require("@chainlink/contracts/abi/v0.8/vrf/VRFCoordinatorV2_5.abi.json")
+const LINK_TOKEN_ABI = require("@chainlink/contracts/abi/v0.8/shared/LinkToken.abi.json")
developmentChains.includes(network.name)
? describe.skip
diff --git a/test/staging/RandomNumberDirectFundingConsumer.spec.js b/test/staging/RandomNumberDirectFundingConsumer.spec.js
index 11535ac3..f9e4b2ea 100644
--- a/test/staging/RandomNumberDirectFundingConsumer.spec.js
+++ b/test/staging/RandomNumberDirectFundingConsumer.spec.js
@@ -1,7 +1,7 @@
const { network, ethers } = require("hardhat")
const { networkConfig, developmentChains } = require("../../helper-hardhat-config")
const { assert } = require("chai")
-const LINK_TOKEN_ABI = require("@chainlink/contracts/abi/v0.8/LinkToken.json")
+const LINK_TOKEN_ABI = require("@chainlink/contracts/abi/v0.8/shared/LinkToken.abi.json")
developmentChains.includes(network.name)
? describe.skip
diff --git a/yarn.lock b/yarn.lock
index 0a795f0a..cf900318 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -35,29 +35,34 @@
js-tokens "^4.0.0"
"@babel/runtime@^7.5.5":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.1.tgz"
- integrity sha512-1x3D2xEk2fRo3PAhwQwu5UubzgiVWSXTBfWpVd2Mx2AzRqJuDJCsgaDVZ7HB5iGzDW1Hl1sWN2mFyKjmR9uAog==
+ version "7.28.4"
+ resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz"
+ integrity sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==
-"@chainlink/contracts@^1.4.0":
- version "1.4.0"
- resolved "https://registry.npmjs.org/@chainlink/contracts/-/contracts-1.4.0.tgz"
- integrity sha512-SpNCJ0TPOI6pa2l702Wk4WIP8ccw5ARcRP1E/ZTqaFffXNoZeF03WhsVL8f3l3OTRFA9Z40O5KcZzmJmZQkoFA==
+"@chainlink/contracts@1.5.0":
+ version "1.5.0"
+ resolved "https://registry.npmjs.org/@chainlink/contracts/-/contracts-1.5.0.tgz"
+ integrity sha512-1fGJwjvivqAxvVOTqZUEXGR54CATtg0vjcXgSIk4Cfoad2nUhSG/qaWHXjLg1CkNTeOoteoxGQcpP/HiA5HsUA==
dependencies:
"@arbitrum/nitro-contracts" "3.0.0"
- "@changesets/cli" "~2.28.1"
+ "@changesets/cli" "^2.29.6"
"@changesets/get-github-info" "^0.6.0"
+ "@eslint/eslintrc" "^3.3.1"
"@eth-optimism/contracts" "0.6.0"
- "@openzeppelin/contracts" "4.9.6"
+ "@openzeppelin/contracts-4.7.3" "npm:@openzeppelin/contracts@4.7.3"
+ "@openzeppelin/contracts-4.8.3" "npm:@openzeppelin/contracts@4.8.3"
+ "@openzeppelin/contracts-4.9.6" "npm:@openzeppelin/contracts@4.9.6"
+ "@openzeppelin/contracts-5.0.2" "npm:@openzeppelin/contracts@5.0.2"
+ "@openzeppelin/contracts-5.1.0" "npm:@openzeppelin/contracts@5.1.0"
"@openzeppelin/contracts-upgradeable" "4.9.6"
- "@scroll-tech/contracts" "0.1.0"
+ "@scroll-tech/contracts" "2.0.0"
"@zksync/contracts" "github:matter-labs/era-contracts#446d391d34bdb48255d5f8fef8a8248925fc98b9"
- semver "^7.7.1"
+ semver "^7.7.2"
-"@changesets/apply-release-plan@^7.0.10":
- version "7.0.12"
- resolved "https://registry.npmjs.org/@changesets/apply-release-plan/-/apply-release-plan-7.0.12.tgz"
- integrity sha512-EaET7As5CeuhTzvXTQCRZeBUcisoYPDDcXvgTE/2jmmypKp0RC7LxKj/yzqeh/1qFTZI7oDGFcL1PHRuQuketQ==
+"@changesets/apply-release-plan@^7.0.13":
+ version "7.0.13"
+ resolved "https://registry.npmjs.org/@changesets/apply-release-plan/-/apply-release-plan-7.0.13.tgz"
+ integrity sha512-BIW7bofD2yAWoE8H4V40FikC+1nNFEKBisMECccS16W1rt6qqhNTBDmIw5HaqmMgtLNz9e7oiALiEUuKrQ4oHg==
dependencies:
"@changesets/config" "^3.1.1"
"@changesets/get-version-range-type" "^0.4.0"
@@ -73,10 +78,10 @@
resolve-from "^5.0.0"
semver "^7.5.3"
-"@changesets/assemble-release-plan@^6.0.6", "@changesets/assemble-release-plan@^6.0.7":
- version "6.0.7"
- resolved "https://registry.npmjs.org/@changesets/assemble-release-plan/-/assemble-release-plan-6.0.7.tgz"
- integrity sha512-vS5J92Rm7ZUcrvtu6WvggGWIdohv8s1/3ypRYQX8FsPO+KPDx6JaNC3YwSfh2umY/faGGfNnq42A7PRT0aZPFw==
+"@changesets/assemble-release-plan@^6.0.9":
+ version "6.0.9"
+ resolved "https://registry.npmjs.org/@changesets/assemble-release-plan/-/assemble-release-plan-6.0.9.tgz"
+ integrity sha512-tPgeeqCHIwNo8sypKlS3gOPmsS3wP0zHt67JDuL20P4QcXiw/O4Hl7oXiuLnP9yg+rXLQ2sScdV1Kkzde61iSQ==
dependencies:
"@changesets/errors" "^0.2.0"
"@changesets/get-dependents-graph" "^2.1.3"
@@ -92,30 +97,30 @@
dependencies:
"@changesets/types" "^6.1.0"
-"@changesets/cli@~2.28.1":
- version "2.28.1"
- resolved "https://registry.npmjs.org/@changesets/cli/-/cli-2.28.1.tgz"
- integrity sha512-PiIyGRmSc6JddQJe/W1hRPjiN4VrMvb2VfQ6Uydy2punBioQrsxppyG5WafinKcW1mT0jOe/wU4k9Zy5ff21AA==
+"@changesets/cli@^2.29.6":
+ version "2.29.7"
+ resolved "https://registry.npmjs.org/@changesets/cli/-/cli-2.29.7.tgz"
+ integrity sha512-R7RqWoaksyyKXbKXBTbT4REdy22yH81mcFK6sWtqSanxUCbUi9Uf+6aqxZtDQouIqPdem2W56CdxXgsxdq7FLQ==
dependencies:
- "@changesets/apply-release-plan" "^7.0.10"
- "@changesets/assemble-release-plan" "^6.0.6"
+ "@changesets/apply-release-plan" "^7.0.13"
+ "@changesets/assemble-release-plan" "^6.0.9"
"@changesets/changelog-git" "^0.2.1"
"@changesets/config" "^3.1.1"
"@changesets/errors" "^0.2.0"
"@changesets/get-dependents-graph" "^2.1.3"
- "@changesets/get-release-plan" "^4.0.8"
- "@changesets/git" "^3.0.2"
+ "@changesets/get-release-plan" "^4.0.13"
+ "@changesets/git" "^3.0.4"
"@changesets/logger" "^0.1.1"
"@changesets/pre" "^2.0.2"
- "@changesets/read" "^0.6.3"
+ "@changesets/read" "^0.6.5"
"@changesets/should-skip-package" "^0.1.2"
"@changesets/types" "^6.1.0"
"@changesets/write" "^0.4.0"
+ "@inquirer/external-editor" "^1.0.0"
"@manypkg/get-packages" "^1.1.3"
ansi-colors "^4.1.3"
ci-info "^3.7.0"
enquirer "^2.4.1"
- external-editor "^3.1.0"
fs-extra "^7.0.1"
mri "^1.2.0"
p-limit "^2.2.0"
@@ -164,12 +169,12 @@
dataloader "^1.4.0"
node-fetch "^2.5.0"
-"@changesets/get-release-plan@^4.0.8":
- version "4.0.11"
- resolved "https://registry.npmjs.org/@changesets/get-release-plan/-/get-release-plan-4.0.11.tgz"
- integrity sha512-4DZpsewsc/1m5TArVg5h1c0U94am+cJBnu3izAM3yYIZr8+zZwa3AXYdEyCNURzjx0wWr80u/TWoxshbwdZXOA==
+"@changesets/get-release-plan@^4.0.13":
+ version "4.0.13"
+ resolved "https://registry.npmjs.org/@changesets/get-release-plan/-/get-release-plan-4.0.13.tgz"
+ integrity sha512-DWG1pus72FcNeXkM12tx+xtExyH/c9I1z+2aXlObH3i9YA7+WZEVaiHzHl03thpvAgWTRaH64MpfHxozfF7Dvg==
dependencies:
- "@changesets/assemble-release-plan" "^6.0.7"
+ "@changesets/assemble-release-plan" "^6.0.9"
"@changesets/config" "^3.1.1"
"@changesets/pre" "^2.0.2"
"@changesets/read" "^0.6.5"
@@ -181,7 +186,7 @@
resolved "https://registry.npmjs.org/@changesets/get-version-range-type/-/get-version-range-type-0.4.0.tgz"
integrity sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==
-"@changesets/git@^3.0.2", "@changesets/git@^3.0.4":
+"@changesets/git@^3.0.4":
version "3.0.4"
resolved "https://registry.npmjs.org/@changesets/git/-/git-3.0.4.tgz"
integrity sha512-BXANzRFkX+XcC1q/d27NKvlJ1yf7PSAgi8JG6dt8EfbHFHi4neau7mufcSca5zRhwOL8j9s6EqsxmT+s+/E6Sw==
@@ -217,7 +222,7 @@
"@manypkg/get-packages" "^1.1.3"
fs-extra "^7.0.1"
-"@changesets/read@^0.6.3", "@changesets/read@^0.6.5":
+"@changesets/read@^0.6.5":
version "0.6.5"
resolved "https://registry.npmjs.org/@changesets/read/-/read-0.6.5.tgz"
integrity sha512-UPzNGhsSjHD3Veb0xO/MwvasGe8eMyNrR/sT9gR8Q3DhOQZirgKhhXv/8hVsI0QpPjR004Z9iFxoJU6in3uGMg==
@@ -265,6 +270,21 @@
dependencies:
"@jridgewell/trace-mapping" "0.3.9"
+"@eslint/eslintrc@^3.3.1":
+ version "3.3.1"
+ resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz"
+ integrity sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==
+ dependencies:
+ ajv "^6.12.4"
+ debug "^4.3.2"
+ espree "^10.0.1"
+ globals "^14.0.0"
+ ignore "^5.2.0"
+ import-fresh "^3.2.1"
+ js-yaml "^4.1.0"
+ minimatch "^3.1.2"
+ strip-json-comments "^3.1.1"
+
"@eth-optimism/contracts@0.6.0":
version "0.6.0"
resolved "https://registry.npmjs.org/@eth-optimism/contracts/-/contracts-0.6.0.tgz"
@@ -643,6 +663,14 @@
resolved "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz"
integrity sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==
+"@inquirer/external-editor@^1.0.0":
+ version "1.0.2"
+ resolved "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.2.tgz"
+ integrity sha512-yy9cOoBnx58TlsPrIxauKIFQTiyH+0MK4e97y4sV9ERbI+zDxw7i2hxHLCIEGIE/8PPvDxGhgzIOTSOWcs6/MQ==
+ dependencies:
+ chardet "^2.1.0"
+ iconv-lite "^0.7.0"
+
"@jridgewell/resolve-uri@^3.0.3":
version "3.1.0"
resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz"
@@ -846,6 +874,31 @@
"@openzeppelin/contracts" "4.7.3"
"@openzeppelin/contracts-upgradeable" "4.7.3"
+"@openzeppelin/contracts-4.7.3@npm:@openzeppelin/contracts@4.7.3":
+ version "4.7.3"
+ resolved "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.7.3.tgz"
+ integrity sha512-dGRS0agJzu8ybo44pCIf3xBaPQN/65AIXNgK8+4gzKd5kbvlqyxryUYVLJv7fK98Seyd2hDZzVEHSWAh0Bt1Yw==
+
+"@openzeppelin/contracts-4.8.3@npm:@openzeppelin/contracts@4.8.3":
+ version "4.8.3"
+ resolved "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.8.3.tgz"
+ integrity sha512-bQHV8R9Me8IaJoJ2vPG4rXcL7seB7YVuskr4f+f5RyOStSZetwzkWtoqDMl5erkBJy0lDRUnIR2WIkPiC0GJlg==
+
+"@openzeppelin/contracts-4.9.6@npm:@openzeppelin/contracts@4.9.6":
+ version "4.9.6"
+ resolved "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.9.6.tgz"
+ integrity sha512-xSmezSupL+y9VkHZJGDoCBpmnB2ogM13ccaYDWqJTfS3dbuHkgjuwDFUmaFauBCboQMGB/S5UqUl2y54X99BmA==
+
+"@openzeppelin/contracts-5.0.2@npm:@openzeppelin/contracts@5.0.2":
+ version "5.0.2"
+ resolved "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-5.0.2.tgz"
+ integrity sha512-ytPc6eLGcHHnapAZ9S+5qsdomhjo6QBHTDRRBFfTxXIpsicMhVPouPgmUPebZZZGX7vt9USA+Z+0M0dSVtSUEA==
+
+"@openzeppelin/contracts-5.1.0@npm:@openzeppelin/contracts@5.1.0":
+ version "5.1.0"
+ resolved "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-5.1.0.tgz"
+ integrity sha512-p1ULhl7BXzjjbha5aqst+QMLY+4/LCWADXOCsmLHRM77AqiPjnd9vvUN9sosUfhL9JGKpZ0TjEGxgvnizmWGSA==
+
"@openzeppelin/contracts-upgradeable@4.7.3":
version "4.7.3"
resolved "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-4.7.3.tgz"
@@ -861,15 +914,10 @@
resolved "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.7.3.tgz"
integrity sha512-dGRS0agJzu8ybo44pCIf3xBaPQN/65AIXNgK8+4gzKd5kbvlqyxryUYVLJv7fK98Seyd2hDZzVEHSWAh0Bt1Yw==
-"@openzeppelin/contracts@4.9.6":
- version "4.9.6"
- resolved "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.9.6.tgz"
- integrity sha512-xSmezSupL+y9VkHZJGDoCBpmnB2ogM13ccaYDWqJTfS3dbuHkgjuwDFUmaFauBCboQMGB/S5UqUl2y54X99BmA==
-
-"@scroll-tech/contracts@0.1.0":
- version "0.1.0"
- resolved "https://registry.npmjs.org/@scroll-tech/contracts/-/contracts-0.1.0.tgz"
- integrity sha512-aBbDOc3WB/WveZdpJYcrfvMYMz7ZTEiW8M9XMJLba8p9FAR5KGYB/cV+8+EUsq3MKt7C1BfR+WnXoTVdvwIY6w==
+"@scroll-tech/contracts@2.0.0":
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/@scroll-tech/contracts/-/contracts-2.0.0.tgz"
+ integrity sha512-O8sVaA/bVKH/mp+bBfUjZ/vYr5mdBExCpKRLre4r9TbXTtiaY9Uo5xU8dcG3weLxyK0BZqDTP2aCNp4Q0f7SeA==
"@scure/base@~1.1.0":
version "1.1.1"
@@ -1071,7 +1119,7 @@
resolved "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.1.tgz"
integrity sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==
-"@types/node@*", "@types/node@>=12.0.0":
+"@types/node@*", "@types/node@>=12.0.0", "@types/node@>=18":
version "18.15.13"
resolved "https://registry.npmjs.org/@types/node/-/node-18.15.13.tgz"
integrity sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==
@@ -1130,7 +1178,7 @@ abbrev@1, abbrev@1.0.x:
resolved "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz"
integrity sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q==
-acorn-jsx@^5.0.0:
+acorn-jsx@^5.0.0, acorn-jsx@^5.3.2:
version "5.3.2"
resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz"
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
@@ -1145,6 +1193,11 @@ acorn-walk@^8.1.1:
resolved "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz"
integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==
+acorn@^8.15.0:
+ version "8.15.0"
+ resolved "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz"
+ integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==
+
acorn@^8.4.1:
version "8.8.0"
resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz"
@@ -1175,7 +1228,7 @@ aggregate-error@^3.0.0:
clean-stack "^2.0.0"
indent-string "^4.0.0"
-ajv@^6.10.2, ajv@^6.12.3, ajv@^6.6.1, ajv@^6.9.1:
+ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.6.1, ajv@^6.9.1:
version "6.12.6"
resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz"
integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
@@ -1704,6 +1757,11 @@ chardet@^0.7.0:
resolved "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz"
integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
+chardet@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/chardet/-/chardet-2.1.0.tgz"
+ integrity sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==
+
"charenc@>= 0.0.1":
version "0.0.2"
resolved "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz"
@@ -2050,7 +2108,7 @@ death@^1.1.0:
resolved "https://registry.npmjs.org/death/-/death-1.1.0.tgz"
integrity sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w==
-debug@^4.0.1, debug@^4.1.1, debug@^4.3.1, debug@^4.3.4, debug@4, debug@4.3.4:
+debug@^4.0.1, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@4, debug@4.3.4:
version "4.3.4"
resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
@@ -2211,6 +2269,11 @@ emoji-regex@^9.2.2:
resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz"
integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==
+encode-utf8@^1.0.2:
+ version "1.0.3"
+ resolved "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz"
+ integrity sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==
+
enquirer@^2.3.0, enquirer@^2.4.1, "enquirer@>= 2.3.0 < 3":
version "2.4.1"
resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz"
@@ -2377,6 +2440,11 @@ eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0:
resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz"
integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
+eslint-visitor-keys@^4.2.1:
+ version "4.2.1"
+ resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz"
+ integrity sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==
+
eslint@^5.6.0:
version "5.16.0"
resolved "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz"
@@ -2419,6 +2487,15 @@ eslint@^5.6.0:
table "^5.2.3"
text-table "^0.2.0"
+espree@^10.0.1:
+ version "10.4.0"
+ resolved "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz"
+ integrity sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==
+ dependencies:
+ acorn "^8.15.0"
+ acorn-jsx "^5.3.2"
+ eslint-visitor-keys "^4.2.1"
+
espree@^5.0.1:
version "5.0.1"
resolved "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz"
@@ -2681,7 +2758,7 @@ extendable-error@^0.1.5:
resolved "https://registry.npmjs.org/extendable-error/-/extendable-error-0.1.7.tgz"
integrity sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==
-external-editor@^3.0.3, external-editor@^3.1.0:
+external-editor@^3.0.3:
version "3.1.0"
resolved "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz"
integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==
@@ -2824,6 +2901,13 @@ flatted@^2.0.0:
resolved "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz"
integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==
+fmix@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.npmjs.org/fmix/-/fmix-0.1.0.tgz"
+ integrity sha512-Y6hyofImk9JdzU8k5INtTXX1cu8LDlePWDFU5sftm9H+zKCr5SGrVjdhkvsim646cw5zD0nADj8oHyXMZmCZ9w==
+ dependencies:
+ imul "^1.0.0"
+
follow-redirects@^1.12.1:
version "1.15.2"
resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz"
@@ -3090,6 +3174,11 @@ globals@^11.7.0:
resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz"
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
+globals@^14.0.0:
+ version "14.0.0"
+ resolved "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz"
+ integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==
+
globalthis@^1.0.3:
version "1.0.3"
resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz"
@@ -3174,7 +3263,14 @@ hardhat-gas-reporter@^1.0.8, hardhat-gas-reporter@^1.0.9:
eth-gas-reporter "^0.2.25"
sha1 "^1.1.1"
-hardhat@^2.0.0, hardhat@^2.0.2, hardhat@^2.0.4, hardhat@^2.11.0, hardhat@^2.22.3, hardhat@^2.9.4, hardhat@^2.9.5, hardhat@^2.9.9:
+hardhat-preprocessor@^0.1.5:
+ version "0.1.5"
+ resolved "https://registry.npmjs.org/hardhat-preprocessor/-/hardhat-preprocessor-0.1.5.tgz"
+ integrity sha512-j8m44mmPxpxAAd0G8fPHRHOas/INZdzptSur0TNJvMEGcFdLDhbHHxBcqZVQ/bmiW42q4gC60AP4CXn9EF018g==
+ dependencies:
+ murmur-128 "^0.2.1"
+
+hardhat@^2.0.0, hardhat@^2.0.2, hardhat@^2.0.4, hardhat@^2.0.5, hardhat@^2.11.0, hardhat@^2.22.3, hardhat@^2.9.4, hardhat@^2.9.5, hardhat@^2.9.9:
version "2.22.3"
resolved "https://registry.npmjs.org/hardhat/-/hardhat-2.22.3.tgz"
integrity sha512-k8JV2ECWNchD6ahkg2BR5wKVxY0OiKot7fuxiIpRK0frRqyOljcR2vKwgWSLw6YIeDcNNA4xybj7Og7NSxr2hA==
@@ -3385,6 +3481,13 @@ iconv-lite@^0.4.24, iconv-lite@0.4.24:
dependencies:
safer-buffer ">= 2.1.2 < 3"
+iconv-lite@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.0.tgz"
+ integrity sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==
+ dependencies:
+ safer-buffer ">= 2.1.2 < 3.0.0"
+
ignore@^4.0.6:
version "4.0.6"
resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz"
@@ -3421,6 +3524,19 @@ import-fresh@^3.0.0:
parent-module "^1.0.0"
resolve-from "^4.0.0"
+import-fresh@^3.2.1:
+ version "3.3.1"
+ resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz"
+ integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==
+ dependencies:
+ parent-module "^1.0.0"
+ resolve-from "^4.0.0"
+
+imul@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/imul/-/imul-1.0.1.tgz"
+ integrity sha512-WFAgfwPLAjU66EKt6vRdTlKj4nAgIDQzh29JonLa4Bqtl6D8JrIMvWjCnx7xEjVNmP3U0fM5o8ZObk7d0f62bA==
+
imurmurhash@^0.1.4:
version "0.1.4"
resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz"
@@ -3763,6 +3879,13 @@ js-yaml@^3.6.1:
argparse "^1.0.7"
esprima "^4.0.0"
+js-yaml@^4.1.0, js-yaml@4.1.0:
+ version "4.1.0"
+ resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz"
+ integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
+ dependencies:
+ argparse "^2.0.1"
+
js-yaml@3.13.1:
version "3.13.1"
resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz"
@@ -3779,13 +3902,6 @@ js-yaml@3.x:
argparse "^1.0.7"
esprima "^4.0.0"
-js-yaml@4.1.0:
- version "4.1.0"
- resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz"
- integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
- dependencies:
- argparse "^2.0.1"
-
jsbn@~0.1.0:
version "0.1.1"
resolved "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz"
@@ -4106,7 +4222,7 @@ minimalistic-crypto-utils@^1.0.1:
resolved "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz"
integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==
-minimatch@^3.0.4, "minimatch@2 || 3":
+minimatch@^3.0.4, minimatch@^3.1.2, "minimatch@2 || 3":
version "3.1.2"
resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz"
integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
@@ -4234,6 +4350,15 @@ ms@2.1.3:
resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
+murmur-128@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.npmjs.org/murmur-128/-/murmur-128-0.2.1.tgz"
+ integrity sha512-WseEgiRkI6aMFBbj8Cg9yBj/y+OdipwVC7zUo3W2W1JAJITwouUOtpqsmGSg67EQmwwSyod7hsVsWY5LsrfQVg==
+ dependencies:
+ encode-utf8 "^1.0.2"
+ fmix "^0.1.0"
+ imul "^1.0.0"
+
mute-stream@0.0.7:
version "0.0.7"
resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz"
@@ -4733,9 +4858,9 @@ qs@~6.5.2:
integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==
quansync@^0.2.7:
- version "0.2.10"
- resolved "https://registry.npmjs.org/quansync/-/quansync-0.2.10.tgz"
- integrity sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==
+ version "0.2.11"
+ resolved "https://registry.npmjs.org/quansync/-/quansync-0.2.11.tgz"
+ integrity sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==
queue-microtask@^1.2.2:
version "1.2.3"
@@ -5040,7 +5165,7 @@ safe-regex-test@^1.0.3:
es-errors "^1.3.0"
is-regex "^1.1.4"
-safer-buffer@^2.0.2, safer-buffer@^2.1.0, "safer-buffer@>= 2.1.2 < 3", safer-buffer@~2.1.0:
+safer-buffer@^2.0.2, safer-buffer@^2.1.0, "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@~2.1.0:
version "2.1.2"
resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
@@ -5119,14 +5244,14 @@ semver@^7.3.7:
lru-cache "^6.0.0"
semver@^7.5.3:
- version "7.7.1"
- resolved "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz"
- integrity sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==
+ version "7.7.2"
+ resolved "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz"
+ integrity sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==
-semver@^7.7.1:
- version "7.7.1"
- resolved "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz"
- integrity sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==
+semver@^7.7.2:
+ version "7.7.2"
+ resolved "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz"
+ integrity sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==
serialize-javascript@6.0.0:
version "6.0.0"
@@ -5612,16 +5737,16 @@ strip-json-comments@^2.0.1:
resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz"
integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==
+strip-json-comments@^3.1.1, strip-json-comments@3.1.1:
+ version "3.1.1"
+ resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz"
+ integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
+
strip-json-comments@2.0.1:
version "2.0.1"
resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz"
integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==
-strip-json-comments@3.1.1:
- version "3.1.1"
- resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz"
- integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
-
supports-color@^3.1.0:
version "3.2.3"
resolved "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz"