diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..61e4a1a --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,21 @@ +on: + workflow_dispatch: + push: + branches: + - "main" + pull_request: + +jobs: + lint: + uses: "rhinestonewtf/reusable-workflows/.github/workflows/forge-lint.yaml@main" + + build: + uses: "rhinestonewtf/reusable-workflows/.github/workflows/forge-build.yaml@main" + + test: + needs: ["lint", "build"] + uses: "rhinestonewtf/reusable-workflows/.github/workflows/forge-test.yaml@main" + with: + foundry-fuzz-runs: 5000 + foundry-profile: "test" + match-path: "test/**/*.sol" diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml deleted file mode 100644 index 09880b1..0000000 --- a/.github/workflows/test.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: test - -on: workflow_dispatch - -env: - FOUNDRY_PROFILE: ci - -jobs: - check: - strategy: - fail-fast: true - - name: Foundry project - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - with: - submodules: recursive - - - name: Install Foundry - uses: foundry-rs/foundry-toolchain@v1 - with: - version: nightly - - - name: Run Forge build - run: | - forge --version - forge build --sizes - id: build - - - name: Run Forge tests - run: | - forge test -vvv - id: test diff --git a/.gitignore b/.gitignore index dbba2fb..a0d6371 100644 --- a/.gitignore +++ b/.gitignore @@ -9,12 +9,3 @@ docs/ # Dotenv file .env node_modules - -# Samples -/src/validators/SimpleValidator.sol -/src/executors/SimpleExecutor.sol -/src/hooks/SimpleHook.sol - -/test/validators/SimpleValidator.t.sol -/test/executors/SimpleExecutor.t.sol -/test/hooks/SimpleHook.t.sol diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..cc8df9d --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +node-linker=hoisted \ No newline at end of file diff --git a/.solhint.json b/.solhint.json new file mode 100644 index 0000000..5647c17 --- /dev/null +++ b/.solhint.json @@ -0,0 +1,18 @@ +{ + "extends": "solhint:recommended", + "rules": { + "avoid-low-level-calls": "off", + "code-complexity": ["error", 9], + "compiler-version": ["error", ">=0.8.0"], + "contract-name-camelcase": "off", + "const-name-snakecase": "off", + "func-name-mixedcase": "off", + "func-visibility": ["error", { "ignoreConstructors": true }], + "max-line-length": ["error", 123], + "named-parameters-mapping": "warn", + "no-empty-blocks": "off", + "not-rely-on-time": "off", + "one-contract-per-file": "off", + "var-name-mixedcase": "off" + } +} diff --git a/.solhintignore b/.solhintignore new file mode 100644 index 0000000..8250d10 --- /dev/null +++ b/.solhintignore @@ -0,0 +1,3 @@ +node_modules/ +test/ +script/ \ No newline at end of file diff --git a/README.md b/README.md index 9a24319..51d8be5 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ **A template for building smart account modules using the [ModuleKit](https://github.com/rhinestonewtf/modulekit)** -## Usage +## Using the template ### Install dependencies @@ -55,3 +55,27 @@ source .env && forge verify-contract --chain-id [YOUR_CHAIN_ID] --watch --ethers ## Tutorials For general explainers and guided walkthroughs of building a module, check out our [documentation](https://docs.rhinestone.wtf/modulekit). + +## Using this repo + +To install the dependencies, run: + +```bash +pnpm install +``` + +To build the project, run: + +```bash +forge build +``` + +To run the tests, run: + +```bash +forge test +``` + +## Contributing + +For feature or change requests, feel free to open a PR, start a discussion or get in touch with us. diff --git a/foundry.toml b/foundry.toml index bd3fd38..ba56a28 100644 --- a/foundry.toml +++ b/foundry.toml @@ -1,13 +1,14 @@ [profile.default] +emv_version = "paris" src = "src" out = "out" -libs = ["lib"] -#via_ir = true +script = "script" +libs = ["node_modules"] fs_permissions = [{ access = "read", path = "out-optimized" }, { access = "read-write", path = "gas_calculations" }] allow_paths = ["*", "/"] [rpc_endpoints] -mainnet = "https://rpc.ankr.com/eth" +mainnet = "${MAINNET_RPC_URL}" [fmt] bracket_spacing = true diff --git a/package.json b/package.json index 0a9bb18..a2db32f 100644 --- a/package.json +++ b/package.json @@ -1,53 +1,12 @@ { "name": "@rhinestone/module-template", + "version": "0.4.0", "description": "A Foundry template for building modules using the ModuleKit", - "license": "MIT", - "version": "0.3", + "license": "GPL-3.0", "author": { "name": "Rhinestone", "url": "https://rhinestone.wtf" }, - "bugs": { - "url": "https://github.com/rhinestonewtf/module-template/issues" - }, - "dependencies": { - "@prb/math": "^4.0.2", - "@rhinestone/modulekit": "^0.3.7", - "@safe-global/safe-contracts": "1.4.1-build.0", - "erc4337-validation": "github:rhinestonewtf/erc4337-validation" - }, - "devDependencies": { - "@ERC4337/account-abstraction": "github:kopy-kat/account-abstraction#develop", - "@ERC4337/account-abstraction-v0.6": "github:eth-infinitism/account-abstraction#v0.6.0", - "@openzeppelin/contracts": "5.0.1", - "ds-test": "github:dapphub/ds-test", - "erc7579": "github:erc7579/erc7579-implementation", - "forge-std": "github:foundry-rs/forge-std", - "prettier": "^2.8.8", - "sentinellist": "github:rhinestonewtf/sentinellist", - "solady": "github:vectorized/solady", - "solarray": "github:sablier-labs/solarray", - "solhint": "^4.1.1", - "solmate": "github:transmissions11/solmate" - }, - "files": [ - "src", - "test", - "script" - ], - "homepage": "https://github.com/rhinestonewtf/module-template/#readme", - "keywords": [ - "blockchain", - "ethereum", - "foundry", - "smart-contracts", - "solidity", - "web3" - ], - "publishConfig": { - "access": "public" - }, - "repository": "github.com/rhinestonewtf/module-template", "scripts": { "build": "forge build", "build:optimized": "FOUNDRY_PROFILE=optimized forge build", @@ -64,5 +23,32 @@ "test": "forge test", "test:lite": "FOUNDRY_PROFILE=lite forge test", "test:optimized": "pnpm run build:optimized && FOUNDRY_PROFILE=test-optimized forge test" + }, + "dependencies": { + "@rhinestone/modulekit": "^0.4.0" + }, + "files": [ + "src", + "test", + "script", + "package.json", + "foundry.toml", + "remappings.txt" + ], + "homepage": "https://docs.rhinestone.wtf/module-template", + "repository": { + "type": "git", + "url": "git+https://github.com/rhinestonewtf/module-template.git" + }, + "bugs": { + "url": "https://github.com/rhinestonewtf/module-template/issues" + }, + "keywords": [ + "account abstraction", + "smart account modules", + "module template" + ], + "publishConfig": { + "access": "public" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e39ffdb..9769398 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,68 +8,22 @@ importers: .: dependencies: - '@prb/math': - specifier: ^4.0.2 - version: 4.0.2 '@rhinestone/modulekit': - specifier: ^0.3.7 - version: 0.3.7 - '@safe-global/safe-contracts': - specifier: 1.4.1-build.0 - version: 1.4.1-build.0(ethers@5.7.2) - erc4337-validation: - specifier: github:rhinestonewtf/erc4337-validation - version: '@rhinestone/erc4337-validation@https://codeload.github.com/rhinestonewtf/erc4337-validation/tar.gz/5bc7fa2dec4ed815d389c41df0c93151e1ff6cae' - devDependencies: - '@ERC4337/account-abstraction': - specifier: github:kopy-kat/account-abstraction#develop - version: accountabstraction@https://codeload.github.com/kopy-kat/account-abstraction/tar.gz/c5887153fbfe3ed09b2637cac39873f96d676f38(ethers@5.7.2)(hardhat@2.21.0(typescript@5.3.3))(lodash@4.17.21)(typechain@5.2.0(typescript@5.3.3)) - '@ERC4337/account-abstraction-v0.6': - specifier: github:eth-infinitism/account-abstraction#v0.6.0 - version: accountabstraction@https://codeload.github.com/eth-infinitism/account-abstraction/tar.gz/7174d6d845618dbd11cee68eefa715f5263690b6(ethers@5.7.2)(hardhat@2.21.0(typescript@5.3.3))(lodash@4.17.21)(typechain@5.2.0(typescript@5.3.3)) - '@openzeppelin/contracts': - specifier: 5.0.1 - version: 5.0.1 - ds-test: - specifier: github:dapphub/ds-test - version: https://codeload.github.com/dapphub/ds-test/tar.gz/e282159d5170298eb2455a6c05280ab5a73a4ef0 - erc7579: - specifier: github:erc7579/erc7579-implementation - version: micro-msa@https://codeload.github.com/erc7579/erc7579-implementation/tar.gz/88cc4a75fa1782c395cb21b2e1d39062fd3734e9 - forge-std: - specifier: github:foundry-rs/forge-std - version: https://codeload.github.com/foundry-rs/forge-std/tar.gz/2f6762e4f73f3d835457c220b5f62dfeeb6f6341 - prettier: - specifier: ^2.8.8 - version: 2.8.8 - sentinellist: - specifier: github:rhinestonewtf/sentinellist - version: https://codeload.github.com/rhinestonewtf/sentinellist/tar.gz/cbf62497dcfbfbd51475513069ce96a4e7a48db6 - solady: - specifier: github:vectorized/solady - version: https://codeload.github.com/vectorized/solady/tar.gz/d3d564a3451f7128d63e611ac972b37804bd2c21 - solarray: - specifier: github:sablier-labs/solarray - version: https://codeload.github.com/sablier-labs/solarray/tar.gz/6bf10cb34cdace52a3ba5fe437e78cc82df92684 - solhint: - specifier: ^4.1.1 - version: 4.1.1(typescript@5.3.3) - solmate: - specifier: github:transmissions11/solmate - version: https://codeload.github.com/transmissions11/solmate/tar.gz/c892309933b25c03d32b1b0d674df7ae292ba925 + specifier: ^0.4.0 + version: 0.4.0(ethers@5.7.2)(hardhat@2.22.4(typescript@4.9.5))(lodash@4.17.21)(typechain@5.2.0(typescript@4.9.5))(typescript@4.9.5) packages: - '@babel/code-frame@7.23.5': - resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} + '@babel/code-frame@7.24.2': + resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.22.20': - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + '@babel/helper-validator-identifier@7.24.5': + resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.23.4': - resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} + '@babel/highlight@7.24.5': + resolution: {integrity: sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==} engines: {node: '>=6.9.0'} '@ethereumjs/rlp@4.0.1': @@ -194,6 +148,10 @@ packages: resolution: {integrity: sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==} engines: {node: '>= 16'} + '@noble/hashes@1.4.0': + resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} + engines: {node: '>= 16'} + '@noble/secp256k1@1.7.1': resolution: {integrity: sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==} @@ -209,62 +167,36 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@nomicfoundation/edr-darwin-arm64@0.2.1': - resolution: {integrity: sha512-aMYaRaZVQ/TmyNJIoXf1bU4k0zfinaL9Sy1day4yGlL6eiQPFfRGj9W6TZaZIoYG0XTx/mQWD7dkXJ7LdrleJA==} + '@nomicfoundation/edr-darwin-arm64@0.3.8': + resolution: {integrity: sha512-eB0leCexS8sQEmfyD72cdvLj9djkBzQGP4wSQw6SNf2I4Sw4Cnzb3d45caG2FqFFjbvfqL0t+badUUIceqQuMw==} engines: {node: '>= 18'} - cpu: [arm64] - os: [darwin] - '@nomicfoundation/edr-darwin-x64@0.2.1': - resolution: {integrity: sha512-ma0SLcjHm5L3nPHcKFJB0jv/gKGSKaxr5Z65rurX/eaYUQJ7YGMsb8er9bSCo9rjzOtxf4FoPj3grL3zGpOj8A==} + '@nomicfoundation/edr-darwin-x64@0.3.8': + resolution: {integrity: sha512-JksVCS1N5ClwVF14EvO25HCQ+Laljh/KRfHERMVAC9ZwPbTuAd/9BtKvToCBi29uCHWqsXMI4lxCApYQv2nznw==} engines: {node: '>= 18'} - cpu: [x64] - os: [darwin] - '@nomicfoundation/edr-linux-arm64-gnu@0.2.1': - resolution: {integrity: sha512-NX3G4pBhRitWrjSGY3HTyCq3wKSm5YqrKVOCNQGl9/jcjSovqxlgzFMiTx4YZCzGntfJ/1om9AI84OWxYJjoDw==} + '@nomicfoundation/edr-linux-arm64-gnu@0.3.8': + resolution: {integrity: sha512-raCE+fOeNXhVBLUo87cgsHSGvYYRB6arih4eG6B9KGACWK5Veebtm9xtKeiD8YCsdUlUfat6F7ibpeNm91fpsA==} engines: {node: '>= 18'} - cpu: [arm64] - os: [linux] - '@nomicfoundation/edr-linux-arm64-musl@0.2.1': - resolution: {integrity: sha512-gdQ3QHkt9XRkdtOGQ8fMwS11MXdjLeZgLrqoial4V4qtMaamIMMhVczK+VEvUhD8p7G4BVmp6kmkvcsthmndmw==} + '@nomicfoundation/edr-linux-arm64-musl@0.3.8': + resolution: {integrity: sha512-PwiDp4wBZWMCIy29eKkv8moTKRrpiSDlrc+GQMSZLhOAm8T33JKKXPwD/2EbplbhCygJDGXZdtEKl9x9PaH66A==} engines: {node: '>= 18'} - cpu: [arm64] - os: [linux] - '@nomicfoundation/edr-linux-x64-gnu@0.2.1': - resolution: {integrity: sha512-OqabFY37vji6mYbLD9CvG28lja68czeVw58oWByIhFV3BpBu/cyP1oAbhzk3LieylujabS3Ekpvjw2Tkf0A9RQ==} + '@nomicfoundation/edr-linux-x64-gnu@0.3.8': + resolution: {integrity: sha512-6AcvA/XKoipGap5jJmQ9Y6yT7Uf39D9lu2hBcDCXnXbMcXaDGw4mn1/L4R63D+9VGZyu1PqlcJixCUZlGGIWlg==} engines: {node: '>= 18'} - cpu: [x64] - os: [linux] - - '@nomicfoundation/edr-linux-x64-musl@0.2.1': - resolution: {integrity: sha512-vHfFFK2EPISuQUQge+bdjXamb0EUjfl8srYSog1qfiwyLwLeuSbpyyFzDeITAgPpkkFuedTfJW553K0Hipspyg==} - engines: {node: '>= 18'} - cpu: [x64] - os: [linux] - '@nomicfoundation/edr-win32-arm64-msvc@0.2.1': - resolution: {integrity: sha512-K/mui67RCKxghbSyvhvW3rvyVN1pa9M1Q9APUx1PtWjSSdXDFpqEY1NYsv2syb47Ca8ObJwVMF+LvnB6GvhUOQ==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - - '@nomicfoundation/edr-win32-ia32-msvc@0.2.1': - resolution: {integrity: sha512-HHK0mXEtjvfjJrJlqcYgQCy3lZIXS1KNl2GaP8bwEIuEwx++XxXs/ThLjPepM1nhCGICij8IGy7p3KrkzRelsw==} + '@nomicfoundation/edr-linux-x64-musl@0.3.8': + resolution: {integrity: sha512-cxb0sEmZjlwhYWO28sPsV64VDx31ekskhC1IsDXU1p9ntjHSJRmW4KEIqJ2O3QwJap/kLKfMS6TckvY10gjc6w==} engines: {node: '>= 18'} - cpu: [ia32] - os: [win32] - '@nomicfoundation/edr-win32-x64-msvc@0.2.1': - resolution: {integrity: sha512-FY4eQJdj1/y8ST0RyQycx63yr+lvdYNnUkzgWf4X+vPH1lOhXae+L2NDcNCQlTDAfQcD6yz0bkBUkLrlJ8pTww==} + '@nomicfoundation/edr-win32-x64-msvc@0.3.8': + resolution: {integrity: sha512-yVuVPqRRNLZk7TbBMkKw7lzCvI8XO8fNTPTYxymGadjr9rEGRuNTU1yBXjfJ59I1jJU/X2TSkRk1OFX0P5tpZQ==} engines: {node: '>= 18'} - cpu: [x64] - os: [win32] - '@nomicfoundation/edr@0.2.1': - resolution: {integrity: sha512-Dleau3ItHJh2n85G2J6AIPBoLgu/mOWkmrh26z3VsJE2tp/e00hUk/dqz85ncsVcBYEc6/YOn/DomWu0wSF9tQ==} + '@nomicfoundation/edr@0.3.8': + resolution: {integrity: sha512-u2UJ5QpznSHVkZRh6ePWoeVb6kmPrrqh08gCnZ9FHlJV9CITqlrTQHJkacd+INH31jx88pTAJnxePE4XAiH5qg==} engines: {node: '>= 18'} '@nomicfoundation/ethereumjs-common@4.0.4': @@ -369,6 +301,9 @@ packages: '@openzeppelin/contracts@5.0.1': resolution: {integrity: sha512-yQJaT5HDp9hYOOp4jTYxMsR02gdFZFXhewX5HW9Jo4fsqSVqqyIO/xTHdWDaKX5a3pv1txmf076Lziz+sO7L1w==} + '@openzeppelin/contracts@5.0.2': + resolution: {integrity: sha512-ytPc6eLGcHHnapAZ9S+5qsdomhjo6QBHTDRRBFfTxXIpsicMhVPouPgmUPebZZZGX7vt9USA+Z+0M0dSVtSUEA==} + '@pnpm/config.env-replace@1.1.0': resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} engines: {node: '>=12.22.0'} @@ -384,20 +319,31 @@ packages: '@prb/math@4.0.2': resolution: {integrity: sha512-kJgqvXR6iyU7+N959RzggSFhBdnRuSDnc/bs8u6MzdWw7aYIUaAr+uMVdpP6Dheypjerd7sfJgFOs19FRFhscg==} - '@rhinestone/erc4337-validation@https://codeload.github.com/rhinestonewtf/erc4337-validation/tar.gz/5bc7fa2dec4ed815d389c41df0c93151e1ff6cae': - resolution: {tarball: https://codeload.github.com/rhinestonewtf/erc4337-validation/tar.gz/5bc7fa2dec4ed815d389c41df0c93151e1ff6cae} - version: 0.0.1-alpha + '@rhinestone/erc4337-validation@0.0.1-alpha.1': + resolution: {integrity: sha512-YkmmHYZtG/q+YNE0X8PfzrePwZVZo5tod4T6QFHQAGshlGbNPyPem0ELXJ2iaSaGYFHSUmvCr/UfI9VrKlIItA==} + + '@rhinestone/module-bases@https://codeload.github.com/rhinestonewtf/module-bases/tar.gz/064bc4a82e212de837ffe59e43734e72b0e0798d': + resolution: {tarball: https://codeload.github.com/rhinestonewtf/module-bases/tar.gz/064bc4a82e212de837ffe59e43734e72b0e0798d} + version: 0.0.1 - '@rhinestone/modulekit@0.3.7': - resolution: {integrity: sha512-carC04cDITQ5aIMs6EmHoQwyCQM14cXd4Jq0XTIA/u5o5NKRvuHfZrYj21j/5t/Ej1wsfvjxg/aNIyxMWWulkA==} + '@rhinestone/modulekit@0.4.0': + resolution: {integrity: sha512-GyPxffNYaKxGHP6bdJbXWivYtwx5vGXzZLkFXN/9eY7XGCvOUdswCvKjnJ0f7seDrvlRNK5ZLrwK+7oB7ktF3w==} - '@safe-global/safe-contracts@1.4.1-build.0': - resolution: {integrity: sha512-TIpoKJtMqLcLFoid0cvpxo8YTcnRUj95MHvxzwgPbJPRONOckNS6ebgGyBBRDmnpxFh34IBpPUZ7JD+z2Cfbbg==} + '@rhinestone/safe7579@https://codeload.github.com/rhinestonewtf/safe7579/tar.gz/9840c1a302270b991bb9a2350f1ba7a078e4109b': + resolution: {tarball: https://codeload.github.com/rhinestonewtf/safe7579/tar.gz/9840c1a302270b991bb9a2350f1ba7a078e4109b} + version: 1.0.0 + + '@rhinestone/sentinellist@https://codeload.github.com/rhinestonewtf/sentinellist/tar.gz/d1f58298637e1a4e5b82ff3e2b4fa1d2f4897791': + resolution: {tarball: https://codeload.github.com/rhinestonewtf/sentinellist/tar.gz/d1f58298637e1a4e5b82ff3e2b4fa1d2f4897791} + version: 1.0.1 + + '@safe-global/safe-contracts@1.4.1': + resolution: {integrity: sha512-fP1jewywSwsIniM04NsqPyVRFKPMAuirC3ftA/TA4X3Zc5EnwQp/UCJUU2PL/37/z/jMo8UUaJ+pnFNWmMU7dQ==} peerDependencies: ethers: 5.4.0 - '@scure/base@1.1.5': - resolution: {integrity: sha512-Brj9FiG2W1MRQSTB212YVPRrcbjkv48FoZi/u4l/zds/ieRrqsh7aUf6CLwkAq61oKXr/ZlTzlY66gLIj3TFTQ==} + '@scure/base@1.1.6': + resolution: {integrity: sha512-ok9AWwhcgYuGG3Zfhyqg+zwl+Wn5uE+dwC0NV/2qQkx4dABbb/bx96vWu8NSj+BNjjSjno+JRYRjle1jV08k3g==} '@scure/bip32@1.1.5': resolution: {integrity: sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==} @@ -443,9 +389,6 @@ packages: resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} engines: {node: '>=14.16'} - '@solidity-parser/parser@0.16.2': - resolution: {integrity: sha512-PI9NfoA3P8XK2VBkK5oIfRgKDsicwDZfkVq9ZTBCQYGOP1N2owgY2dyLGyU5/J/hQs8KRk55kdmvTLjy3Mu3vg==} - '@solidity-parser/parser@0.18.0': resolution: {integrity: sha512-yfORGUIPgLck41qyN7nbwJRAx17/jAIXCTanHOJZhB6PJ1iAk/84b/xlsVKFSyNyLXIj0dhppoE0+CRws7wlzA==} @@ -490,8 +433,8 @@ packages: '@types/ms@0.7.34': resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} - '@types/node@20.11.24': - resolution: {integrity: sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==} + '@types/node@20.12.12': + resolution: {integrity: sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==} '@types/pbkdf2@3.1.2': resolution: {integrity: sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew==} @@ -499,8 +442,8 @@ packages: '@types/prettier@2.7.3': resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} - '@types/qs@6.9.12': - resolution: {integrity: sha512-bZcOkJ6uWrL0Qb2NAWKa7TBU+mJHPzhx9jjLL1KHF+XpzEcR7EXHvjbHlGtR/IsP1vyPrehuS6XqkmaePy//mg==} + '@types/qs@6.9.15': + resolution: {integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==} '@types/secp256k1@4.0.6': resolution: {integrity: sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==} @@ -508,6 +451,10 @@ packages: abbrev@1.0.9: resolution: {integrity: sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q==} + accountabstraction@https://codeload.github.com/eth-infinitism/account-abstraction/tar.gz/62e1cf39220321a6e1c7bef51e974c3bf8a4e2e2: + resolution: {tarball: https://codeload.github.com/eth-infinitism/account-abstraction/tar.gz/62e1cf39220321a6e1c7bef51e974c3bf8a4e2e2} + version: 0.7.0 + accountabstraction@https://codeload.github.com/eth-infinitism/account-abstraction/tar.gz/7174d6d845618dbd11cee68eefa715f5263690b6: resolution: {tarball: https://codeload.github.com/eth-infinitism/account-abstraction/tar.gz/7174d6d845618dbd11cee68eefa715f5263690b6} version: 0.6.0 @@ -537,8 +484,8 @@ packages: ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - ajv@8.12.0: - resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + ajv@8.13.0: + resolution: {integrity: sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==} amdefine@1.0.1: resolution: {integrity: sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==} @@ -571,13 +518,10 @@ packages: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} - antlr4@4.13.1: - resolution: {integrity: sha512-kiXTspaRYvnIArgE97z5YVVf/cDVQABr3abFRR6mE7yesLMkgu4ujuyV/sgxafQ8wgve0DJQUJ38Z8tkgA2izA==} + antlr4@4.13.1-patch-1: + resolution: {integrity: sha512-OjFLWWLzDMV9rdFhpvroCWR4ooktNg9/nvVYSA5z28wuVpU36QUNuioR1XLnQtcjVlf8npjyz593PxnU/f/Cow==} engines: {node: '>=16'} - antlr4ts@0.5.0-alpha.4: - resolution: {integrity: sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==} - anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} @@ -632,8 +576,8 @@ packages: bignumber.js@9.1.2: resolution: {integrity: sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==} - binary-extensions@2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} blakejs@1.2.1: @@ -658,8 +602,8 @@ packages: brace-expansion@2.0.1: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} brorand@1.1.0: @@ -878,6 +822,10 @@ packages: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} + erc7579-implementation@https://codeload.github.com/erc7579/erc7579-implementation/tar.gz/c1a0fa69d08f7992bc4e910b4a108fb21fc10fae: + resolution: {tarball: https://codeload.github.com/erc7579/erc7579-implementation/tar.gz/c1a0fa69d08f7992bc4e910b4a108fb21fc10fae} + version: 0.3.1 + error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} @@ -924,8 +872,8 @@ packages: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} - ethereum-bloom-filters@1.0.10: - resolution: {integrity: sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==} + ethereum-bloom-filters@1.1.0: + resolution: {integrity: sha512-J1gDRkLpuGNvWYzWslBQR9cDV4nd4kfvVTE/Wy4Kkm4yb3EYRSlyi0eB/inTsSTTVyA0+HyzHgbr95Fn/Z1fSw==} ethereum-cryptography@0.1.3: resolution: {integrity: sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==} @@ -982,8 +930,8 @@ packages: fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} - fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} find-replace@1.0.3: @@ -1005,8 +953,8 @@ packages: fmix@0.1.0: resolution: {integrity: sha512-Y6hyofImk9JdzU8k5INtTXX1cu8LDlePWDFU5sftm9H+zKCr5SGrVjdhkvsim646cw5zD0nADj8oHyXMZmCZ9w==} - follow-redirects@1.15.5: - resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==} + follow-redirects@1.15.6: + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -1014,9 +962,9 @@ packages: debug: optional: true - forge-std@https://codeload.github.com/foundry-rs/forge-std/tar.gz/2f6762e4f73f3d835457c220b5f62dfeeb6f6341: - resolution: {tarball: https://codeload.github.com/foundry-rs/forge-std/tar.gz/2f6762e4f73f3d835457c220b5f62dfeeb6f6341} - version: 1.7.6 + forge-std@https://codeload.github.com/foundry-rs/forge-std/tar.gz/52715a217dc51d0de15877878ab8213f6cbbbab5: + resolution: {tarball: https://codeload.github.com/foundry-rs/forge-std/tar.gz/52715a217dc51d0de15877878ab8213f6cbbbab5} + version: 1.8.2 form-data-encoder@2.1.4: resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} @@ -1131,8 +1079,8 @@ packages: hardhat-deploy@0.11.45: resolution: {integrity: sha512-aC8UNaq3JcORnEUIwV945iJuvBwi65tjHVDU3v6mOcqik7WAzHVCJ7cwmkkipsHrWysrB5YvGF1q9S1vIph83w==} - hardhat@2.21.0: - resolution: {integrity: sha512-8DlJAVJDEVHaV1sh9FLuKLLgCFv9EAJ+M+8IbjSIPgoeNo3ss5L1HgGBMfnI88c7OzMEZkdcuyGoobFeK3Orqw==} + hardhat@2.22.4: + resolution: {integrity: sha512-09qcXJFBHQUaraJkYNr7XlmwjOj27xBB0SL2rYS024hTj9tPMbp26AFjlf5quBMO9SR4AJFg+4qWahcYcvXBuQ==} hasBin: true peerDependencies: ts-node: '*' @@ -1173,8 +1121,8 @@ packages: hash.js@1.1.7: resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} - hasown@2.0.1: - resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} he@1.2.0: @@ -1210,8 +1158,8 @@ packages: resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} - immutable@4.3.5: - resolution: {integrity: sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==} + immutable@4.3.6: + resolution: {integrity: sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ==} import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} @@ -1367,18 +1315,14 @@ packages: resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - lru_map@0.3.3: resolution: {integrity: sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==} match-all@1.2.6: resolution: {integrity: sha512-0EESkXiTkWzrQQntBu2uzKvLu6vVkUGz40nGPbSZuegcfE5UuSzNjLaIu76zJWuaT/2I3Z/8M06OlUOZLGwLlQ==} - mcl-wasm@1.4.0: - resolution: {integrity: sha512-90Tvmg2NXwnKMgTafA01PRELsYNNRb/F2bj3nzdByTLLMUmgkgL8H/oeWcjZtVVffnBJyNjDcYxY7cdOE/WoHg==} + mcl-wasm@1.5.0: + resolution: {integrity: sha512-+Bnefweg0PWhQ//pVAawNkZAC+TH/mMZVsxmEyHvw8Ujhwu3cxUe9WITFK74dfgPRB09Zkmf6aUFXnW23OnVUw==} engines: {node: '>=14.17'} md5.js@1.3.5: @@ -1395,12 +1339,8 @@ packages: micro-ftch@0.3.1: resolution: {integrity: sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==} - micro-msa@https://codeload.github.com/erc7579/erc7579-implementation/tar.gz/88cc4a75fa1782c395cb21b2e1d39062fd3734e9: - resolution: {tarball: https://codeload.github.com/erc7579/erc7579-implementation/tar.gz/88cc4a75fa1782c395cb21b2e1d39062fd3734e9} - version: 0.3.1 - - micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + micromatch@4.0.6: + resolution: {integrity: sha512-Y4Ypn3oujJYxJcMacVgcs92wofTHxp9FzfDpQON4msDefoC0lb3ETvQLOdLcbhSwU1bz8HrL/1sygfBIHudrkQ==} engines: {node: '>=8.6'} mime-db@1.52.0: @@ -1451,8 +1391,8 @@ packages: mnemonist@0.38.5: resolution: {integrity: sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==} - mocha@10.3.0: - resolution: {integrity: sha512-uF2XJs+7xSLsrmIvn37i/wnc91nw7XjOQB8ccyx5aEgdnohr7n+rEiZP23WkCYHjilR6+EboEnbq/ZQDz4LSbg==} + mocha@10.4.0: + resolution: {integrity: sha512-eqhGB8JKapEYcC4ytX/xrzKforgEc3j1pGlAXVy3eRwrtAy5/nIfT1SvgGzfN0XZZxeLq0aQWkOUAmqIJiv+bA==} engines: {node: '>= 14.0.0'} hasBin: true @@ -1483,8 +1423,8 @@ packages: encoding: optional: true - node-gyp-build@4.8.0: - resolution: {integrity: sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==} + node-gyp-build@4.8.1: + resolution: {integrity: sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==} hasBin: true nofilter@1.0.4: @@ -1499,8 +1439,8 @@ packages: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - normalize-url@8.0.0: - resolution: {integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==} + normalize-url@8.0.1: + resolution: {integrity: sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==} engines: {node: '>=14.16'} number-to-bn@1.7.0: @@ -1587,10 +1527,17 @@ packages: resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} engines: {node: '>=0.12'} + picocolors@1.0.1: + resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} + engines: {node: '>=12'} + pify@4.0.1: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} @@ -1615,8 +1562,8 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - qs@6.11.2: - resolution: {integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==} + qs@6.12.1: + resolution: {integrity: sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==} engines: {node: '>=0.6'} queue-microtask@1.2.3: @@ -1733,20 +1680,16 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + semver@7.6.2: + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} engines: {node: '>=10'} hasBin: true - sentinellist@https://codeload.github.com/rhinestonewtf/sentinellist/tar.gz/cbf62497dcfbfbd51475513069ce96a4e7a48db6: - resolution: {tarball: https://codeload.github.com/rhinestonewtf/sentinellist/tar.gz/cbf62497dcfbfbd51475513069ce96a4e7a48db6} - version: 1.0.1 - serialize-javascript@6.0.0: resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} - set-function-length@1.2.1: - resolution: {integrity: sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==} + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} setimmediate@1.0.5: @@ -1776,9 +1719,9 @@ packages: resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} engines: {node: '>=10'} - solady@https://codeload.github.com/vectorized/solady/tar.gz/d3d564a3451f7128d63e611ac972b37804bd2c21: - resolution: {tarball: https://codeload.github.com/vectorized/solady/tar.gz/d3d564a3451f7128d63e611ac972b37804bd2c21} - version: 0.0.175 + solady@https://codeload.github.com/vectorized/solady/tar.gz/5e7497c2573576157f9ca23460adbbf3081d0176: + resolution: {tarball: https://codeload.github.com/vectorized/solady/tar.gz/5e7497c2573576157f9ca23460adbbf3081d0176} + version: 0.0.201 solarray@https://codeload.github.com/sablier-labs/solarray/tar.gz/6bf10cb34cdace52a3ba5fe437e78cc82df92684: resolution: {tarball: https://codeload.github.com/sablier-labs/solarray/tar.gz/6bf10cb34cdace52a3ba5fe437e78cc82df92684} @@ -1789,20 +1732,16 @@ packages: engines: {node: '>=8.0.0'} hasBin: true - solhint@4.1.1: - resolution: {integrity: sha512-7G4iF8H5hKHc0tR+/uyZesSKtfppFIMvPSW+Ku6MSL25oVRuyFeqNhOsXHfkex64wYJyXs4fe+pvhB069I19Tw==} + solhint@4.5.4: + resolution: {integrity: sha512-Cu1XiJXub2q1eCr9kkJ9VPv1sGcmj3V7Zb76B0CoezDOB9bu3DxKIFFH7ggCl9fWpEPD6xBmRLfZrYijkVmujQ==} hasBin: true - solidity-coverage@0.8.10: - resolution: {integrity: sha512-6nvlWLnCjBIVnCgTZiIo2XBI62O3YJuU83xj+bklnH/B+dXGTjuQB7SccZfysUC3LFkjtZO/KjzUJ/hiSlkXWw==} + solidity-coverage@0.8.12: + resolution: {integrity: sha512-8cOB1PtjnjFRqOgwFiD8DaUsYJtVJ6+YdXQtSZDrLGf8cdhhh8xzTtGzVTGeBf15kTv0v7lYPJlV/az7zLEPJw==} hasBin: true peerDependencies: hardhat: ^2.11.0 - solmate@https://codeload.github.com/transmissions11/solmate/tar.gz/c892309933b25c03d32b1b0d674df7ae292ba925: - resolution: {tarball: https://codeload.github.com/transmissions11/solmate/tar.gz/c892309933b25c03d32b1b0d674df7ae292ba925} - version: 6.2.0 - source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} @@ -1868,8 +1807,8 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - table@6.8.1: - resolution: {integrity: sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==} + table@6.8.2: + resolution: {integrity: sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==} engines: {node: '>=10.0.0'} test-value@2.1.0: @@ -1938,11 +1877,6 @@ packages: engines: {node: '>=4.2.0'} hasBin: true - typescript@5.3.3: - resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} - engines: {node: '>=14.17'} - hasBin: true - typical@2.6.1: resolution: {integrity: sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==} @@ -1954,8 +1888,8 @@ packages: undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - undici@5.28.3: - resolution: {integrity: sha512-3ItfzbrhDlINjaP0duwnNsKpDQk3acHI3gVJ1z4fmwMK31k5G9OVIAMLSIaP6w4FaGkaAkN6zaQO9LUvZ1t7VA==} + undici@5.28.4: + resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==} engines: {node: '>=14.0'} universalify@0.1.2: @@ -2046,9 +1980,6 @@ packages: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} - yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - yargs-parser@20.2.4: resolution: {integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==} engines: {node: '>=10'} @@ -2073,18 +2004,19 @@ packages: snapshots: - '@babel/code-frame@7.23.5': + '@babel/code-frame@7.24.2': dependencies: - '@babel/highlight': 7.23.4 - chalk: 2.4.2 + '@babel/highlight': 7.24.5 + picocolors: 1.0.1 - '@babel/helper-validator-identifier@7.22.20': {} + '@babel/helper-validator-identifier@7.24.5': {} - '@babel/highlight@7.23.4': + '@babel/highlight@7.24.5': dependencies: - '@babel/helper-validator-identifier': 7.22.20 + '@babel/helper-validator-identifier': 7.24.5 chalk: 2.4.2 js-tokens: 4.0.0 + picocolors: 1.0.1 '@ethereumjs/rlp@4.0.1': {} @@ -2371,6 +2303,8 @@ snapshots: '@noble/hashes@1.3.3': {} + '@noble/hashes@1.4.0': {} + '@noble/secp256k1@1.7.1': {} '@nodelib/fs.scandir@2.1.5': @@ -2385,44 +2319,29 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 - '@nomicfoundation/edr-darwin-arm64@0.2.1': - optional: true + '@nomicfoundation/edr-darwin-arm64@0.3.8': {} - '@nomicfoundation/edr-darwin-x64@0.2.1': - optional: true - - '@nomicfoundation/edr-linux-arm64-gnu@0.2.1': - optional: true - - '@nomicfoundation/edr-linux-arm64-musl@0.2.1': - optional: true + '@nomicfoundation/edr-darwin-x64@0.3.8': {} - '@nomicfoundation/edr-linux-x64-gnu@0.2.1': - optional: true + '@nomicfoundation/edr-linux-arm64-gnu@0.3.8': {} - '@nomicfoundation/edr-linux-x64-musl@0.2.1': - optional: true + '@nomicfoundation/edr-linux-arm64-musl@0.3.8': {} - '@nomicfoundation/edr-win32-arm64-msvc@0.2.1': - optional: true + '@nomicfoundation/edr-linux-x64-gnu@0.3.8': {} - '@nomicfoundation/edr-win32-ia32-msvc@0.2.1': - optional: true + '@nomicfoundation/edr-linux-x64-musl@0.3.8': {} - '@nomicfoundation/edr-win32-x64-msvc@0.2.1': - optional: true + '@nomicfoundation/edr-win32-x64-msvc@0.3.8': {} - '@nomicfoundation/edr@0.2.1': - optionalDependencies: - '@nomicfoundation/edr-darwin-arm64': 0.2.1 - '@nomicfoundation/edr-darwin-x64': 0.2.1 - '@nomicfoundation/edr-linux-arm64-gnu': 0.2.1 - '@nomicfoundation/edr-linux-arm64-musl': 0.2.1 - '@nomicfoundation/edr-linux-x64-gnu': 0.2.1 - '@nomicfoundation/edr-linux-x64-musl': 0.2.1 - '@nomicfoundation/edr-win32-arm64-msvc': 0.2.1 - '@nomicfoundation/edr-win32-ia32-msvc': 0.2.1 - '@nomicfoundation/edr-win32-x64-msvc': 0.2.1 + '@nomicfoundation/edr@0.3.8': + dependencies: + '@nomicfoundation/edr-darwin-arm64': 0.3.8 + '@nomicfoundation/edr-darwin-x64': 0.3.8 + '@nomicfoundation/edr-linux-arm64-gnu': 0.3.8 + '@nomicfoundation/edr-linux-arm64-musl': 0.3.8 + '@nomicfoundation/edr-linux-x64-gnu': 0.3.8 + '@nomicfoundation/edr-linux-x64-musl': 0.3.8 + '@nomicfoundation/edr-win32-x64-msvc': 0.3.8 '@nomicfoundation/ethereumjs-common@4.0.4': dependencies: @@ -2487,14 +2406,14 @@ snapshots: '@nomicfoundation/solidity-analyzer-win32-ia32-msvc': 0.1.1 '@nomicfoundation/solidity-analyzer-win32-x64-msvc': 0.1.1 - '@nomiclabs/hardhat-etherscan@2.1.8(hardhat@2.21.0(typescript@5.3.3))': + '@nomiclabs/hardhat-etherscan@2.1.8(hardhat@2.22.4(typescript@4.9.5))': dependencies: '@ethersproject/abi': 5.7.0 '@ethersproject/address': 5.7.0 cbor: 5.2.0 debug: 4.3.4(supports-color@8.1.1) fs-extra: 7.0.1 - hardhat: 2.21.0(typescript@5.3.3) + hardhat: 2.22.4(typescript@4.9.5) node-fetch: 2.7.0 semver: 6.3.1 transitivePeerDependencies: @@ -2505,6 +2424,8 @@ snapshots: '@openzeppelin/contracts@5.0.1': {} + '@openzeppelin/contracts@5.0.2': {} + '@pnpm/config.env-replace@1.1.0': {} '@pnpm/network.ca-file@1.0.2': @@ -2519,40 +2440,120 @@ snapshots: '@prb/math@4.0.2': {} - '@rhinestone/erc4337-validation@https://codeload.github.com/rhinestonewtf/erc4337-validation/tar.gz/5bc7fa2dec4ed815d389c41df0c93151e1ff6cae': + '@rhinestone/erc4337-validation@0.0.1-alpha.1(ethers@5.7.2)(hardhat@2.22.4(typescript@4.9.5))(lodash@4.17.21)(typechain@5.2.0(typescript@4.9.5))(typescript@4.9.5)': dependencies: '@openzeppelin/contracts': 5.0.1 - solady: https://codeload.github.com/vectorized/solady/tar.gz/d3d564a3451f7128d63e611ac972b37804bd2c21 + account-abstraction: accountabstraction@https://codeload.github.com/kopy-kat/account-abstraction/tar.gz/c5887153fbfe3ed09b2637cac39873f96d676f38(ethers@5.7.2)(hardhat@2.22.4(typescript@4.9.5))(lodash@4.17.21)(typechain@5.2.0(typescript@4.9.5)) + account-abstraction-v0.6: accountabstraction@https://codeload.github.com/eth-infinitism/account-abstraction/tar.gz/7174d6d845618dbd11cee68eefa715f5263690b6(ethers@5.7.2)(hardhat@2.22.4(typescript@4.9.5))(lodash@4.17.21)(typechain@5.2.0(typescript@4.9.5)) + ds-test: https://codeload.github.com/dapphub/ds-test/tar.gz/e282159d5170298eb2455a6c05280ab5a73a4ef0 + forge-std: https://codeload.github.com/foundry-rs/forge-std/tar.gz/52715a217dc51d0de15877878ab8213f6cbbbab5 + prettier: 2.8.8 + solady: https://codeload.github.com/vectorized/solady/tar.gz/5e7497c2573576157f9ca23460adbbf3081d0176 + solhint: 4.5.4(typescript@4.9.5) + transitivePeerDependencies: + - bufferutil + - encoding + - ethers + - hardhat + - lodash + - supports-color + - typechain + - typescript + - utf-8-validate + + '@rhinestone/module-bases@https://codeload.github.com/rhinestonewtf/module-bases/tar.gz/064bc4a82e212de837ffe59e43734e72b0e0798d(ethers@5.7.2)(hardhat@2.22.4(typescript@4.9.5))(lodash@4.17.21)(typechain@5.2.0(typescript@4.9.5))': + dependencies: + '@ERC4337/account-abstraction': accountabstraction@https://codeload.github.com/kopy-kat/account-abstraction/tar.gz/c5887153fbfe3ed09b2637cac39873f96d676f38(ethers@5.7.2)(hardhat@2.22.4(typescript@4.9.5))(lodash@4.17.21)(typechain@5.2.0(typescript@4.9.5)) + erc7579: erc7579-implementation@https://codeload.github.com/erc7579/erc7579-implementation/tar.gz/c1a0fa69d08f7992bc4e910b4a108fb21fc10fae(ethers@5.7.2)(hardhat@2.22.4(typescript@4.9.5))(lodash@4.17.21)(typechain@5.2.0(typescript@4.9.5)) + forge-std: https://codeload.github.com/foundry-rs/forge-std/tar.gz/52715a217dc51d0de15877878ab8213f6cbbbab5 + transitivePeerDependencies: + - bufferutil + - encoding + - ethers + - hardhat + - lodash + - supports-color + - typechain + - utf-8-validate + + '@rhinestone/modulekit@0.4.0(ethers@5.7.2)(hardhat@2.22.4(typescript@4.9.5))(lodash@4.17.21)(typechain@5.2.0(typescript@4.9.5))(typescript@4.9.5)': + dependencies: + '@ERC4337/account-abstraction': accountabstraction@https://codeload.github.com/kopy-kat/account-abstraction/tar.gz/c5887153fbfe3ed09b2637cac39873f96d676f38(ethers@5.7.2)(hardhat@2.22.4(typescript@4.9.5))(lodash@4.17.21)(typechain@5.2.0(typescript@4.9.5)) + '@ERC4337/account-abstraction-v0.6': accountabstraction@https://codeload.github.com/eth-infinitism/account-abstraction/tar.gz/7174d6d845618dbd11cee68eefa715f5263690b6(ethers@5.7.2)(hardhat@2.22.4(typescript@4.9.5))(lodash@4.17.21)(typechain@5.2.0(typescript@4.9.5)) + '@prb/math': 4.0.2 + '@rhinestone/erc4337-validation': 0.0.1-alpha.1(ethers@5.7.2)(hardhat@2.22.4(typescript@4.9.5))(lodash@4.17.21)(typechain@5.2.0(typescript@4.9.5))(typescript@4.9.5) + '@rhinestone/module-bases': https://codeload.github.com/rhinestonewtf/module-bases/tar.gz/064bc4a82e212de837ffe59e43734e72b0e0798d(ethers@5.7.2)(hardhat@2.22.4(typescript@4.9.5))(lodash@4.17.21)(typechain@5.2.0(typescript@4.9.5)) + '@rhinestone/safe7579': https://codeload.github.com/rhinestonewtf/safe7579/tar.gz/9840c1a302270b991bb9a2350f1ba7a078e4109b(ethers@5.7.2)(hardhat@2.22.4(typescript@4.9.5))(lodash@4.17.21)(typechain@5.2.0(typescript@4.9.5)) + '@rhinestone/sentinellist': https://codeload.github.com/rhinestonewtf/sentinellist/tar.gz/d1f58298637e1a4e5b82ff3e2b4fa1d2f4897791 + '@safe-global/safe-contracts': 1.4.1(ethers@5.7.2) + ds-test: https://codeload.github.com/dapphub/ds-test/tar.gz/e282159d5170298eb2455a6c05280ab5a73a4ef0 + erc7579: erc7579-implementation@https://codeload.github.com/erc7579/erc7579-implementation/tar.gz/c1a0fa69d08f7992bc4e910b4a108fb21fc10fae(ethers@5.7.2)(hardhat@2.22.4(typescript@4.9.5))(lodash@4.17.21)(typechain@5.2.0(typescript@4.9.5)) + forge-std: https://codeload.github.com/foundry-rs/forge-std/tar.gz/52715a217dc51d0de15877878ab8213f6cbbbab5 + solady: https://codeload.github.com/vectorized/solady/tar.gz/5e7497c2573576157f9ca23460adbbf3081d0176 + solarray: https://codeload.github.com/sablier-labs/solarray/tar.gz/6bf10cb34cdace52a3ba5fe437e78cc82df92684 + transitivePeerDependencies: + - bufferutil + - encoding + - ethers + - hardhat + - lodash + - supports-color + - typechain + - typescript + - utf-8-validate + + '@rhinestone/safe7579@https://codeload.github.com/rhinestonewtf/safe7579/tar.gz/9840c1a302270b991bb9a2350f1ba7a078e4109b(ethers@5.7.2)(hardhat@2.22.4(typescript@4.9.5))(lodash@4.17.21)(typechain@5.2.0(typescript@4.9.5))': + dependencies: + '@ERC4337/account-abstraction': accountabstraction@https://codeload.github.com/kopy-kat/account-abstraction/tar.gz/c5887153fbfe3ed09b2637cac39873f96d676f38(ethers@5.7.2)(hardhat@2.22.4(typescript@4.9.5))(lodash@4.17.21)(typechain@5.2.0(typescript@4.9.5)) + '@rhinestone/module-bases': https://codeload.github.com/rhinestonewtf/module-bases/tar.gz/064bc4a82e212de837ffe59e43734e72b0e0798d(ethers@5.7.2)(hardhat@2.22.4(typescript@4.9.5))(lodash@4.17.21)(typechain@5.2.0(typescript@4.9.5)) + '@rhinestone/sentinellist': https://codeload.github.com/rhinestonewtf/sentinellist/tar.gz/d1f58298637e1a4e5b82ff3e2b4fa1d2f4897791 + '@safe-global/safe-contracts': 1.4.1(ethers@5.7.2) + ds-test: https://codeload.github.com/dapphub/ds-test/tar.gz/e282159d5170298eb2455a6c05280ab5a73a4ef0 + erc7579: erc7579-implementation@https://codeload.github.com/erc7579/erc7579-implementation/tar.gz/c1a0fa69d08f7992bc4e910b4a108fb21fc10fae(ethers@5.7.2)(hardhat@2.22.4(typescript@4.9.5))(lodash@4.17.21)(typechain@5.2.0(typescript@4.9.5)) + forge-std: https://codeload.github.com/foundry-rs/forge-std/tar.gz/52715a217dc51d0de15877878ab8213f6cbbbab5 + solady: https://codeload.github.com/vectorized/solady/tar.gz/5e7497c2573576157f9ca23460adbbf3081d0176 + solarray: https://codeload.github.com/sablier-labs/solarray/tar.gz/6bf10cb34cdace52a3ba5fe437e78cc82df92684 + transitivePeerDependencies: + - bufferutil + - encoding + - ethers + - hardhat + - lodash + - supports-color + - typechain + - utf-8-validate - '@rhinestone/modulekit@0.3.7': {} + '@rhinestone/sentinellist@https://codeload.github.com/rhinestonewtf/sentinellist/tar.gz/d1f58298637e1a4e5b82ff3e2b4fa1d2f4897791': + dependencies: + forge-std: https://codeload.github.com/foundry-rs/forge-std/tar.gz/52715a217dc51d0de15877878ab8213f6cbbbab5 - '@safe-global/safe-contracts@1.4.1-build.0(ethers@5.7.2)': + '@safe-global/safe-contracts@1.4.1(ethers@5.7.2)': dependencies: ethers: 5.7.2 - '@scure/base@1.1.5': {} + '@scure/base@1.1.6': {} '@scure/bip32@1.1.5': dependencies: '@noble/hashes': 1.2.0 '@noble/secp256k1': 1.7.1 - '@scure/base': 1.1.5 + '@scure/base': 1.1.6 '@scure/bip32@1.3.3': dependencies: '@noble/curves': 1.3.0 '@noble/hashes': 1.3.3 - '@scure/base': 1.1.5 + '@scure/base': 1.1.6 '@scure/bip39@1.1.1': dependencies: '@noble/hashes': 1.2.0 - '@scure/base': 1.1.5 + '@scure/base': 1.1.6 '@scure/bip39@1.2.2': dependencies: '@noble/hashes': 1.3.3 - '@scure/base': 1.1.5 + '@scure/base': 1.1.6 '@sentry/core@5.30.0': dependencies: @@ -2605,10 +2606,6 @@ snapshots: '@sindresorhus/is@5.6.0': {} - '@solidity-parser/parser@0.16.2': - dependencies: - antlr4ts: 0.5.0-alpha.4 - '@solidity-parser/parser@0.18.0': {} '@szmarczak/http-timer@5.0.1': @@ -2618,25 +2615,25 @@ snapshots: '@thehubbleproject/bls@0.5.1': dependencies: ethers: 5.7.2 - mcl-wasm: 1.4.0 + mcl-wasm: 1.5.0 transitivePeerDependencies: - bufferutil - utf-8-validate - '@typechain/hardhat@2.3.1(hardhat@2.21.0(typescript@5.3.3))(lodash@4.17.21)(typechain@5.2.0(typescript@5.3.3))': + '@typechain/hardhat@2.3.1(hardhat@2.22.4(typescript@4.9.5))(lodash@4.17.21)(typechain@5.2.0(typescript@4.9.5))': dependencies: fs-extra: 9.1.0 - hardhat: 2.21.0(typescript@5.3.3) + hardhat: 2.22.4(typescript@4.9.5) lodash: 4.17.21 - typechain: 5.2.0(typescript@5.3.3) + typechain: 5.2.0(typescript@4.9.5) '@types/bn.js@4.11.6': dependencies: - '@types/node': 20.11.24 + '@types/node': 20.12.12 '@types/bn.js@5.1.5': dependencies: - '@types/node': 20.11.24 + '@types/node': 20.12.12 '@types/debug@4.1.12': dependencies: @@ -2645,7 +2642,7 @@ snapshots: '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.11.24 + '@types/node': 20.12.12 '@types/http-cache-semantics@4.0.4': {} @@ -2657,39 +2654,66 @@ snapshots: '@types/ms@0.7.34': {} - '@types/node@20.11.24': + '@types/node@20.12.12': dependencies: undici-types: 5.26.5 '@types/pbkdf2@3.1.2': dependencies: - '@types/node': 20.11.24 + '@types/node': 20.12.12 '@types/prettier@2.7.3': {} - '@types/qs@6.9.12': {} + '@types/qs@6.9.15': {} '@types/secp256k1@4.0.6': dependencies: - '@types/node': 20.11.24 + '@types/node': 20.12.12 abbrev@1.0.9: {} - accountabstraction@https://codeload.github.com/eth-infinitism/account-abstraction/tar.gz/7174d6d845618dbd11cee68eefa715f5263690b6(ethers@5.7.2)(hardhat@2.21.0(typescript@5.3.3))(lodash@4.17.21)(typechain@5.2.0(typescript@5.3.3)): + accountabstraction@https://codeload.github.com/eth-infinitism/account-abstraction/tar.gz/62e1cf39220321a6e1c7bef51e974c3bf8a4e2e2(ethers@5.7.2)(hardhat@2.22.4(typescript@4.9.5))(lodash@4.17.21)(typechain@5.2.0(typescript@4.9.5)): + dependencies: + '@nomiclabs/hardhat-etherscan': 2.1.8(hardhat@2.22.4(typescript@4.9.5)) + '@openzeppelin/contracts': 5.0.2 + '@thehubbleproject/bls': 0.5.1 + '@typechain/hardhat': 2.3.1(hardhat@2.22.4(typescript@4.9.5))(lodash@4.17.21)(typechain@5.2.0(typescript@4.9.5)) + '@types/debug': 4.1.12 + '@types/mocha': 9.1.1 + debug: 4.3.4(supports-color@8.1.1) + ethereumjs-util: 7.1.5 + ethereumjs-wallet: 1.0.2 + hardhat-deploy: 0.11.45 + hardhat-deploy-ethers: 0.3.0-beta.13(ethers@5.7.2)(hardhat@2.22.4(typescript@4.9.5)) + solidity-coverage: 0.8.12(hardhat@2.22.4(typescript@4.9.5)) + source-map-support: 0.5.21 + table: 6.8.2 + typescript: 4.9.5 + transitivePeerDependencies: + - bufferutil + - encoding + - ethers + - hardhat + - lodash + - supports-color + - typechain + - utf-8-validate + + accountabstraction@https://codeload.github.com/eth-infinitism/account-abstraction/tar.gz/7174d6d845618dbd11cee68eefa715f5263690b6(ethers@5.7.2)(hardhat@2.22.4(typescript@4.9.5))(lodash@4.17.21)(typechain@5.2.0(typescript@4.9.5)): dependencies: '@gnosis.pm/safe-contracts': 1.3.0(ethers@5.7.2) - '@nomiclabs/hardhat-etherscan': 2.1.8(hardhat@2.21.0(typescript@5.3.3)) + '@nomiclabs/hardhat-etherscan': 2.1.8(hardhat@2.22.4(typescript@4.9.5)) '@openzeppelin/contracts': 4.9.6 '@thehubbleproject/bls': 0.5.1 - '@typechain/hardhat': 2.3.1(hardhat@2.21.0(typescript@5.3.3))(lodash@4.17.21)(typechain@5.2.0(typescript@5.3.3)) + '@typechain/hardhat': 2.3.1(hardhat@2.22.4(typescript@4.9.5))(lodash@4.17.21)(typechain@5.2.0(typescript@4.9.5)) '@types/mocha': 9.1.1 ethereumjs-util: 7.1.5 ethereumjs-wallet: 1.0.2 hardhat-deploy: 0.11.45 - hardhat-deploy-ethers: 0.3.0-beta.13(ethers@5.7.2)(hardhat@2.21.0(typescript@5.3.3)) - solidity-coverage: 0.8.10(hardhat@2.21.0(typescript@5.3.3)) + hardhat-deploy-ethers: 0.3.0-beta.13(ethers@5.7.2)(hardhat@2.22.4(typescript@4.9.5)) + solidity-coverage: 0.8.12(hardhat@2.22.4(typescript@4.9.5)) source-map-support: 0.5.21 - table: 6.8.1 + table: 6.8.2 typescript: 4.9.5 transitivePeerDependencies: - bufferutil @@ -2701,22 +2725,22 @@ snapshots: - typechain - utf-8-validate - accountabstraction@https://codeload.github.com/kopy-kat/account-abstraction/tar.gz/c5887153fbfe3ed09b2637cac39873f96d676f38(ethers@5.7.2)(hardhat@2.21.0(typescript@5.3.3))(lodash@4.17.21)(typechain@5.2.0(typescript@5.3.3)): + accountabstraction@https://codeload.github.com/kopy-kat/account-abstraction/tar.gz/c5887153fbfe3ed09b2637cac39873f96d676f38(ethers@5.7.2)(hardhat@2.22.4(typescript@4.9.5))(lodash@4.17.21)(typechain@5.2.0(typescript@4.9.5)): dependencies: - '@nomiclabs/hardhat-etherscan': 2.1.8(hardhat@2.21.0(typescript@5.3.3)) - '@openzeppelin/contracts': 5.0.1 + '@nomiclabs/hardhat-etherscan': 2.1.8(hardhat@2.22.4(typescript@4.9.5)) + '@openzeppelin/contracts': 5.0.2 '@thehubbleproject/bls': 0.5.1 - '@typechain/hardhat': 2.3.1(hardhat@2.21.0(typescript@5.3.3))(lodash@4.17.21)(typechain@5.2.0(typescript@5.3.3)) + '@typechain/hardhat': 2.3.1(hardhat@2.22.4(typescript@4.9.5))(lodash@4.17.21)(typechain@5.2.0(typescript@4.9.5)) '@types/debug': 4.1.12 '@types/mocha': 9.1.1 debug: 4.3.4(supports-color@8.1.1) ethereumjs-util: 7.1.5 ethereumjs-wallet: 1.0.2 hardhat-deploy: 0.11.45 - hardhat-deploy-ethers: 0.3.0-beta.13(ethers@5.7.2)(hardhat@2.21.0(typescript@5.3.3)) - solidity-coverage: 0.8.10(hardhat@2.21.0(typescript@5.3.3)) + hardhat-deploy-ethers: 0.3.0-beta.13(ethers@5.7.2)(hardhat@2.22.4(typescript@4.9.5)) + solidity-coverage: 0.8.12(hardhat@2.22.4(typescript@4.9.5)) source-map-support: 0.5.21 - table: 6.8.1 + table: 6.8.2 typescript: 4.9.5 transitivePeerDependencies: - bufferutil @@ -2752,7 +2776,7 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 - ajv@8.12.0: + ajv@8.13.0: dependencies: fast-deep-equal: 3.1.3 json-schema-traverse: 1.0.0 @@ -2784,9 +2808,7 @@ snapshots: dependencies: color-convert: 2.0.1 - antlr4@4.13.1: {} - - antlr4ts@0.5.0-alpha.4: {} + antlr4@4.13.1-patch-1: {} anymatch@3.1.3: dependencies: @@ -2821,7 +2843,7 @@ snapshots: axios@0.21.4(debug@4.3.4): dependencies: - follow-redirects: 1.15.5(debug@4.3.4) + follow-redirects: 1.15.6(debug@4.3.4) transitivePeerDependencies: - debug @@ -2835,7 +2857,7 @@ snapshots: bignumber.js@9.1.2: {} - binary-extensions@2.2.0: {} + binary-extensions@2.3.0: {} blakejs@1.2.1: {} @@ -2865,9 +2887,9 @@ snapshots: dependencies: balanced-match: 1.0.2 - braces@3.0.2: + braces@3.0.3: dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 brorand@1.1.0: {} @@ -2907,7 +2929,7 @@ snapshots: http-cache-semantics: 4.1.1 keyv: 4.5.4 mimic-response: 4.0.0 - normalize-url: 8.0.0 + normalize-url: 8.0.1 responselike: 3.0.0 call-bind@1.0.7: @@ -2916,7 +2938,7 @@ snapshots: es-errors: 1.3.0 function-bind: 1.1.2 get-intrinsic: 1.2.4 - set-function-length: 1.2.1 + set-function-length: 1.2.2 callsites@3.1.0: {} @@ -2941,7 +2963,7 @@ snapshots: chokidar@3.5.3: dependencies: anymatch: 3.1.3 - braces: 3.0.2 + braces: 3.0.3 glob-parent: 5.1.2 is-binary-path: 2.1.0 is-glob: 4.0.3 @@ -2953,7 +2975,7 @@ snapshots: chokidar@3.6.0: dependencies: anymatch: 3.1.3 - braces: 3.0.2 + braces: 3.0.3 glob-parent: 5.1.2 is-binary-path: 2.1.0 is-glob: 4.0.3 @@ -3016,14 +3038,14 @@ snapshots: cookie@0.4.2: {} - cosmiconfig@8.3.6(typescript@5.3.3): + cosmiconfig@8.3.6(typescript@4.9.5): dependencies: import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 optionalDependencies: - typescript: 5.3.3 + typescript: 4.9.5 create-hash@1.2.0: dependencies: @@ -3115,6 +3137,23 @@ snapshots: env-paths@2.2.1: {} + erc7579-implementation@https://codeload.github.com/erc7579/erc7579-implementation/tar.gz/c1a0fa69d08f7992bc4e910b4a108fb21fc10fae(ethers@5.7.2)(hardhat@2.22.4(typescript@4.9.5))(lodash@4.17.21)(typechain@5.2.0(typescript@4.9.5)): + dependencies: + '@rhinestone/sentinellist': https://codeload.github.com/rhinestonewtf/sentinellist/tar.gz/d1f58298637e1a4e5b82ff3e2b4fa1d2f4897791 + account-abstraction: accountabstraction@https://codeload.github.com/eth-infinitism/account-abstraction/tar.gz/62e1cf39220321a6e1c7bef51e974c3bf8a4e2e2(ethers@5.7.2)(hardhat@2.22.4(typescript@4.9.5))(lodash@4.17.21)(typechain@5.2.0(typescript@4.9.5)) + ds-test: https://codeload.github.com/dapphub/ds-test/tar.gz/e282159d5170298eb2455a6c05280ab5a73a4ef0 + forge-std: https://codeload.github.com/foundry-rs/forge-std/tar.gz/52715a217dc51d0de15877878ab8213f6cbbbab5 + solady: https://codeload.github.com/vectorized/solady/tar.gz/5e7497c2573576157f9ca23460adbbf3081d0176 + transitivePeerDependencies: + - bufferutil + - encoding + - ethers + - hardhat + - lodash + - supports-color + - typechain + - utf-8-validate + error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 @@ -3148,9 +3187,9 @@ snapshots: esutils@2.0.3: {} - ethereum-bloom-filters@1.0.10: + ethereum-bloom-filters@1.1.0: dependencies: - js-sha3: 0.8.0 + '@noble/hashes': 1.4.0 ethereum-cryptography@0.1.3: dependencies: @@ -3279,7 +3318,7 @@ snapshots: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.6 fast-json-stable-stringify@2.1.0: {} @@ -3289,7 +3328,7 @@ snapshots: dependencies: reusify: 1.0.4 - fill-range@7.0.1: + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 @@ -3313,11 +3352,11 @@ snapshots: dependencies: imul: 1.0.1 - follow-redirects@1.15.5(debug@4.3.4): + follow-redirects@1.15.6(debug@4.3.4): optionalDependencies: debug: 4.3.4(supports-color@8.1.1) - forge-std@https://codeload.github.com/foundry-rs/forge-std/tar.gz/2f6762e4f73f3d835457c220b5f62dfeeb6f6341: {} + forge-std@https://codeload.github.com/foundry-rs/forge-std/tar.gz/52715a217dc51d0de15877878ab8213f6cbbbab5: {} form-data-encoder@2.1.4: {} @@ -3377,7 +3416,7 @@ snapshots: function-bind: 1.1.2 has-proto: 1.0.3 has-symbols: 1.0.3 - hasown: 2.0.1 + hasown: 2.0.2 get-stream@6.0.1: {} @@ -3476,10 +3515,10 @@ snapshots: optionalDependencies: uglify-js: 3.17.4 - hardhat-deploy-ethers@0.3.0-beta.13(ethers@5.7.2)(hardhat@2.21.0(typescript@5.3.3)): + hardhat-deploy-ethers@0.3.0-beta.13(ethers@5.7.2)(hardhat@2.22.4(typescript@4.9.5)): dependencies: ethers: 5.7.2 - hardhat: 2.21.0(typescript@5.3.3) + hardhat: 2.22.4(typescript@4.9.5) hardhat-deploy@0.11.45: dependencies: @@ -3494,7 +3533,7 @@ snapshots: '@ethersproject/solidity': 5.7.0 '@ethersproject/transactions': 5.7.0 '@ethersproject/wallet': 5.7.0 - '@types/qs': 6.9.12 + '@types/qs': 6.9.15 axios: 0.21.4(debug@4.3.4) chalk: 4.1.2 chokidar: 3.6.0 @@ -3505,18 +3544,18 @@ snapshots: fs-extra: 10.1.0 match-all: 1.2.6 murmur-128: 0.2.1 - qs: 6.11.2 + qs: 6.12.1 zksync-web3: 0.14.4(ethers@5.7.2) transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - hardhat@2.21.0(typescript@5.3.3): + hardhat@2.22.4(typescript@4.9.5): dependencies: '@ethersproject/abi': 5.7.0 '@metamask/eth-sig-util': 4.0.1 - '@nomicfoundation/edr': 0.2.1 + '@nomicfoundation/edr': 0.3.8 '@nomicfoundation/ethereumjs-common': 4.0.4 '@nomicfoundation/ethereumjs-tx': 5.0.4 '@nomicfoundation/ethereumjs-util': 9.0.4 @@ -3540,12 +3579,12 @@ snapshots: fp-ts: 1.19.3 fs-extra: 7.0.1 glob: 7.2.0 - immutable: 4.3.5 + immutable: 4.3.6 io-ts: 1.10.4 keccak: 3.0.4 lodash: 4.17.21 mnemonist: 0.38.5 - mocha: 10.3.0 + mocha: 10.4.0 p-map: 4.0.0 raw-body: 2.5.2 resolve: 1.17.0 @@ -3554,11 +3593,11 @@ snapshots: source-map-support: 0.5.21 stacktrace-parser: 0.1.10 tsort: 0.0.1 - undici: 5.28.3 + undici: 5.28.4 uuid: 8.3.2 ws: 7.5.9 optionalDependencies: - typescript: 5.3.3 + typescript: 4.9.5 transitivePeerDependencies: - bufferutil - c-kzg @@ -3590,7 +3629,7 @@ snapshots: inherits: 2.0.4 minimalistic-assert: 1.0.1 - hasown@2.0.1: + hasown@2.0.2: dependencies: function-bind: 1.1.2 @@ -3632,7 +3671,7 @@ snapshots: ignore@5.3.1: {} - immutable@4.3.5: {} + immutable@4.3.6: {} import-fresh@3.3.0: dependencies: @@ -3662,11 +3701,11 @@ snapshots: is-binary-path@2.1.0: dependencies: - binary-extensions: 2.2.0 + binary-extensions: 2.3.0 is-core-module@2.13.1: dependencies: - hasown: 2.0.1 + hasown: 2.0.2 is-extglob@2.1.1: {} @@ -3726,7 +3765,7 @@ snapshots: keccak@3.0.4: dependencies: node-addon-api: 2.0.2 - node-gyp-build: 4.8.0 + node-gyp-build: 4.8.1 readable-stream: 3.6.2 keyv@4.5.4: @@ -3770,17 +3809,13 @@ snapshots: lowercase-keys@3.0.0: {} - lru-cache@6.0.0: - dependencies: - yallist: 4.0.0 - lru_map@0.3.3: {} match-all@1.2.6: {} - mcl-wasm@1.4.0: + mcl-wasm@1.5.0: dependencies: - '@types/node': 20.11.24 + '@types/node': 20.12.12 md5.js@1.3.5: dependencies: @@ -3794,14 +3829,10 @@ snapshots: micro-ftch@0.3.1: {} - micro-msa@https://codeload.github.com/erc7579/erc7579-implementation/tar.gz/88cc4a75fa1782c395cb21b2e1d39062fd3734e9: - dependencies: - '@openzeppelin/contracts': 5.0.1 - - micromatch@4.0.5: + micromatch@4.0.6: dependencies: - braces: 3.0.2 - picomatch: 2.3.1 + braces: 3.0.3 + picomatch: 4.0.2 mime-db@1.52.0: {} @@ -3841,7 +3872,7 @@ snapshots: dependencies: obliterator: 2.0.4 - mocha@10.3.0: + mocha@10.4.0: dependencies: ansi-colors: 4.1.1 browser-stdout: 1.3.1 @@ -3886,7 +3917,7 @@ snapshots: dependencies: whatwg-url: 5.0.0 - node-gyp-build@4.8.0: {} + node-gyp-build@4.8.1: {} nofilter@1.0.4: {} @@ -3896,7 +3927,7 @@ snapshots: normalize-path@3.0.0: {} - normalize-url@8.0.0: {} + normalize-url@8.0.1: {} number-to-bn@1.7.0: dependencies: @@ -3951,7 +3982,7 @@ snapshots: got: 12.6.1 registry-auth-token: 5.0.2 registry-url: 6.0.1 - semver: 7.6.0 + semver: 7.6.2 parent-module@1.0.1: dependencies: @@ -3959,7 +3990,7 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.24.2 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -3982,8 +4013,12 @@ snapshots: safe-buffer: 5.2.1 sha.js: 2.4.11 + picocolors@1.0.1: {} + picomatch@2.3.1: {} + picomatch@4.0.2: {} + pify@4.0.1: {} pluralize@8.0.0: {} @@ -3996,7 +4031,7 @@ snapshots: punycode@2.3.1: {} - qs@6.11.2: + qs@6.12.1: dependencies: side-channel: 1.0.6 @@ -4076,7 +4111,7 @@ snapshots: rimraf@2.7.1: dependencies: - glob: 7.2.3 + glob: 7.2.0 ripemd160@2.0.2: dependencies: @@ -4118,23 +4153,19 @@ snapshots: dependencies: elliptic: 6.5.5 node-addon-api: 2.0.2 - node-gyp-build: 4.8.0 + node-gyp-build: 4.8.1 semver@5.7.2: {} semver@6.3.1: {} - semver@7.6.0: - dependencies: - lru-cache: 6.0.0 - - sentinellist@https://codeload.github.com/rhinestonewtf/sentinellist/tar.gz/cbf62497dcfbfbd51475513069ce96a4e7a48db6: {} + semver@7.6.2: {} serialize-javascript@6.0.0: dependencies: randombytes: 2.1.0 - set-function-length@1.2.1: + set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 es-errors: 1.3.0 @@ -4173,7 +4204,7 @@ snapshots: astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 - solady@https://codeload.github.com/vectorized/solady/tar.gz/d3d564a3451f7128d63e611ac972b37804bd2c21: {} + solady@https://codeload.github.com/vectorized/solady/tar.gz/5e7497c2573576157f9ca23460adbbf3081d0176: {} solarray@https://codeload.github.com/sablier-labs/solarray/tar.gz/6bf10cb34cdace52a3ba5fe437e78cc82df92684: {} @@ -4181,7 +4212,7 @@ snapshots: dependencies: command-exists: 1.2.9 commander: 3.0.2 - follow-redirects: 1.15.5(debug@4.3.4) + follow-redirects: 1.15.6(debug@4.3.4) fs-extra: 0.30.0 js-sha3: 0.8.0 memorystream: 0.3.1 @@ -4191,15 +4222,15 @@ snapshots: transitivePeerDependencies: - debug - solhint@4.1.1(typescript@5.3.3): + solhint@4.5.4(typescript@4.9.5): dependencies: - '@solidity-parser/parser': 0.16.2 + '@solidity-parser/parser': 0.18.0 ajv: 6.12.6 - antlr4: 4.13.1 + antlr4: 4.13.1-patch-1 ast-parents: 0.0.1 chalk: 4.1.2 commander: 10.0.1 - cosmiconfig: 8.3.6(typescript@5.3.3) + cosmiconfig: 8.3.6(typescript@4.9.5) fast-diff: 1.3.0 glob: 8.1.0 ignore: 5.3.1 @@ -4207,16 +4238,16 @@ snapshots: latest-version: 7.0.0 lodash: 4.17.21 pluralize: 8.0.0 - semver: 7.6.0 + semver: 7.6.2 strip-ansi: 6.0.1 - table: 6.8.1 + table: 6.8.2 text-table: 0.2.0 optionalDependencies: prettier: 2.8.8 transitivePeerDependencies: - typescript - solidity-coverage@0.8.10(hardhat@2.21.0(typescript@5.3.3)): + solidity-coverage@0.8.12(hardhat@2.22.4(typescript@4.9.5)): dependencies: '@ethersproject/abi': 5.7.0 '@solidity-parser/parser': 0.18.0 @@ -4227,20 +4258,18 @@ snapshots: ghost-testrpc: 0.0.2 global-modules: 2.0.0 globby: 10.0.2 - hardhat: 2.21.0(typescript@5.3.3) + hardhat: 2.22.4(typescript@4.9.5) jsonschema: 1.4.1 lodash: 4.17.21 - mocha: 10.3.0 + mocha: 10.4.0 node-emoji: 1.11.0 pify: 4.0.1 recursive-readdir: 2.2.3 sc-istanbul: 0.4.6 - semver: 7.6.0 + semver: 7.6.2 shelljs: 0.8.5 web3-utils: 1.10.4 - solmate@https://codeload.github.com/transmissions11/solmate/tar.gz/c892309933b25c03d32b1b0d674df7ae292ba925: {} - source-map-support@0.5.21: dependencies: buffer-from: 1.1.2 @@ -4301,9 +4330,9 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - table@6.8.1: + table@6.8.2: dependencies: - ajv: 8.12.0 + ajv: 8.13.0 lodash.truncate: 4.4.2 slice-ansi: 4.0.0 string-width: 4.2.3 @@ -4328,9 +4357,9 @@ snapshots: tr46@0.0.3: {} - ts-essentials@7.0.3(typescript@5.3.3): + ts-essentials@7.0.3(typescript@4.9.5): dependencies: - typescript: 5.3.3 + typescript: 4.9.5 tslib@1.14.1: {} @@ -4350,7 +4379,7 @@ snapshots: type-fest@0.7.1: {} - typechain@5.2.0(typescript@5.3.3): + typechain@5.2.0(typescript@4.9.5): dependencies: '@types/prettier': 2.7.3 command-line-args: 4.0.7 @@ -4361,15 +4390,13 @@ snapshots: lodash: 4.17.21 mkdirp: 1.0.4 prettier: 2.8.8 - ts-essentials: 7.0.3(typescript@5.3.3) - typescript: 5.3.3 + ts-essentials: 7.0.3(typescript@4.9.5) + typescript: 4.9.5 transitivePeerDependencies: - supports-color typescript@4.9.5: {} - typescript@5.3.3: {} - typical@2.6.1: {} uglify-js@3.17.4: @@ -4377,7 +4404,7 @@ snapshots: undici-types@5.26.5: {} - undici@5.28.3: + undici@5.28.4: dependencies: '@fastify/busboy': 2.1.1 @@ -4401,7 +4428,7 @@ snapshots: dependencies: '@ethereumjs/util': 8.1.0 bn.js: 5.2.1 - ethereum-bloom-filters: 1.0.10 + ethereum-bloom-filters: 1.1.0 ethereum-cryptography: 2.1.3 ethjs-unit: 0.1.6 number-to-bn: 1.7.0 @@ -4443,8 +4470,6 @@ snapshots: y18n@5.0.8: {} - yallist@4.0.0: {} - yargs-parser@20.2.4: {} yargs-unparser@2.0.0: diff --git a/remappings.txt b/remappings.txt index 957bf3c..a59b1f4 100644 --- a/remappings.txt +++ b/remappings.txt @@ -1,17 +1,20 @@ -ds-test/=node_modules/ds-test/src/ -forge-std/=node_modules/forge-std/src/ -modulekit/=node_modules/@rhinestone/modulekit/packages/modulekit/src/ -@rhinestone/sessionkeymanager/=node_modules/@rhinestone/modulekit/packages/SessionKeyManager -@rhinestone/safe7579/=node_modules/@rhinestone/modulekit/accounts/safe7579 +@rhinestone/=node_modules/@rhinestone/ +sentinellist/=node_modules/@rhinestone/sentinellist/src/ +erc4337-validation/=node_modules/@rhinestone/erc4337-validation/src/ +safe7579/=node_modules/@rhinestone/safe7579/src/ +modulekit/=node_modules/@rhinestone/modulekit/src/ +module-bases/=node_modules/@rhinestone/module-bases/src/ + @ERC4337/=node_modules/@ERC4337/ account-abstraction/=node_modules/@ERC4337/account-abstraction/contracts/ account-abstraction-v0.6/=node_modules/@ERC4337/account-abstraction-v0.6/contracts/ + +@openzeppelin/=node_modules/@openzeppelin/ +@safe-global/=node_modules/@safe-global/ +ds-test/=node_modules/ds-test/src/ erc7579/=node_modules/erc7579/src/ -sentinellist/=node_modules/sentinellist/src/ -solmate/=node_modules/solmate/src/ -solady/=node_modules/solady/ +forge-std/=node_modules/forge-std/src/ +solady/=node_modules/solady/src/ solarray/=node_modules/solarray/src/ -@openzeppelin/=node_modules/@openzeppelin/ -@prb/math/=node_modules/@prb/math/ -erc4337-validation/=node_modules/erc4337-validation/src/ -@safe-global/=node_modules/@safe-global/ \ No newline at end of file +@prb/math/=node_modules/@prb/math/src/ + diff --git a/src/ExecutorTemplate.sol b/src/ExecutorTemplate.sol index 5f7b759..7bc9777 100644 --- a/src/ExecutorTemplate.sol +++ b/src/ExecutorTemplate.sol @@ -14,19 +14,24 @@ contract ExecutorTemplate is ERC7579ExecutorBase { CONFIG //////////////////////////////////////////////////////////////////////////*/ - /* Initialize the module with the given data + /** + * Initialize the module with the given data + * * @param data The data to initialize the module with */ function onInstall(bytes calldata data) external override { } - /* De-initialize the module with the given data + /** + * De-initialize the module with the given data + * * @param data The data to de-initialize the module with */ function onUninstall(bytes calldata data) external override { } - /* + /** * Check if the module is initialized * @param smartAccount The smart account to check + * * @return true if the module is initialized, false otherwise */ function isInitialized(address smartAccount) external view returns (bool) { } @@ -40,10 +45,11 @@ contract ExecutorTemplate is ERC7579ExecutorBase { * executor can implement any logic that is required for the specific usecase. */ - /* + /** * Execute the given data * @dev This is an example function that can be used to execute arbitrary data * @dev This function is not part of the ERC-7579 standard + * * @param data The data to execute */ function execute(bytes calldata data) external { @@ -60,6 +66,7 @@ contract ExecutorTemplate is ERC7579ExecutorBase { /** * The name of the module + * * @return name The name of the module */ function name() external pure returns (string memory) { @@ -68,17 +75,20 @@ contract ExecutorTemplate is ERC7579ExecutorBase { /** * The version of the module + * * @return version The version of the module */ function version() external pure returns (string memory) { return "0.0.1"; } - /* - * Check if the module is of a certain type - * @param typeID The type ID to check - * @return true if the module is of the given type, false otherwise - */ + /** + * Check if the module is of a certain type + * + * @param typeID The type ID to check + * + * @return true if the module is of the given type, false otherwise + */ function isModuleType(uint256 typeID) external pure override returns (bool) { return typeID == TYPE_EXECUTOR; } diff --git a/src/HookTemplate.sol b/src/HookTemplate.sol index 8090b17..ef9af4a 100644 --- a/src/HookTemplate.sol +++ b/src/HookTemplate.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.23; -import { ERC7579HookBase } from "modulekit/modules/ERC7579HookBase.sol"; +import { ERC7579HookBase } from "modulekit/Modules.sol"; contract HookTemplate is ERC7579HookBase { /*////////////////////////////////////////////////////////////////////////// @@ -12,19 +12,24 @@ contract HookTemplate is ERC7579HookBase { CONFIG //////////////////////////////////////////////////////////////////////////*/ - /* Initialize the module with the given data + /** + * Initialize the module with the given data + * * @param data The data to initialize the module with */ function onInstall(bytes calldata data) external override { } - /* De-initialize the module with the given data + /** + * De-initialize the module with the given data + * * @param data The data to de-initialize the module with */ function onUninstall(bytes calldata data) external override { } - /* + /** * Check if the module is initialized * @param smartAccount The smart account to check + * * @return true if the module is initialized, false otherwise */ function isInitialized(address smartAccount) external view returns (bool) { } @@ -35,15 +40,20 @@ contract HookTemplate is ERC7579HookBase { /** * Pre-checks an execution + * + * @param account The account address * @param msgSender The sender of the execution to the account * @param msgData The data of the execution + * * @return hookData The data to be used in the post-check */ - function preCheck( + function _preCheck( + address account, address msgSender, + uint256 msgValue, bytes calldata msgData ) - external + internal override returns (bytes memory hookData) { @@ -52,11 +62,15 @@ contract HookTemplate is ERC7579HookBase { /** * Post-checks an execution + * + * @param account The account address * @param hookData The data from the pre-check - * @return success true if the execution is successful, false otherwise */ - function postCheck(bytes calldata hookData) external override returns (bool success) { - (success) = abi.decode(hookData, (bool)); + function _postCheck(address account, bytes calldata hookData) internal override { + (bool success) = abi.decode(hookData, (bool)); + if (!success) { + revert("HookTemplate: execution failed"); + } } /*////////////////////////////////////////////////////////////////////////// @@ -69,6 +83,7 @@ contract HookTemplate is ERC7579HookBase { /** * The name of the module + * * @return name The name of the module */ function name() external pure returns (string memory) { @@ -77,17 +92,20 @@ contract HookTemplate is ERC7579HookBase { /** * The version of the module + * * @return version The version of the module */ function version() external pure returns (string memory) { return "0.0.1"; } - /* - * Check if the module is of a certain type - * @param typeID The type ID to check - * @return true if the module is of the given type, false otherwise - */ + /** + * Check if the module is of a certain type + * + * @param typeID The type ID to check + * + * @return true if the module is of the given type, false otherwise + */ function isModuleType(uint256 typeID) external pure override returns (bool) { return typeID == TYPE_HOOK; } diff --git a/src/ValidatorTemplate.sol b/src/ValidatorTemplate.sol index bdbafc1..c1dbb5c 100644 --- a/src/ValidatorTemplate.sol +++ b/src/ValidatorTemplate.sol @@ -15,12 +15,14 @@ contract ValidatorTemplate is ERC7579ValidatorBase { /** * Initialize the module with the given data + * * @param data The data to initialize the module with */ function onInstall(bytes calldata data) external override { } /** * De-initialize the module with the given data + * * @param data The data to de-initialize the module with */ function onUninstall(bytes calldata data) external override { } @@ -28,6 +30,7 @@ contract ValidatorTemplate is ERC7579ValidatorBase { /** * Check if the module is initialized * @param smartAccount The smart account to check + * * @return true if the module is initialized, false otherwise */ function isInitialized(address smartAccount) external view returns (bool) { } @@ -38,8 +41,10 @@ contract ValidatorTemplate is ERC7579ValidatorBase { /** * Validates PackedUserOperation - * @param userOp UserOperation to be validated. - * @param userOpHash Hash of the UserOperation to be validated. + * + * @param userOp UserOperation to be validated + * @param userOpHash Hash of the UserOperation to be validated + * * @return sigValidationResult the result of the signature validation, which can be: * - 0 if the signature is valid * - 1 if the signature is invalid @@ -60,9 +65,11 @@ contract ValidatorTemplate is ERC7579ValidatorBase { /** * Validates an ERC-1271 signature + * * @param sender The sender of the ERC-1271 call to the account * @param hash The hash of the message * @param signature The signature of the message + * * @return sigValidationResult the result of the signature validation, which can be: * - EIP1271_SUCCESS if the signature is valid * - EIP1271_FAILED if the signature is invalid @@ -91,6 +98,7 @@ contract ValidatorTemplate is ERC7579ValidatorBase { /** * The name of the module + * * @return name The name of the module */ function name() external pure returns (string memory) { @@ -99,6 +107,7 @@ contract ValidatorTemplate is ERC7579ValidatorBase { /** * The version of the module + * * @return version The version of the module */ function version() external pure returns (string memory) { @@ -107,7 +116,9 @@ contract ValidatorTemplate is ERC7579ValidatorBase { /** * Check if the module is of a certain type + * * @param typeID The type ID to check + * * @return true if the module is of the given type, false otherwise */ function isModuleType(uint256 typeID) external pure override returns (bool) {