From b4c25cbae08af32b95c3baf9b3e8c3e84f290103 Mon Sep 17 00:00:00 2001 From: Hadrien Croubois Date: Thu, 11 Sep 2025 14:35:16 +0200 Subject: [PATCH 1/9] Add missing imports when account use ERC-7579 without a signer + consolidate imports --- packages/core/solidity/src/account.test.ts.md | 1222 +++++++++-------- .../core/solidity/src/account.test.ts.snap | Bin 11692 -> 11712 bytes packages/core/solidity/src/account.ts | 10 + packages/core/solidity/src/custom.test.ts.md | 4 +- .../core/solidity/src/custom.test.ts.snap | Bin 859 -> 861 bytes packages/core/solidity/src/erc1155.test.ts.md | 22 +- .../core/solidity/src/erc1155.test.ts.snap | Bin 1807 -> 1802 bytes packages/core/solidity/src/erc20.test.ts.md | 68 +- packages/core/solidity/src/erc20.test.ts.snap | Bin 3450 -> 3432 bytes packages/core/solidity/src/erc721.test.ts.md | 36 +- .../core/solidity/src/erc721.test.ts.snap | Bin 2208 -> 2197 bytes .../core/solidity/src/governor.test.ts.md | 42 +- .../core/solidity/src/governor.test.ts.snap | Bin 2347 -> 2365 bytes packages/core/solidity/src/print.ts | 27 +- .../core/solidity/src/stablecoin.test.ts.md | 28 +- .../core/solidity/src/stablecoin.test.ts.snap | Bin 2125 -> 2126 bytes .../core/solidity/src/zip-foundry.test.ts.md | 34 +- .../solidity/src/zip-foundry.test.ts.snap | Bin 4530 -> 4520 bytes .../core/solidity/src/zip-hardhat.test.ts.md | 26 +- .../solidity/src/zip-hardhat.test.ts.snap | Bin 3264 -> 3261 bytes 20 files changed, 770 insertions(+), 749 deletions(-) diff --git a/packages/core/solidity/src/account.test.ts.md b/packages/core/solidity/src/account.test.ts.md index 1ea211d9d..2c7342731 100644 --- a/packages/core/solidity/src/account.test.ts.md +++ b/packages/core/solidity/src/account.test.ts.md @@ -100,8 +100,8 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract CustomAccountERC721Holder is Account, EIP712, ERC7739, ERC721Holder {␊ @@ -128,8 +128,8 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract CustomAccountERC1155Holder is Account, EIP712, ERC7739, ERC1155Holder {␊ @@ -156,9 +156,9 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract CustomAccountERC721HolderERC1155Holder is Account, EIP712, ERC7739, ERC721Holder, ERC1155Holder {␊ @@ -185,9 +185,9 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {ERC7821} from "@openzeppelin/contracts/account/extensions/draft-ERC7821.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {ERC7821} from "@openzeppelin/contracts/account/extensions/draft-ERC7821.sol";␊ ␊ contract MyAccount is Account, EIP712, ERC7739, ERC7821 {␊ constructor() EIP712("MyAccount", "1") {}␊ @@ -223,9 +223,10 @@ Generated by [AVA](https://avajs.dev). ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579} from "@openzeppelin/contracts/account/extensions/draft-AccountERC7579.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {MODULE_TYPE_EXECUTOR, MODULE_TYPE_VALIDATOR} from "@openzeppelin/contracts/interfaces/draft-IERC7579.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ ␊ contract MyAccount is Account, EIP712, ERC7739, AccountERC7579 {␊ constructor(uint256 moduleTypeId, address module, bytes calldata initData)␊ @@ -271,6 +272,7 @@ Generated by [AVA](https://avajs.dev). import {AccountERC7579} from "@openzeppelin/contracts/account/extensions/draft-AccountERC7579.sol";␊ import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {MODULE_TYPE_EXECUTOR, MODULE_TYPE_VALIDATOR} from "@openzeppelin/contracts/interfaces/draft-IERC7579.sol";␊ ␊ contract MyAccount is Account, IERC1271, AccountERC7579 {␊ constructor(uint256 moduleTypeId, address module, bytes calldata initData) {␊ @@ -309,9 +311,10 @@ Generated by [AVA](https://avajs.dev). ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579} from "@openzeppelin/contracts/account/extensions/draft-AccountERC7579.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {MODULE_TYPE_EXECUTOR, MODULE_TYPE_VALIDATOR} from "@openzeppelin/contracts/interfaces/draft-IERC7579.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ ␊ contract MyAccount is Account, EIP712, ERC7739, AccountERC7579 {␊ constructor(uint256 moduleTypeId, address module, bytes calldata initData)␊ @@ -356,9 +359,10 @@ Generated by [AVA](https://avajs.dev). import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579} from "@openzeppelin/contracts/account/extensions/draft-AccountERC7579.sol";␊ import {AccountERC7579Hooked} from "@openzeppelin/contracts/account/extensions/draft-AccountERC7579Hooked.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {MODULE_TYPE_EXECUTOR, MODULE_TYPE_VALIDATOR} from "@openzeppelin/contracts/interfaces/draft-IERC7579.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ ␊ contract MyAccount is Account, EIP712, ERC7739, AccountERC7579Hooked {␊ constructor(uint256 moduleTypeId, address module, bytes calldata initData)␊ @@ -400,11 +404,11 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract CustomAccount is Initializable, Account, EIP712, ERC7739, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -442,10 +446,10 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ ␊ contract CustomAccountERC1271 is Initializable, Account, IERC1271, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -492,11 +496,11 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract CustomAccountERC7739 is Initializable, Account, EIP712, ERC7739, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -534,12 +538,12 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract CustomAccountERC721Holder is Initializable, Account, EIP712, ERC7739, ERC721Holder, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -577,12 +581,12 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract CustomAccountERC1155Holder is Initializable, Account, EIP712, ERC7739, ERC1155Holder, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -620,13 +624,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract CustomAccountERC721HolderERC1155Holder is Initializable, Account, EIP712, ERC7739, ERC721Holder, ERC1155Holder, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -664,12 +668,12 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {ERC7821} from "@openzeppelin/contracts/account/extensions/draft-ERC7821.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {ERC7821} from "@openzeppelin/contracts/account/extensions/draft-ERC7821.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, ERC7821, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -716,13 +720,14 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {MODULE_TYPE_EXECUTOR, MODULE_TYPE_VALIDATOR} from "@openzeppelin/contracts/interfaces/draft-IERC7579.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579Upgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -779,12 +784,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {MODULE_TYPE_EXECUTOR, MODULE_TYPE_VALIDATOR} from "@openzeppelin/contracts/interfaces/draft-IERC7579.sol";␊ ␊ contract MyAccount is Initializable, Account, IERC1271, AccountERC7579Upgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -838,13 +844,14 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {MODULE_TYPE_EXECUTOR, MODULE_TYPE_VALIDATOR} from "@openzeppelin/contracts/interfaces/draft-IERC7579.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579Upgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -901,14 +908,15 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ import {AccountERC7579HookedUpgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579HookedUpgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {MODULE_TYPE_EXECUTOR, MODULE_TYPE_VALIDATOR} from "@openzeppelin/contracts/interfaces/draft-IERC7579.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579HookedUpgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -965,10 +973,10 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ ␊ contract CustomAccount is Initializable, Account, EIP712, ERC7739 {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -996,9 +1004,9 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ ␊ contract CustomAccountERC1271 is Initializable, Account, IERC1271 {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -1035,10 +1043,10 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ ␊ contract CustomAccountERC7739 is Initializable, Account, EIP712, ERC7739 {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -1066,11 +1074,11 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ ␊ contract CustomAccountERC721Holder is Initializable, Account, EIP712, ERC7739, ERC721Holder {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -1098,11 +1106,11 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ ␊ contract CustomAccountERC1155Holder is Initializable, Account, EIP712, ERC7739, ERC1155Holder {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -1130,12 +1138,12 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ ␊ contract CustomAccountERC721HolderERC1155Holder is Initializable, Account, EIP712, ERC7739, ERC721Holder, ERC1155Holder {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -1163,11 +1171,11 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {ERC7821} from "@openzeppelin/contracts/account/extensions/draft-ERC7821.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {ERC7821} from "@openzeppelin/contracts/account/extensions/draft-ERC7821.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, ERC7821 {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -1204,12 +1212,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {MODULE_TYPE_EXECUTOR, MODULE_TYPE_VALIDATOR} from "@openzeppelin/contracts/interfaces/draft-IERC7579.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579Upgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -1259,11 +1268,12 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {MODULE_TYPE_EXECUTOR, MODULE_TYPE_VALIDATOR} from "@openzeppelin/contracts/interfaces/draft-IERC7579.sol";␊ ␊ contract MyAccount is Initializable, Account, IERC1271, AccountERC7579Upgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -1310,12 +1320,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {MODULE_TYPE_EXECUTOR, MODULE_TYPE_VALIDATOR} from "@openzeppelin/contracts/interfaces/draft-IERC7579.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579Upgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -1365,13 +1376,14 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ import {AccountERC7579HookedUpgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579HookedUpgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {MODULE_TYPE_EXECUTOR, MODULE_TYPE_VALIDATOR} from "@openzeppelin/contracts/interfaces/draft-IERC7579.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579HookedUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -1423,8 +1435,8 @@ Generated by [AVA](https://avajs.dev). ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {SignerERC7702} from "@openzeppelin/contracts/utils/cryptography/signers/SignerERC7702.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract CustomAccountWithSignerERC7702 is Account, EIP712, ERC7739, SignerERC7702 {␊ constructor() EIP712("CustomAccount with SignerERC7702", "1") {}␊ @@ -1465,8 +1477,8 @@ Generated by [AVA](https://avajs.dev). ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {SignerERC7702} from "@openzeppelin/contracts/utils/cryptography/signers/SignerERC7702.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract CustomAccountWithSignerERC7702ERC7739 is Account, EIP712, ERC7739, SignerERC7702 {␊ constructor() EIP712("CustomAccount with SignerERC7702ERC7739", "1") {}␊ @@ -1482,10 +1494,10 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {SignerERC7702} from "@openzeppelin/contracts/utils/cryptography/signers/SignerERC7702.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract CustomAccountWithSignerERC7702ERC721Holder is Account, EIP712, ERC7739, SignerERC7702, ERC721Holder {␊ constructor() EIP712("CustomAccount with SignerERC7702ERC721Holder", "1") {}␊ @@ -1501,10 +1513,10 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {SignerERC7702} from "@openzeppelin/contracts/utils/cryptography/signers/SignerERC7702.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract CustomAccountWithSignerERC7702ERC1155Holder is Account, EIP712, ERC7739, SignerERC7702, ERC1155Holder {␊ constructor() EIP712("CustomAccount with SignerERC7702ERC1155Holder", "1") {}␊ @@ -1520,11 +1532,11 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {SignerERC7702} from "@openzeppelin/contracts/utils/cryptography/signers/SignerERC7702.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract CustomAccountWithSignerERC7702ERC721HolderERC1155Holder is Account, EIP712, ERC7739, SignerERC7702, ERC721Holder, ERC1155Holder {␊ constructor()␊ @@ -1542,10 +1554,10 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {ERC7821} from "@openzeppelin/contracts/account/extensions/draft-ERC7821.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {SignerERC7702} from "@openzeppelin/contracts/utils/cryptography/signers/SignerERC7702.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Account, EIP712, ERC7739, SignerERC7702, ERC7821 {␊ constructor() EIP712("MyAccount", "1") {}␊ @@ -1569,13 +1581,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579} from "@openzeppelin/contracts/account/extensions/draft-AccountERC7579.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {SignerERC7702} from "@openzeppelin/contracts/utils/cryptography/signers/SignerERC7702.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Account, EIP712, ERC7739, AccountERC7579, SignerERC7702 {␊ constructor() EIP712("MyAccount", "1") {}␊ @@ -1625,11 +1637,11 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579} from "@openzeppelin/contracts/account/extensions/draft-AccountERC7579.sol";␊ import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {SignerERC7702} from "@openzeppelin/contracts/utils/cryptography/signers/SignerERC7702.sol";␊ ␊ contract MyAccount is Account, IERC1271, AccountERC7579, SignerERC7702 {␊ @@ -1675,13 +1687,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579} from "@openzeppelin/contracts/account/extensions/draft-AccountERC7579.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {SignerERC7702} from "@openzeppelin/contracts/utils/cryptography/signers/SignerERC7702.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Account, EIP712, ERC7739, AccountERC7579, SignerERC7702 {␊ constructor() EIP712("MyAccount", "1") {}␊ @@ -1731,14 +1743,14 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579} from "@openzeppelin/contracts/account/extensions/draft-AccountERC7579.sol";␊ import {AccountERC7579Hooked} from "@openzeppelin/contracts/account/extensions/draft-AccountERC7579Hooked.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {SignerERC7702} from "@openzeppelin/contracts/utils/cryptography/signers/SignerERC7702.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Account, EIP712, ERC7739, AccountERC7579Hooked, SignerERC7702 {␊ constructor() EIP712("MyAccount", "1") {}␊ @@ -1790,8 +1802,8 @@ Generated by [AVA](https://avajs.dev). ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {SignerECDSA} from "@openzeppelin/contracts/utils/cryptography/signers/SignerECDSA.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract CustomAccountWithSignerECDSA is Account, EIP712, ERC7739, SignerECDSA {␊ constructor(address signer)␊ @@ -1837,8 +1849,8 @@ Generated by [AVA](https://avajs.dev). ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {SignerECDSA} from "@openzeppelin/contracts/utils/cryptography/signers/SignerECDSA.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract CustomAccountWithSignerECDSAERC7739 is Account, EIP712, ERC7739, SignerECDSA {␊ constructor(address signer)␊ @@ -1857,10 +1869,10 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {SignerECDSA} from "@openzeppelin/contracts/utils/cryptography/signers/SignerECDSA.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract CustomAccountWithSignerECDSAERC721Holder is Account, EIP712, ERC7739, SignerECDSA, ERC721Holder {␊ constructor(address signer)␊ @@ -1879,10 +1891,10 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {SignerECDSA} from "@openzeppelin/contracts/utils/cryptography/signers/SignerECDSA.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract CustomAccountWithSignerECDSAERC1155Holder is Account, EIP712, ERC7739, SignerECDSA, ERC1155Holder {␊ constructor(address signer)␊ @@ -1901,11 +1913,11 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {SignerECDSA} from "@openzeppelin/contracts/utils/cryptography/signers/SignerECDSA.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract CustomAccountWithSignerECDSAERC721HolderERC1155Holder is Account, EIP712, ERC7739, SignerECDSA, ERC721Holder, ERC1155Holder {␊ constructor(address signer)␊ @@ -1924,10 +1936,10 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {ERC7821} from "@openzeppelin/contracts/account/extensions/draft-ERC7821.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {SignerECDSA} from "@openzeppelin/contracts/utils/cryptography/signers/SignerECDSA.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Account, EIP712, ERC7739, SignerECDSA, ERC7821 {␊ constructor(address signer) EIP712("MyAccount", "1") SignerECDSA(signer) {}␊ @@ -1951,13 +1963,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579} from "@openzeppelin/contracts/account/extensions/draft-AccountERC7579.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {SignerECDSA} from "@openzeppelin/contracts/utils/cryptography/signers/SignerECDSA.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Account, EIP712, ERC7739, AccountERC7579, SignerECDSA {␊ constructor(address signer) EIP712("MyAccount", "1") SignerECDSA(signer) {}␊ @@ -2007,11 +2019,11 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579} from "@openzeppelin/contracts/account/extensions/draft-AccountERC7579.sol";␊ import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {SignerECDSA} from "@openzeppelin/contracts/utils/cryptography/signers/SignerECDSA.sol";␊ ␊ contract MyAccount is Account, IERC1271, AccountERC7579, SignerECDSA {␊ @@ -2059,13 +2071,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579} from "@openzeppelin/contracts/account/extensions/draft-AccountERC7579.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {SignerECDSA} from "@openzeppelin/contracts/utils/cryptography/signers/SignerECDSA.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Account, EIP712, ERC7739, AccountERC7579, SignerECDSA {␊ constructor(address signer) EIP712("MyAccount", "1") SignerECDSA(signer) {}␊ @@ -2115,14 +2127,14 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579} from "@openzeppelin/contracts/account/extensions/draft-AccountERC7579.sol";␊ import {AccountERC7579Hooked} from "@openzeppelin/contracts/account/extensions/draft-AccountERC7579Hooked.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {SignerECDSA} from "@openzeppelin/contracts/utils/cryptography/signers/SignerECDSA.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Account, EIP712, ERC7739, AccountERC7579Hooked, SignerECDSA {␊ constructor(address signer) EIP712("MyAccount", "1") SignerECDSA(signer) {}␊ @@ -2172,12 +2184,12 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerECDSA is Initializable, Account, EIP712, ERC7739, SignerECDSAUpgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -2206,11 +2218,11 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ ␊ contract CustomAccountWithSignerECDSAERC1271 is Initializable, Account, IERC1271, SignerECDSAUpgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -2248,12 +2260,12 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerECDSAERC7739 is Initializable, Account, EIP712, ERC7739, SignerECDSAUpgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -2282,13 +2294,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerECDSAERC721Holder is Initializable, Account, EIP712, ERC7739, SignerECDSAUpgradeable, ERC721Holder, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -2317,13 +2329,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerECDSAERC1155Holder is Initializable, Account, EIP712, ERC7739, SignerECDSAUpgradeable, ERC1155Holder, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -2352,14 +2364,14 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerECDSAERC721HolderERC1155Holder is Initializable, Account, EIP712, ERC7739, SignerECDSAUpgradeable, ERC721Holder, ERC1155Holder, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -2390,13 +2402,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {ERC7821} from "@openzeppelin/contracts/account/extensions/draft-ERC7821.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {ERC7821} from "@openzeppelin/contracts/account/extensions/draft-ERC7821.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, SignerECDSAUpgradeable, ERC7821, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -2434,15 +2446,15 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ - import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579Upgradeable, SignerECDSAUpgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -2507,14 +2519,14 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ - import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ ␊ contract MyAccount is Initializable, Account, IERC1271, AccountERC7579Upgradeable, SignerECDSAUpgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -2576,15 +2588,15 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ - import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579Upgradeable, SignerECDSAUpgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -2649,16 +2661,16 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ import {AccountERC7579HookedUpgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579HookedUpgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ - import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579HookedUpgradeable, SignerECDSAUpgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -2723,11 +2735,11 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerECDSA is Initializable, Account, EIP712, ERC7739, SignerECDSAUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -2749,10 +2761,10 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ ␊ contract CustomAccountWithSignerECDSAERC1271 is Initializable, Account, IERC1271, SignerECDSAUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -2783,11 +2795,11 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerECDSAERC7739 is Initializable, Account, EIP712, ERC7739, SignerECDSAUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -2809,12 +2821,12 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerECDSAERC721Holder is Initializable, Account, EIP712, ERC7739, SignerECDSAUpgradeable, ERC721Holder {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -2836,12 +2848,12 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerECDSAERC1155Holder is Initializable, Account, EIP712, ERC7739, SignerECDSAUpgradeable, ERC1155Holder {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -2863,13 +2875,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerECDSAERC721HolderERC1155Holder is Initializable, Account, EIP712, ERC7739, SignerECDSAUpgradeable, ERC721Holder, ERC1155Holder {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -2893,12 +2905,12 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {ERC7821} from "@openzeppelin/contracts/account/extensions/draft-ERC7821.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {ERC7821} from "@openzeppelin/contracts/account/extensions/draft-ERC7821.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, SignerECDSAUpgradeable, ERC7821 {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -2929,14 +2941,14 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579Upgradeable, SignerECDSAUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -2994,13 +3006,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ ␊ contract MyAccount is Initializable, Account, IERC1271, AccountERC7579Upgradeable, SignerECDSAUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -3055,14 +3067,14 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579Upgradeable, SignerECDSAUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -3120,15 +3132,15 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ import {AccountERC7579HookedUpgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579HookedUpgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579HookedUpgradeable, SignerECDSAUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -3188,8 +3200,8 @@ Generated by [AVA](https://avajs.dev). ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {SignerP256} from "@openzeppelin/contracts/utils/cryptography/signers/SignerP256.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract CustomAccountWithSignerP256 is Account, EIP712, ERC7739, SignerP256 {␊ constructor(bytes32 qx, bytes32 qy)␊ @@ -3235,8 +3247,8 @@ Generated by [AVA](https://avajs.dev). ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {SignerP256} from "@openzeppelin/contracts/utils/cryptography/signers/SignerP256.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract CustomAccountWithSignerP256ERC7739 is Account, EIP712, ERC7739, SignerP256 {␊ constructor(bytes32 qx, bytes32 qy)␊ @@ -3255,10 +3267,10 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {SignerP256} from "@openzeppelin/contracts/utils/cryptography/signers/SignerP256.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract CustomAccountWithSignerP256ERC721Holder is Account, EIP712, ERC7739, SignerP256, ERC721Holder {␊ constructor(bytes32 qx, bytes32 qy)␊ @@ -3277,10 +3289,10 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {SignerP256} from "@openzeppelin/contracts/utils/cryptography/signers/SignerP256.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract CustomAccountWithSignerP256ERC1155Holder is Account, EIP712, ERC7739, SignerP256, ERC1155Holder {␊ constructor(bytes32 qx, bytes32 qy)␊ @@ -3299,11 +3311,11 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {SignerP256} from "@openzeppelin/contracts/utils/cryptography/signers/SignerP256.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract CustomAccountWithSignerP256ERC721HolderERC1155Holder is Account, EIP712, ERC7739, SignerP256, ERC721Holder, ERC1155Holder {␊ constructor(bytes32 qx, bytes32 qy)␊ @@ -3322,10 +3334,10 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {ERC7821} from "@openzeppelin/contracts/account/extensions/draft-ERC7821.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {SignerP256} from "@openzeppelin/contracts/utils/cryptography/signers/SignerP256.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Account, EIP712, ERC7739, SignerP256, ERC7821 {␊ constructor(bytes32 qx, bytes32 qy)␊ @@ -3352,13 +3364,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579} from "@openzeppelin/contracts/account/extensions/draft-AccountERC7579.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {SignerP256} from "@openzeppelin/contracts/utils/cryptography/signers/SignerP256.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Account, EIP712, ERC7739, AccountERC7579, SignerP256 {␊ constructor(bytes32 qx, bytes32 qy)␊ @@ -3411,11 +3423,11 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579} from "@openzeppelin/contracts/account/extensions/draft-AccountERC7579.sol";␊ import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {SignerP256} from "@openzeppelin/contracts/utils/cryptography/signers/SignerP256.sol";␊ ␊ contract MyAccount is Account, IERC1271, AccountERC7579, SignerP256 {␊ @@ -3463,13 +3475,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579} from "@openzeppelin/contracts/account/extensions/draft-AccountERC7579.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {SignerP256} from "@openzeppelin/contracts/utils/cryptography/signers/SignerP256.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Account, EIP712, ERC7739, AccountERC7579, SignerP256 {␊ constructor(bytes32 qx, bytes32 qy)␊ @@ -3522,14 +3534,14 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579} from "@openzeppelin/contracts/account/extensions/draft-AccountERC7579.sol";␊ import {AccountERC7579Hooked} from "@openzeppelin/contracts/account/extensions/draft-AccountERC7579Hooked.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {SignerP256} from "@openzeppelin/contracts/utils/cryptography/signers/SignerP256.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Account, EIP712, ERC7739, AccountERC7579Hooked, SignerP256 {␊ constructor(bytes32 qx, bytes32 qy)␊ @@ -3582,12 +3594,12 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerP256 is Initializable, Account, EIP712, ERC7739, SignerP256Upgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -3616,11 +3628,11 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ ␊ contract CustomAccountWithSignerP256ERC1271 is Initializable, Account, IERC1271, SignerP256Upgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -3658,12 +3670,12 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerP256ERC7739 is Initializable, Account, EIP712, ERC7739, SignerP256Upgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -3692,13 +3704,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerP256ERC721Holder is Initializable, Account, EIP712, ERC7739, SignerP256Upgradeable, ERC721Holder, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -3727,13 +3739,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerP256ERC1155Holder is Initializable, Account, EIP712, ERC7739, SignerP256Upgradeable, ERC1155Holder, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -3762,14 +3774,14 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerP256ERC721HolderERC1155Holder is Initializable, Account, EIP712, ERC7739, SignerP256Upgradeable, ERC721Holder, ERC1155Holder, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -3800,13 +3812,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {ERC7821} from "@openzeppelin/contracts/account/extensions/draft-ERC7821.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {ERC7821} from "@openzeppelin/contracts/account/extensions/draft-ERC7821.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, SignerP256Upgradeable, ERC7821, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -3844,15 +3856,15 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ - import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579Upgradeable, SignerP256Upgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -3917,14 +3929,14 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ - import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ ␊ contract MyAccount is Initializable, Account, IERC1271, AccountERC7579Upgradeable, SignerP256Upgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -3986,15 +3998,15 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ - import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579Upgradeable, SignerP256Upgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -4059,16 +4071,16 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ import {AccountERC7579HookedUpgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579HookedUpgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ - import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579HookedUpgradeable, SignerP256Upgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -4133,11 +4145,11 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ ␊ contract CustomAccountWithSignerP256 is Initializable, Account, EIP712, ERC7739, SignerP256Upgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -4159,10 +4171,10 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ ␊ contract CustomAccountWithSignerP256ERC1271 is Initializable, Account, IERC1271, SignerP256Upgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -4193,11 +4205,11 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ ␊ contract CustomAccountWithSignerP256ERC7739 is Initializable, Account, EIP712, ERC7739, SignerP256Upgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -4219,12 +4231,12 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ ␊ contract CustomAccountWithSignerP256ERC721Holder is Initializable, Account, EIP712, ERC7739, SignerP256Upgradeable, ERC721Holder {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -4246,12 +4258,12 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ ␊ contract CustomAccountWithSignerP256ERC1155Holder is Initializable, Account, EIP712, ERC7739, SignerP256Upgradeable, ERC1155Holder {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -4273,13 +4285,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ ␊ contract CustomAccountWithSignerP256ERC721HolderERC1155Holder is Initializable, Account, EIP712, ERC7739, SignerP256Upgradeable, ERC721Holder, ERC1155Holder {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -4303,12 +4315,12 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {ERC7821} from "@openzeppelin/contracts/account/extensions/draft-ERC7821.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {ERC7821} from "@openzeppelin/contracts/account/extensions/draft-ERC7821.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, SignerP256Upgradeable, ERC7821 {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -4339,14 +4351,14 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579Upgradeable, SignerP256Upgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -4404,13 +4416,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ ␊ contract MyAccount is Initializable, Account, IERC1271, AccountERC7579Upgradeable, SignerP256Upgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -4465,14 +4477,14 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579Upgradeable, SignerP256Upgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -4530,15 +4542,15 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ import {AccountERC7579HookedUpgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579HookedUpgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ import {SignerP256Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerP256Upgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579HookedUpgradeable, SignerP256Upgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -4598,8 +4610,8 @@ Generated by [AVA](https://avajs.dev). ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {SignerRSA} from "@openzeppelin/contracts/utils/cryptography/signers/SignerRSA.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract CustomAccountWithSignerRSA is Account, EIP712, ERC7739, SignerRSA {␊ constructor(bytes memory e, bytes memory n)␊ @@ -4645,8 +4657,8 @@ Generated by [AVA](https://avajs.dev). ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {SignerRSA} from "@openzeppelin/contracts/utils/cryptography/signers/SignerRSA.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract CustomAccountWithSignerRSAERC7739 is Account, EIP712, ERC7739, SignerRSA {␊ constructor(bytes memory e, bytes memory n)␊ @@ -4665,10 +4677,10 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {SignerRSA} from "@openzeppelin/contracts/utils/cryptography/signers/SignerRSA.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract CustomAccountWithSignerRSAERC721Holder is Account, EIP712, ERC7739, SignerRSA, ERC721Holder {␊ constructor(bytes memory e, bytes memory n)␊ @@ -4687,10 +4699,10 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {SignerRSA} from "@openzeppelin/contracts/utils/cryptography/signers/SignerRSA.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract CustomAccountWithSignerRSAERC1155Holder is Account, EIP712, ERC7739, SignerRSA, ERC1155Holder {␊ constructor(bytes memory e, bytes memory n)␊ @@ -4709,11 +4721,11 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {SignerRSA} from "@openzeppelin/contracts/utils/cryptography/signers/SignerRSA.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract CustomAccountWithSignerRSAERC721HolderERC1155Holder is Account, EIP712, ERC7739, SignerRSA, ERC721Holder, ERC1155Holder {␊ constructor(bytes memory e, bytes memory n)␊ @@ -4732,10 +4744,10 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {ERC7821} from "@openzeppelin/contracts/account/extensions/draft-ERC7821.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {SignerRSA} from "@openzeppelin/contracts/utils/cryptography/signers/SignerRSA.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Account, EIP712, ERC7739, SignerRSA, ERC7821 {␊ constructor(bytes memory e, bytes memory n)␊ @@ -4762,13 +4774,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579} from "@openzeppelin/contracts/account/extensions/draft-AccountERC7579.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {SignerRSA} from "@openzeppelin/contracts/utils/cryptography/signers/SignerRSA.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Account, EIP712, ERC7739, AccountERC7579, SignerRSA {␊ constructor(bytes memory e, bytes memory n)␊ @@ -4821,11 +4833,11 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579} from "@openzeppelin/contracts/account/extensions/draft-AccountERC7579.sol";␊ import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {SignerRSA} from "@openzeppelin/contracts/utils/cryptography/signers/SignerRSA.sol";␊ ␊ contract MyAccount is Account, IERC1271, AccountERC7579, SignerRSA {␊ @@ -4873,13 +4885,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579} from "@openzeppelin/contracts/account/extensions/draft-AccountERC7579.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {SignerRSA} from "@openzeppelin/contracts/utils/cryptography/signers/SignerRSA.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Account, EIP712, ERC7739, AccountERC7579, SignerRSA {␊ constructor(bytes memory e, bytes memory n)␊ @@ -4932,14 +4944,14 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579} from "@openzeppelin/contracts/account/extensions/draft-AccountERC7579.sol";␊ import {AccountERC7579Hooked} from "@openzeppelin/contracts/account/extensions/draft-AccountERC7579Hooked.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {SignerRSA} from "@openzeppelin/contracts/utils/cryptography/signers/SignerRSA.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Account, EIP712, ERC7739, AccountERC7579Hooked, SignerRSA {␊ constructor(bytes memory e, bytes memory n)␊ @@ -4992,12 +5004,12 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerRSA is Initializable, Account, EIP712, ERC7739, SignerRSAUpgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -5026,11 +5038,11 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ ␊ contract CustomAccountWithSignerRSAERC1271 is Initializable, Account, IERC1271, SignerRSAUpgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -5068,12 +5080,12 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerRSAERC7739 is Initializable, Account, EIP712, ERC7739, SignerRSAUpgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -5102,13 +5114,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerRSAERC721Holder is Initializable, Account, EIP712, ERC7739, SignerRSAUpgradeable, ERC721Holder, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -5137,13 +5149,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerRSAERC1155Holder is Initializable, Account, EIP712, ERC7739, SignerRSAUpgradeable, ERC1155Holder, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -5172,14 +5184,14 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerRSAERC721HolderERC1155Holder is Initializable, Account, EIP712, ERC7739, SignerRSAUpgradeable, ERC721Holder, ERC1155Holder, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -5210,13 +5222,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {ERC7821} from "@openzeppelin/contracts/account/extensions/draft-ERC7821.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {ERC7821} from "@openzeppelin/contracts/account/extensions/draft-ERC7821.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, SignerRSAUpgradeable, ERC7821, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -5254,15 +5266,15 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ - import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579Upgradeable, SignerRSAUpgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -5327,14 +5339,14 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ - import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ ␊ contract MyAccount is Initializable, Account, IERC1271, AccountERC7579Upgradeable, SignerRSAUpgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -5396,15 +5408,15 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ - import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579Upgradeable, SignerRSAUpgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -5469,16 +5481,16 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ import {AccountERC7579HookedUpgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579HookedUpgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ - import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579HookedUpgradeable, SignerRSAUpgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -5543,11 +5555,11 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerRSA is Initializable, Account, EIP712, ERC7739, SignerRSAUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -5569,10 +5581,10 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ ␊ contract CustomAccountWithSignerRSAERC1271 is Initializable, Account, IERC1271, SignerRSAUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -5603,11 +5615,11 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerRSAERC7739 is Initializable, Account, EIP712, ERC7739, SignerRSAUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -5629,12 +5641,12 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerRSAERC721Holder is Initializable, Account, EIP712, ERC7739, SignerRSAUpgradeable, ERC721Holder {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -5656,12 +5668,12 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerRSAERC1155Holder is Initializable, Account, EIP712, ERC7739, SignerRSAUpgradeable, ERC1155Holder {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -5683,13 +5695,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerRSAERC721HolderERC1155Holder is Initializable, Account, EIP712, ERC7739, SignerRSAUpgradeable, ERC721Holder, ERC1155Holder {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -5713,12 +5725,12 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {ERC7821} from "@openzeppelin/contracts/account/extensions/draft-ERC7821.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {ERC7821} from "@openzeppelin/contracts/account/extensions/draft-ERC7821.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, SignerRSAUpgradeable, ERC7821 {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -5749,14 +5761,14 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579Upgradeable, SignerRSAUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -5814,13 +5826,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ ␊ contract MyAccount is Initializable, Account, IERC1271, AccountERC7579Upgradeable, SignerRSAUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -5875,14 +5887,14 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579Upgradeable, SignerRSAUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -5940,15 +5952,15 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ import {AccountERC7579HookedUpgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579HookedUpgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ import {SignerRSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerRSAUpgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579HookedUpgradeable, SignerRSAUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -6008,8 +6020,8 @@ Generated by [AVA](https://avajs.dev). ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {MultiSignerERC7913} from "@openzeppelin/contracts/utils/cryptography/signers/MultiSignerERC7913.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract CustomAccountWithSignerMultisig is Account, EIP712, ERC7739, MultiSignerERC7913 {␊ constructor(bytes[] memory signers, uint64 threshold)␊ @@ -6081,8 +6093,8 @@ Generated by [AVA](https://avajs.dev). ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {MultiSignerERC7913} from "@openzeppelin/contracts/utils/cryptography/signers/MultiSignerERC7913.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract CustomAccountWithSignerMultisigERC7739 is Account, EIP712, ERC7739, MultiSignerERC7913 {␊ constructor(bytes[] memory signers, uint64 threshold)␊ @@ -6113,10 +6125,10 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {MultiSignerERC7913} from "@openzeppelin/contracts/utils/cryptography/signers/MultiSignerERC7913.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract CustomAccountWithSignerMultisigERC721Holder is Account, EIP712, ERC7739, MultiSignerERC7913, ERC721Holder {␊ constructor(bytes[] memory signers, uint64 threshold)␊ @@ -6147,10 +6159,10 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {MultiSignerERC7913} from "@openzeppelin/contracts/utils/cryptography/signers/MultiSignerERC7913.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract CustomAccountWithSignerMultisigERC1155Holder is Account, EIP712, ERC7739, MultiSignerERC7913, ERC1155Holder {␊ constructor(bytes[] memory signers, uint64 threshold)␊ @@ -6181,11 +6193,11 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {MultiSignerERC7913} from "@openzeppelin/contracts/utils/cryptography/signers/MultiSignerERC7913.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract CustomAccountWithSignerMultisigERC721HolderERC1155Holder is Account, EIP712, ERC7739, MultiSignerERC7913, ERC721Holder, ERC1155Holder {␊ constructor(bytes[] memory signers, uint64 threshold)␊ @@ -6216,10 +6228,10 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {ERC7821} from "@openzeppelin/contracts/account/extensions/draft-ERC7821.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {MultiSignerERC7913} from "@openzeppelin/contracts/utils/cryptography/signers/MultiSignerERC7913.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Account, EIP712, ERC7739, MultiSignerERC7913, ERC7821 {␊ constructor(bytes[] memory signers, uint64 threshold)␊ @@ -6258,13 +6270,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579} from "@openzeppelin/contracts/account/extensions/draft-AccountERC7579.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {MultiSignerERC7913} from "@openzeppelin/contracts/utils/cryptography/signers/MultiSignerERC7913.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Account, EIP712, ERC7739, AccountERC7579, MultiSignerERC7913 {␊ constructor(bytes[] memory signers, uint64 threshold)␊ @@ -6329,12 +6341,12 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579} from "@openzeppelin/contracts/account/extensions/draft-AccountERC7579.sol";␊ import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ - import {MultiSignerERC7913} from "@openzeppelin/contracts/utils/cryptography/signers/MultiSignerERC7913.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ + import {MultiSignerERC7913} from "@openzeppelin/contracts/utils/cryptography/signers/MultiSignerERC7913.sol";␊ ␊ contract MyAccount is Account, IERC1271, AccountERC7579, MultiSignerERC7913 {␊ constructor(bytes[] memory signers, uint64 threshold)␊ @@ -6395,13 +6407,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579} from "@openzeppelin/contracts/account/extensions/draft-AccountERC7579.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {MultiSignerERC7913} from "@openzeppelin/contracts/utils/cryptography/signers/MultiSignerERC7913.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Account, EIP712, ERC7739, AccountERC7579, MultiSignerERC7913 {␊ constructor(bytes[] memory signers, uint64 threshold)␊ @@ -6466,14 +6478,14 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579} from "@openzeppelin/contracts/account/extensions/draft-AccountERC7579.sol";␊ import {AccountERC7579Hooked} from "@openzeppelin/contracts/account/extensions/draft-AccountERC7579Hooked.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {MultiSignerERC7913} from "@openzeppelin/contracts/utils/cryptography/signers/MultiSignerERC7913.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Account, EIP712, ERC7739, AccountERC7579Hooked, MultiSignerERC7913 {␊ constructor(bytes[] memory signers, uint64 threshold)␊ @@ -6538,12 +6550,12 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerMultisig is Initializable, Account, EIP712, ERC7739, MultiSignerERC7913Upgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -6587,11 +6599,11 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ ␊ contract CustomAccountWithSignerMultisigERC1271 is Initializable, Account, IERC1271, MultiSignerERC7913Upgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -6644,12 +6656,12 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerMultisigERC7739 is Initializable, Account, EIP712, ERC7739, MultiSignerERC7913Upgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -6693,13 +6705,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerMultisigERC721Holder is Initializable, Account, EIP712, ERC7739, MultiSignerERC7913Upgradeable, ERC721Holder, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -6743,13 +6755,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerMultisigERC1155Holder is Initializable, Account, EIP712, ERC7739, MultiSignerERC7913Upgradeable, ERC1155Holder, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -6793,14 +6805,14 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerMultisigERC721HolderERC1155Holder is Initializable, Account, EIP712, ERC7739, MultiSignerERC7913Upgradeable, ERC721Holder, ERC1155Holder, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -6846,13 +6858,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {ERC7821} from "@openzeppelin/contracts/account/extensions/draft-ERC7821.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {ERC7821} from "@openzeppelin/contracts/account/extensions/draft-ERC7821.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, MultiSignerERC7913Upgradeable, ERC7821, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -6905,15 +6917,15 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579Upgradeable, MultiSignerERC7913Upgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -6993,14 +7005,14 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ ␊ contract MyAccount is Initializable, Account, IERC1271, AccountERC7579Upgradeable, MultiSignerERC7913Upgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -7077,15 +7089,15 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579Upgradeable, MultiSignerERC7913Upgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -7165,16 +7177,16 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ import {AccountERC7579HookedUpgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579HookedUpgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579HookedUpgradeable, MultiSignerERC7913Upgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -7254,11 +7266,11 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ ␊ contract CustomAccountWithSignerMultisig is Initializable, Account, EIP712, ERC7739, MultiSignerERC7913Upgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -7295,10 +7307,10 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ ␊ contract CustomAccountWithSignerMultisigERC1271 is Initializable, Account, IERC1271, MultiSignerERC7913Upgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -7344,11 +7356,11 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ ␊ contract CustomAccountWithSignerMultisigERC7739 is Initializable, Account, EIP712, ERC7739, MultiSignerERC7913Upgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -7385,12 +7397,12 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ ␊ contract CustomAccountWithSignerMultisigERC721Holder is Initializable, Account, EIP712, ERC7739, MultiSignerERC7913Upgradeable, ERC721Holder {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -7427,12 +7439,12 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ ␊ contract CustomAccountWithSignerMultisigERC1155Holder is Initializable, Account, EIP712, ERC7739, MultiSignerERC7913Upgradeable, ERC1155Holder {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -7469,13 +7481,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ ␊ contract CustomAccountWithSignerMultisigERC721HolderERC1155Holder is Initializable, Account, EIP712, ERC7739, MultiSignerERC7913Upgradeable, ERC721Holder, ERC1155Holder {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -7514,12 +7526,12 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {ERC7821} from "@openzeppelin/contracts/account/extensions/draft-ERC7821.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {ERC7821} from "@openzeppelin/contracts/account/extensions/draft-ERC7821.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, MultiSignerERC7913Upgradeable, ERC7821 {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -7565,14 +7577,14 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579Upgradeable, MultiSignerERC7913Upgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -7645,13 +7657,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ ␊ contract MyAccount is Initializable, Account, IERC1271, AccountERC7579Upgradeable, MultiSignerERC7913Upgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -7721,14 +7733,14 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579Upgradeable, MultiSignerERC7913Upgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -7801,15 +7813,15 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ import {AccountERC7579HookedUpgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579HookedUpgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579HookedUpgradeable, MultiSignerERC7913Upgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -7884,8 +7896,8 @@ Generated by [AVA](https://avajs.dev). ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {MultiSignerERC7913Weighted} from "@openzeppelin/contracts/utils/cryptography/signers/MultiSignerERC7913Weighted.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract CustomAccountWithSignerMultisigWeighted is Account, EIP712, ERC7739, MultiSignerERC7913Weighted {␊ constructor(bytes[] memory signers, uint64[] memory weights, uint64 threshold)␊ @@ -7971,8 +7983,8 @@ Generated by [AVA](https://avajs.dev). ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {MultiSignerERC7913Weighted} from "@openzeppelin/contracts/utils/cryptography/signers/MultiSignerERC7913Weighted.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract CustomAccountWithSignerMultisigWeightedERC7739 is Account, EIP712, ERC7739, MultiSignerERC7913Weighted {␊ constructor(bytes[] memory signers, uint64[] memory weights, uint64 threshold)␊ @@ -8010,10 +8022,10 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {MultiSignerERC7913Weighted} from "@openzeppelin/contracts/utils/cryptography/signers/MultiSignerERC7913Weighted.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract CustomAccountWithSignerMultisigWeightedERC721Holder is Account, EIP712, ERC7739, MultiSignerERC7913Weighted, ERC721Holder {␊ constructor(bytes[] memory signers, uint64[] memory weights, uint64 threshold)␊ @@ -8051,10 +8063,10 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {MultiSignerERC7913Weighted} from "@openzeppelin/contracts/utils/cryptography/signers/MultiSignerERC7913Weighted.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract CustomAccountWithSignerMultisigWeightedERC1155Holder is Account, EIP712, ERC7739, MultiSignerERC7913Weighted, ERC1155Holder {␊ constructor(bytes[] memory signers, uint64[] memory weights, uint64 threshold)␊ @@ -8092,11 +8104,11 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {MultiSignerERC7913Weighted} from "@openzeppelin/contracts/utils/cryptography/signers/MultiSignerERC7913Weighted.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract CustomAccountWithSignerMultisigWeightedERC721HolderERC1155Holder is Account, EIP712, ERC7739, MultiSignerERC7913Weighted, ERC721Holder, ERC1155Holder {␊ constructor(bytes[] memory signers, uint64[] memory weights, uint64 threshold)␊ @@ -8134,10 +8146,10 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {ERC7821} from "@openzeppelin/contracts/account/extensions/draft-ERC7821.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {MultiSignerERC7913Weighted} from "@openzeppelin/contracts/utils/cryptography/signers/MultiSignerERC7913Weighted.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Account, EIP712, ERC7739, MultiSignerERC7913Weighted, ERC7821 {␊ constructor(bytes[] memory signers, uint64[] memory weights, uint64 threshold)␊ @@ -8183,14 +8195,14 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579} from "@openzeppelin/contracts/account/extensions/draft-AccountERC7579.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {MultiSignerERC7913} from "@openzeppelin/contracts/utils/cryptography/signers/MultiSignerERC7913.sol";␊ import {MultiSignerERC7913Weighted} from "@openzeppelin/contracts/utils/cryptography/signers/MultiSignerERC7913Weighted.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Account, EIP712, ERC7739, AccountERC7579, MultiSignerERC7913Weighted {␊ constructor(bytes[] memory signers, uint64[] memory weights, uint64 threshold)␊ @@ -8262,13 +8274,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579} from "@openzeppelin/contracts/account/extensions/draft-AccountERC7579.sol";␊ import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {MultiSignerERC7913} from "@openzeppelin/contracts/utils/cryptography/signers/MultiSignerERC7913.sol";␊ import {MultiSignerERC7913Weighted} from "@openzeppelin/contracts/utils/cryptography/signers/MultiSignerERC7913Weighted.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ ␊ contract MyAccount is Account, IERC1271, AccountERC7579, MultiSignerERC7913Weighted {␊ constructor(bytes[] memory signers, uint64[] memory weights, uint64 threshold)␊ @@ -8336,14 +8348,14 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579} from "@openzeppelin/contracts/account/extensions/draft-AccountERC7579.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {MultiSignerERC7913} from "@openzeppelin/contracts/utils/cryptography/signers/MultiSignerERC7913.sol";␊ import {MultiSignerERC7913Weighted} from "@openzeppelin/contracts/utils/cryptography/signers/MultiSignerERC7913Weighted.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Account, EIP712, ERC7739, AccountERC7579, MultiSignerERC7913Weighted {␊ constructor(bytes[] memory signers, uint64[] memory weights, uint64 threshold)␊ @@ -8415,15 +8427,15 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579} from "@openzeppelin/contracts/account/extensions/draft-AccountERC7579.sol";␊ import {AccountERC7579Hooked} from "@openzeppelin/contracts/account/extensions/draft-AccountERC7579Hooked.sol";␊ + import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ import {MultiSignerERC7913} from "@openzeppelin/contracts/utils/cryptography/signers/MultiSignerERC7913.sol";␊ import {MultiSignerERC7913Weighted} from "@openzeppelin/contracts/utils/cryptography/signers/MultiSignerERC7913Weighted.sol";␊ - import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Account, EIP712, ERC7739, AccountERC7579Hooked, MultiSignerERC7913Weighted {␊ constructor(bytes[] memory signers, uint64[] memory weights, uint64 threshold)␊ @@ -8495,12 +8507,12 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {MultiSignerERC7913WeightedUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {MultiSignerERC7913WeightedUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerMultisigWeighted is Initializable, Account, EIP712, ERC7739, MultiSignerERC7913WeightedUpgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -8551,11 +8563,11 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {MultiSignerERC7913WeightedUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";␊ import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {MultiSignerERC7913WeightedUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ ␊ contract CustomAccountWithSignerMultisigWeightedERC1271 is Initializable, Account, IERC1271, MultiSignerERC7913WeightedUpgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -8615,12 +8627,12 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {MultiSignerERC7913WeightedUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {MultiSignerERC7913WeightedUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerMultisigWeightedERC7739 is Initializable, Account, EIP712, ERC7739, MultiSignerERC7913WeightedUpgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -8673,13 +8685,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {MultiSignerERC7913WeightedUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {MultiSignerERC7913WeightedUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerMultisigWeightedERC721Holder is Initializable, Account, EIP712, ERC7739, MultiSignerERC7913WeightedUpgradeable, ERC721Holder, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -8732,13 +8744,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {MultiSignerERC7913WeightedUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {MultiSignerERC7913WeightedUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerMultisigWeightedERC1155Holder is Initializable, Account, EIP712, ERC7739, MultiSignerERC7913WeightedUpgradeable, ERC1155Holder, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -8791,14 +8803,14 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {MultiSignerERC7913WeightedUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {MultiSignerERC7913WeightedUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerMultisigWeightedERC721HolderERC1155Holder is Initializable, Account, EIP712, ERC7739, MultiSignerERC7913WeightedUpgradeable, ERC721Holder, ERC1155Holder, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -8851,13 +8863,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {MultiSignerERC7913WeightedUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {ERC7821} from "@openzeppelin/contracts/account/extensions/draft-ERC7821.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {ERC7821} from "@openzeppelin/contracts/account/extensions/draft-ERC7821.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {MultiSignerERC7913WeightedUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, MultiSignerERC7913WeightedUpgradeable, ERC7821, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -8917,16 +8929,16 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ import {MultiSignerERC7913WeightedUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579Upgradeable, MultiSignerERC7913WeightedUpgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -9013,15 +9025,15 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ import {MultiSignerERC7913WeightedUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ ␊ contract MyAccount is Initializable, Account, IERC1271, AccountERC7579Upgradeable, MultiSignerERC7913WeightedUpgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -9105,16 +9117,16 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ import {MultiSignerERC7913WeightedUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579Upgradeable, MultiSignerERC7913WeightedUpgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -9201,17 +9213,17 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ import {AccountERC7579HookedUpgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579HookedUpgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ import {MultiSignerERC7913WeightedUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579HookedUpgradeable, MultiSignerERC7913WeightedUpgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -9298,11 +9310,11 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {MultiSignerERC7913WeightedUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {MultiSignerERC7913WeightedUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerMultisigWeighted is Initializable, Account, EIP712, ERC7739, MultiSignerERC7913WeightedUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -9346,10 +9358,10 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ import {MultiSignerERC7913WeightedUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ ␊ contract CustomAccountWithSignerMultisigWeightedERC1271 is Initializable, Account, IERC1271, MultiSignerERC7913WeightedUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -9402,11 +9414,11 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {MultiSignerERC7913WeightedUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {MultiSignerERC7913WeightedUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerMultisigWeightedERC7739 is Initializable, Account, EIP712, ERC7739, MultiSignerERC7913WeightedUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -9452,12 +9464,12 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {MultiSignerERC7913WeightedUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {MultiSignerERC7913WeightedUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerMultisigWeightedERC721Holder is Initializable, Account, EIP712, ERC7739, MultiSignerERC7913WeightedUpgradeable, ERC721Holder {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -9503,12 +9515,12 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {MultiSignerERC7913WeightedUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {MultiSignerERC7913WeightedUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerMultisigWeightedERC1155Holder is Initializable, Account, EIP712, ERC7739, MultiSignerERC7913WeightedUpgradeable, ERC1155Holder {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -9554,13 +9566,13 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {MultiSignerERC7913WeightedUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {MultiSignerERC7913WeightedUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";␊ ␊ contract CustomAccountWithSignerMultisigWeightedERC721HolderERC1155Holder is Initializable, Account, EIP712, ERC7739, MultiSignerERC7913WeightedUpgradeable, ERC721Holder, ERC1155Holder {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -9606,12 +9618,12 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {MultiSignerERC7913WeightedUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {ERC7821} from "@openzeppelin/contracts/account/extensions/draft-ERC7821.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {ERC7821} from "@openzeppelin/contracts/account/extensions/draft-ERC7821.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {MultiSignerERC7913WeightedUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, MultiSignerERC7913WeightedUpgradeable, ERC7821 {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -9664,15 +9676,15 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ import {MultiSignerERC7913WeightedUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579Upgradeable, MultiSignerERC7913WeightedUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -9752,14 +9764,14 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ import {MultiSignerERC7913WeightedUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ + import {IERC1271} from "@openzeppelin/contracts/interfaces/IERC1271.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ ␊ contract MyAccount is Initializable, Account, IERC1271, AccountERC7579Upgradeable, MultiSignerERC7913WeightedUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -9836,15 +9848,15 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ import {MultiSignerERC7913WeightedUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579Upgradeable, MultiSignerERC7913WeightedUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ @@ -9924,16 +9936,16 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ - import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ import {AccountERC7579HookedUpgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579HookedUpgradeable.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {AccountERC7579Upgradeable} from "@openzeppelin/contracts-upgradeable/account/extensions/draft-AccountERC7579Upgradeable.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ import {MultiSignerERC7913Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol";␊ import {MultiSignerERC7913WeightedUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol";␊ + import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ import {PackedUserOperation} from "@openzeppelin/contracts/interfaces/draft-IERC4337.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {AbstractSigner} from "@openzeppelin/contracts/utils/cryptography/signers/AbstractSigner.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, AccountERC7579HookedUpgradeable, MultiSignerERC7913WeightedUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ diff --git a/packages/core/solidity/src/account.test.ts.snap b/packages/core/solidity/src/account.test.ts.snap index 8f9f873c2ea1bf88fb2689393ec8b5675bb1da98..a28b532329642c7e2b630d549e5159ff9aa1696f 100644 GIT binary patch literal 11712 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 literal 11692 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 Wr27*C$Ef$dkS{bS0P3hvApZm3x`!+P diff --git a/packages/core/solidity/src/account.ts b/packages/core/solidity/src/account.ts index 919fe86fc..296feb79d 100644 --- a/packages/core/solidity/src/account.ts +++ b/packages/core/solidity/src/account.ts @@ -172,6 +172,16 @@ function addERC7579Modules(c: ContractBuilder, opts: AccountOptions): void { // Accounts that use ERC7579 without a signer must be constructed with at least one module (executor of validation) if (!opts.signer) { + c.addImportOnly({ + name: 'MODULE_TYPE_VALIDATOR', + path: '@openzeppelin/contracts/interfaces/draft-IERC7579.sol', + transpiled: false, // name doesn't start with "I" so its not recognized as an "interface object" + }); + c.addImportOnly({ + name: 'MODULE_TYPE_EXECUTOR', + path: '@openzeppelin/contracts/interfaces/draft-IERC7579.sol', + transpiled: false, // name doesn't start with "I" so its not recognized as an "interface object" + }); c.addConstructorArgument({ type: 'uint256', name: 'moduleTypeId' }); c.addConstructorArgument({ type: 'address', name: 'module' }); c.addConstructorArgument({ type: 'bytes calldata', name: 'initData' }); diff --git a/packages/core/solidity/src/custom.test.ts.md b/packages/core/solidity/src/custom.test.ts.md index 7906d5648..d542739d8 100644 --- a/packages/core/solidity/src/custom.test.ts.md +++ b/packages/core/solidity/src/custom.test.ts.md @@ -78,8 +78,8 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract MyContract is Initializable, OwnableUpgradeable, UUPSUpgradeable {␊ @@ -168,8 +168,8 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract MyContract is Initializable, OwnableUpgradeable, UUPSUpgradeable {␊ diff --git a/packages/core/solidity/src/custom.test.ts.snap b/packages/core/solidity/src/custom.test.ts.snap index 6e45868ebc43a0d3944a8fac1f9c3678ce4cad85..d07b429fdfdd84af45920b04848a53d1d88c79a5 100644 GIT binary patch delta 801 zcmV++1K#}G2HgfSK~_N^Q*L2!b7*gLAa*kf0|0$w_Xkia-VpxbKoYJqyv5YEPsTA? zO9Y1(EfgEYdUrM$OhxgU5tx0%LSRZ5Y;&e1aTw98EZb zfEQe;g7Ev4IKUa5gwQxn@bzL$BRt7F@YymhQdHt3RmRvCLy24*7N;d*N+1~!UKENp zgo0NglvdPDGF^h{TBb5vNPa$vxi_3F5P*S=J8IiDynle0syVuFyh9vWTXPo4&`hQbF5}@1N zKm5xYvLSMAZX>mH;AHGKAm{Mz^=Qr>l45Qcg7HYY#u-DY7nj%z{+olckwN8(j?gz` z)I+`=aeqmsN#D}M7#_DgL9vIKMgg{(h9FF1$q-Es_!*XxxcK@YnW^E)EIU3U%|gg2 zrx16~y-z#NS*`{i(K6=+cwyA=?7poEH{HB{_O_=j)wz~RPVt)v#I6Tm$=u7Q1+We5#wSN0>2?h7vJ-z-B3~?Cid8cK42Y&7F4ZL+_xox4U7Q z6`sw!v^~VoaL(;KDYpzJwpPbPJ4$g$CZd9*ZP+fwNQ_-9`ermz^`vTAR*L_#SKz#s fUs<9qEjutD_L+x$=3$??vwh|_ycdnttPubJVX%mY delta 799 zcmV+)1K|AK2HOTQK~_N^Q*L2!b7*gLAa*kf0|0Dw%DNCdluj8ZZt;J*p`#0Jv+HHv zE-WgcPM(s(j@OYgN`H}tO7}SXydTf|y!-524f>QjpVikNSQAb0!10yl9#ISlHR4)b zUb!yP==l3u=}9Sg%8yG=AAKp=HXQEn9M|@UgPFp$mW!Dt1A^riv|C4(ZNoPA1k$8W zF^q{GK}TTr5etDSVX)1amdMcxPG8qw)i*66(a=MnI3+I86Ms0}tiP?leABQjCx$|M zl0?DGy0GGw&!0y<14AALqQGaw;VuS+2DnJ%n?dAqB}C@Y7zyMn)ThOkPs+cHo`06_ zuxH{4E;YF1U_3PMT$z2q?;YO)_0V=~{-FEhImm#M&E47A$~)jVEf`Hh;W}Y+;K}lQOF2v%nN;h*Cbz zZb)Hcs#$4V5^h*p2un3bCXtoN_k}9zvqlYlKCS&v`sAFVdmVb4DyD&ClH{s%yZeWK zSt3g$m*zIBmKshbegkp|?|vUm?;$DX1`~`e=^AI4QZJ_13*MVX*~p-Bq$BhV9rci} zM_iI=GJm(UF^0!2Pf+Y(rcr>crX>i|STaP@1Ad03Brd)_NIW$>nPu%WS}6!Mr!cAY^Kl`_*Bh|T)N>1?{%Pt=q18uEhpv|z;?WoZu z$7;kZ7_Nc+!-!oxKt9z?*CWg@q@hGiA8?8*J7l}>o87&mUUR42`p`S*?CoxtVTIpj zeziTs&~VPzc~Wi}N^Gr8iFVZDl1fB`q;145rAUljy!6e;QuU;2MplaNv!B3uEq`T+ drnIbKKHO&>?lTYfnLE4B{09HG<+iL5003OXdwBo= diff --git a/packages/core/solidity/src/erc1155.test.ts.md b/packages/core/solidity/src/erc1155.test.ts.md index 470826aa4..3ef4344a2 100644 --- a/packages/core/solidity/src/erc1155.test.ts.md +++ b/packages/core/solidity/src/erc1155.test.ts.md @@ -12,8 +12,8 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {ERC1155} from "@openzeppelin/contracts/token/ERC1155/ERC1155.sol";␊ import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ + import {ERC1155} from "@openzeppelin/contracts/token/ERC1155/ERC1155.sol";␊ ␊ contract MyToken is ERC1155, Ownable {␊ constructor(address initialOwner)␊ @@ -35,8 +35,8 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {ERC1155} from "@openzeppelin/contracts/token/ERC1155/ERC1155.sol";␊ import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ + import {ERC1155} from "@openzeppelin/contracts/token/ERC1155/ERC1155.sol";␊ ␊ contract MyTokec is ERC1155, Ownable {␊ constructor(address initialOwner)␊ @@ -135,9 +135,9 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ import {ERC1155} from "@openzeppelin/contracts/token/ERC1155/ERC1155.sol";␊ import {ERC1155Burnable} from "@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Burnable.sol";␊ - import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ ␊ contract MyToken is ERC1155, Ownable, ERC1155Burnable {␊ constructor(address initialOwner)␊ @@ -159,9 +159,9 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ import {ERC1155} from "@openzeppelin/contracts/token/ERC1155/ERC1155.sol";␊ import {ERC1155Pausable} from "@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Pausable.sol";␊ - import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ ␊ contract MyToken is ERC1155, Ownable, ERC1155Pausable {␊ constructor(address initialOwner)␊ @@ -200,8 +200,8 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {ERC1155} from "@openzeppelin/contracts/token/ERC1155/ERC1155.sol";␊ import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ + import {ERC1155} from "@openzeppelin/contracts/token/ERC1155/ERC1155.sol";␊ ␊ contract MyToken is ERC1155, Ownable {␊ constructor(address initialOwner)␊ @@ -327,9 +327,9 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ import {ERC1155} from "@openzeppelin/contracts/token/ERC1155/ERC1155.sol";␊ import {ERC1155Supply} from "@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Supply.sol";␊ - import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ ␊ contract MyToken is ERC1155, Ownable, ERC1155Supply {␊ constructor(address initialOwner)␊ @@ -361,10 +361,10 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {AccessControlUpgradeable} from "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol";␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ import {ERC1155Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC1155/ERC1155Upgradeable.sol";␊ import {ERC1155BurnableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol";␊ import {ERC1155PausableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC1155/extensions/ERC1155PausableUpgradeable.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ ␊ contract MyToken is Initializable, ERC1155Upgradeable, AccessControlUpgradeable, ERC1155PausableUpgradeable, ERC1155BurnableUpgradeable {␊ bytes32 public constant URI_SETTER_ROLE = keccak256("URI_SETTER_ROLE");␊ @@ -445,11 +445,11 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {AccessControlUpgradeable} from "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol";␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ import {ERC1155Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC1155/ERC1155Upgradeable.sol";␊ import {ERC1155BurnableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol";␊ import {ERC1155PausableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC1155/extensions/ERC1155PausableUpgradeable.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract MyToken is Initializable, ERC1155Upgradeable, AccessControlUpgradeable, ERC1155PausableUpgradeable, ERC1155BurnableUpgradeable, UUPSUpgradeable {␊ bytes32 public constant URI_SETTER_ROLE = keccak256("URI_SETTER_ROLE");␊ @@ -539,11 +539,11 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ import {ERC1155Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC1155/ERC1155Upgradeable.sol";␊ import {ERC1155BurnableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol";␊ import {ERC1155PausableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC1155/extensions/ERC1155PausableUpgradeable.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract MyToken is Initializable, ERC1155Upgradeable, AccessManagedUpgradeable, ERC1155PausableUpgradeable, ERC1155BurnableUpgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow constructor␊ diff --git a/packages/core/solidity/src/erc1155.test.ts.snap b/packages/core/solidity/src/erc1155.test.ts.snap index a7faff1b154bdeb246bb2cdcf2939104f5cd729c..ba937497a7ebdb9192e7cd9a8775ae58bc03ad96 100644 GIT binary patch delta 1789 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 diff --git a/packages/core/solidity/src/governor.test.ts.md b/packages/core/solidity/src/governor.test.ts.md index 8ab51e516..fc768991a 100644 --- a/packages/core/solidity/src/governor.test.ts.md +++ b/packages/core/solidity/src/governor.test.ts.md @@ -13,12 +13,12 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Governor} from "@openzeppelin/contracts/governance/Governor.sol";␊ + import {TimelockController} from "@openzeppelin/contracts/governance/TimelockController.sol";␊ import {GovernorCountingSimple} from "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol";␊ import {GovernorTimelockControl} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ import {GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ import {GovernorVotesQuorumFraction} from "@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol";␊ import {IVotes} from "@openzeppelin/contracts/governance/utils/IVotes.sol";␊ - import {TimelockController} from "@openzeppelin/contracts/governance/TimelockController.sol";␊ ␊ contract MyGovernor is Governor, GovernorCountingSimple, GovernorVotes, GovernorVotesQuorumFraction, GovernorTimelockControl {␊ constructor(IVotes _token, TimelockController _timelock)␊ @@ -103,12 +103,12 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Governor} from "@openzeppelin/contracts/governance/Governor.sol";␊ + import {TimelockController} from "@openzeppelin/contracts/governance/TimelockController.sol";␊ import {GovernorCountingSimple} from "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol";␊ import {GovernorTimelockControl} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ import {GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ import {GovernorVotesQuorumFraction} from "@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol";␊ import {IVotes} from "@openzeppelin/contracts/governance/utils/IVotes.sol";␊ - import {TimelockController} from "@openzeppelin/contracts/governance/TimelockController.sol";␊ ␊ contract MyGovernor is Governor, GovernorCountingSimple, GovernorVotes, GovernorVotesQuorumFraction, GovernorTimelockControl {␊ constructor(IVotes _token, TimelockController _timelock)␊ @@ -189,11 +189,11 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Governor} from "@openzeppelin/contracts/governance/Governor.sol";␊ + import {TimelockController} from "@openzeppelin/contracts/governance/TimelockController.sol";␊ import {GovernorCountingSimple} from "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol";␊ import {GovernorTimelockControl} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ import {GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ import {IVotes} from "@openzeppelin/contracts/governance/utils/IVotes.sol";␊ - import {TimelockController} from "@openzeppelin/contracts/governance/TimelockController.sol";␊ ␊ contract MyGovernor is Governor, GovernorCountingSimple, GovernorVotes, GovernorTimelockControl {␊ constructor(IVotes _token, TimelockController _timelock)␊ @@ -281,11 +281,11 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Governor} from "@openzeppelin/contracts/governance/Governor.sol";␊ + import {TimelockController} from "@openzeppelin/contracts/governance/TimelockController.sol";␊ import {GovernorCountingSimple} from "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol";␊ import {GovernorTimelockControl} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ import {GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ import {IVotes} from "@openzeppelin/contracts/governance/utils/IVotes.sol";␊ - import {TimelockController} from "@openzeppelin/contracts/governance/TimelockController.sol";␊ ␊ contract MyGovernor is Governor, GovernorCountingSimple, GovernorVotes, GovernorTimelockControl {␊ constructor(IVotes _token, TimelockController _timelock)␊ @@ -373,13 +373,13 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Governor} from "@openzeppelin/contracts/governance/Governor.sol";␊ + import {TimelockController} from "@openzeppelin/contracts/governance/TimelockController.sol";␊ import {GovernorCountingSimple} from "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol";␊ import {GovernorSettings} from "@openzeppelin/contracts/governance/extensions/GovernorSettings.sol";␊ import {GovernorTimelockControl} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ import {GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ import {GovernorVotesQuorumFraction} from "@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol";␊ import {IVotes} from "@openzeppelin/contracts/governance/utils/IVotes.sol";␊ - import {TimelockController} from "@openzeppelin/contracts/governance/TimelockController.sol";␊ ␊ contract MyGovernor is Governor, GovernorSettings, GovernorCountingSimple, GovernorVotes, GovernorVotesQuorumFraction, GovernorTimelockControl {␊ constructor(IVotes _token, TimelockController _timelock)␊ @@ -462,13 +462,13 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Governor} from "@openzeppelin/contracts/governance/Governor.sol";␊ + import {TimelockController} from "@openzeppelin/contracts/governance/TimelockController.sol";␊ import {GovernorCountingSimple} from "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol";␊ import {GovernorStorage} from "@openzeppelin/contracts/governance/extensions/GovernorStorage.sol";␊ import {GovernorTimelockControl} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ import {GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ import {GovernorVotesQuorumFraction} from "@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol";␊ import {IVotes} from "@openzeppelin/contracts/governance/utils/IVotes.sol";␊ - import {TimelockController} from "@openzeppelin/contracts/governance/TimelockController.sol";␊ ␊ contract MyGovernor is Governor, GovernorCountingSimple, GovernorStorage, GovernorVotes, GovernorVotesQuorumFraction, GovernorTimelockControl {␊ constructor(IVotes _token, TimelockController _timelock)␊ @@ -557,12 +557,12 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Governor} from "@openzeppelin/contracts/governance/Governor.sol";␊ + import {TimelockController} from "@openzeppelin/contracts/governance/TimelockController.sol";␊ import {GovernorCountingSimple} from "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol";␊ import {GovernorTimelockControl} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ import {GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ import {GovernorVotesQuorumFraction} from "@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol";␊ import {IVotes} from "@openzeppelin/contracts/governance/utils/IVotes.sol";␊ - import {TimelockController} from "@openzeppelin/contracts/governance/TimelockController.sol";␊ ␊ contract MyGovernor is Governor, GovernorCountingSimple, GovernorVotes, GovernorVotesQuorumFraction, GovernorTimelockControl {␊ constructor(IVotes _token, TimelockController _timelock)␊ @@ -643,12 +643,12 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Governor} from "@openzeppelin/contracts/governance/Governor.sol";␊ + import {TimelockController} from "@openzeppelin/contracts/governance/TimelockController.sol";␊ import {GovernorCountingSimple} from "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol";␊ import {GovernorTimelockControl} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ import {GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ import {GovernorVotesQuorumFraction} from "@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol";␊ import {IVotes} from "@openzeppelin/contracts/governance/utils/IVotes.sol";␊ - import {TimelockController} from "@openzeppelin/contracts/governance/TimelockController.sol";␊ ␊ contract MyGovernor is Governor, GovernorCountingSimple, GovernorVotes, GovernorVotesQuorumFraction, GovernorTimelockControl {␊ constructor(IVotes _token, TimelockController _timelock)␊ @@ -729,11 +729,11 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Governor} from "@openzeppelin/contracts/governance/Governor.sol";␊ + import {TimelockController} from "@openzeppelin/contracts/governance/TimelockController.sol";␊ import {GovernorCountingSimple} from "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol";␊ import {GovernorTimelockControl} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ import {GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ import {IVotes} from "@openzeppelin/contracts/governance/utils/IVotes.sol";␊ - import {TimelockController} from "@openzeppelin/contracts/governance/TimelockController.sol";␊ ␊ contract MyGovernor is Governor, GovernorCountingSimple, GovernorVotes, GovernorTimelockControl {␊ constructor(IVotes _token, TimelockController _timelock)␊ @@ -821,13 +821,13 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Governor} from "@openzeppelin/contracts/governance/Governor.sol";␊ + import {TimelockController} from "@openzeppelin/contracts/governance/TimelockController.sol";␊ import {GovernorCountingSimple} from "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol";␊ import {GovernorSettings} from "@openzeppelin/contracts/governance/extensions/GovernorSettings.sol";␊ import {GovernorTimelockControl} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ import {GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ import {GovernorVotesQuorumFraction} from "@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol";␊ import {IVotes} from "@openzeppelin/contracts/governance/utils/IVotes.sol";␊ - import {TimelockController} from "@openzeppelin/contracts/governance/TimelockController.sol";␊ ␊ contract MyGovernor is Governor, GovernorSettings, GovernorCountingSimple, GovernorVotes, GovernorVotesQuorumFraction, GovernorTimelockControl {␊ constructor(IVotes _token, TimelockController _timelock)␊ @@ -910,12 +910,12 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Governor} from "@openzeppelin/contracts/governance/Governor.sol";␊ + import {TimelockController} from "@openzeppelin/contracts/governance/TimelockController.sol";␊ import {GovernorCountingSimple} from "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol";␊ import {GovernorTimelockControl} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ import {GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ import {GovernorVotesQuorumFraction} from "@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol";␊ import {IVotes} from "@openzeppelin/contracts/governance/utils/IVotes.sol";␊ - import {TimelockController} from "@openzeppelin/contracts/governance/TimelockController.sol";␊ ␊ contract MyGovernor is Governor, GovernorCountingSimple, GovernorVotes, GovernorVotesQuorumFraction, GovernorTimelockControl {␊ constructor(IVotes _token, TimelockController _timelock)␊ @@ -996,12 +996,12 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Governor} from "@openzeppelin/contracts/governance/Governor.sol";␊ + import {TimelockController} from "@openzeppelin/contracts/governance/TimelockController.sol";␊ import {GovernorCountingSimple} from "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol";␊ import {GovernorTimelockControl} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ import {GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ import {GovernorVotesQuorumFraction} from "@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol";␊ import {IVotes} from "@openzeppelin/contracts/governance/utils/IVotes.sol";␊ - import {TimelockController} from "@openzeppelin/contracts/governance/TimelockController.sol";␊ ␊ contract MyGovernor is Governor, GovernorCountingSimple, GovernorVotes, GovernorVotesQuorumFraction, GovernorTimelockControl {␊ constructor(IVotes _token, TimelockController _timelock)␊ @@ -1086,12 +1086,12 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Governor} from "@openzeppelin/contracts/governance/Governor.sol";␊ + import {TimelockController} from "@openzeppelin/contracts/governance/TimelockController.sol";␊ import {GovernorCountingSimple} from "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol";␊ import {GovernorTimelockControl} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ import {GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ import {GovernorVotesQuorumFraction} from "@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol";␊ import {IVotes} from "@openzeppelin/contracts/governance/utils/IVotes.sol";␊ - import {TimelockController} from "@openzeppelin/contracts/governance/TimelockController.sol";␊ ␊ contract MyGovernor is Governor, GovernorCountingSimple, GovernorVotes, GovernorVotesQuorumFraction, GovernorTimelockControl {␊ constructor(IVotes _token, TimelockController _timelock)␊ @@ -1176,8 +1176,8 @@ Generated by [AVA](https://avajs.dev). import {GovernorTimelockCompound} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockCompound.sol";␊ import {GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ import {GovernorVotesQuorumFraction} from "@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol";␊ - import {ICompoundTimelock} from "@openzeppelin/contracts/vendor/compound/ICompoundTimelock.sol";␊ import {IVotes} from "@openzeppelin/contracts/governance/utils/IVotes.sol";␊ + import {ICompoundTimelock} from "@openzeppelin/contracts/vendor/compound/ICompoundTimelock.sol";␊ ␊ contract MyGovernor is Governor, GovernorCountingSimple, GovernorVotes, GovernorVotesQuorumFraction, GovernorTimelockCompound {␊ constructor(IVotes _token, ICompoundTimelock _timelock)␊ @@ -1258,13 +1258,13 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Governor} from "@openzeppelin/contracts/governance/Governor.sol";␊ + import {TimelockController} from "@openzeppelin/contracts/governance/TimelockController.sol";␊ import {GovernorCountingSimple} from "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol";␊ import {GovernorSettings} from "@openzeppelin/contracts/governance/extensions/GovernorSettings.sol";␊ import {GovernorTimelockControl} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ import {GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ import {GovernorVotesQuorumFraction} from "@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol";␊ import {IVotes} from "@openzeppelin/contracts/governance/utils/IVotes.sol";␊ - import {TimelockController} from "@openzeppelin/contracts/governance/TimelockController.sol";␊ ␊ contract MyGovernor is Governor, GovernorSettings, GovernorCountingSimple, GovernorVotes, GovernorVotesQuorumFraction, GovernorTimelockControl {␊ constructor(IVotes _token, TimelockController _timelock)␊ @@ -1347,12 +1347,12 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Governor} from "@openzeppelin/contracts/governance/Governor.sol";␊ + import {TimelockController} from "@openzeppelin/contracts/governance/TimelockController.sol";␊ import {GovernorCountingSimple} from "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol";␊ import {GovernorTimelockControl} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ import {GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ import {GovernorVotesQuorumFraction} from "@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol";␊ import {IVotes} from "@openzeppelin/contracts/governance/utils/IVotes.sol";␊ - import {TimelockController} from "@openzeppelin/contracts/governance/TimelockController.sol";␊ ␊ contract MyGovernor is Governor, GovernorCountingSimple, GovernorVotes, GovernorVotesQuorumFraction, GovernorTimelockControl {␊ constructor(IVotes _token, TimelockController _timelock)␊ @@ -1433,13 +1433,13 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Governor} from "@openzeppelin/contracts/governance/Governor.sol";␊ + import {TimelockController} from "@openzeppelin/contracts/governance/TimelockController.sol";␊ import {GovernorCountingSimple} from "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol";␊ import {GovernorSettings} from "@openzeppelin/contracts/governance/extensions/GovernorSettings.sol";␊ import {GovernorTimelockControl} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ import {GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ import {GovernorVotesQuorumFraction} from "@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol";␊ import {IVotes} from "@openzeppelin/contracts/governance/utils/IVotes.sol";␊ - import {TimelockController} from "@openzeppelin/contracts/governance/TimelockController.sol";␊ ␊ contract MyGovernor is Governor, GovernorSettings, GovernorCountingSimple, GovernorVotes, GovernorVotesQuorumFraction, GovernorTimelockControl {␊ constructor(IVotes _token, TimelockController _timelock)␊ @@ -1522,12 +1522,12 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Governor} from "@openzeppelin/contracts/governance/Governor.sol";␊ + import {TimelockController} from "@openzeppelin/contracts/governance/TimelockController.sol";␊ import {GovernorCountingSimple} from "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol";␊ import {GovernorTimelockControl} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ import {GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ import {GovernorVotesQuorumFraction} from "@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol";␊ import {IVotes} from "@openzeppelin/contracts/governance/utils/IVotes.sol";␊ - import {TimelockController} from "@openzeppelin/contracts/governance/TimelockController.sol";␊ ␊ contract MyGovernor is Governor, GovernorCountingSimple, GovernorVotes, GovernorVotesQuorumFraction, GovernorTimelockControl {␊ constructor(IVotes _token, TimelockController _timelock)␊ @@ -1608,14 +1608,14 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {GovernorUpgradeable} from "@openzeppelin/contracts-upgradeable/governance/GovernorUpgradeable.sol";␊ + import {TimelockControllerUpgradeable} from "@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol";␊ import {GovernorCountingSimpleUpgradeable} from "@openzeppelin/contracts-upgradeable/governance/extensions/GovernorCountingSimpleUpgradeable.sol";␊ import {GovernorTimelockControlUpgradeable} from "@openzeppelin/contracts-upgradeable/governance/extensions/GovernorTimelockControlUpgradeable.sol";␊ - import {GovernorVotesUpgradeable} from "@openzeppelin/contracts-upgradeable/governance/extensions/GovernorVotesUpgradeable.sol";␊ import {GovernorVotesQuorumFractionUpgradeable} from "@openzeppelin/contracts-upgradeable/governance/extensions/GovernorVotesQuorumFractionUpgradeable.sol";␊ - import {IVotes} from "@openzeppelin/contracts/governance/utils/IVotes.sol";␊ + import {GovernorVotesUpgradeable} from "@openzeppelin/contracts-upgradeable/governance/extensions/GovernorVotesUpgradeable.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {TimelockControllerUpgradeable} from "@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol";␊ import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {IVotes} from "@openzeppelin/contracts/governance/utils/IVotes.sol";␊ ␊ contract MyGovernor is Initializable, GovernorUpgradeable, GovernorCountingSimpleUpgradeable, GovernorVotesUpgradeable, GovernorVotesQuorumFractionUpgradeable, GovernorTimelockControlUpgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow constructor␊ diff --git a/packages/core/solidity/src/governor.test.ts.snap b/packages/core/solidity/src/governor.test.ts.snap index 6eca252ca88728c3009edf80814685eee7ceb940..2cb6b9f588d1f96ad747d7b9cec84945b2e9b2a4 100644 GIT binary patch literal 2365 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 R<(c0L{2yeNjw=E0006gJOBMhC diff --git a/packages/core/solidity/src/print.ts b/packages/core/solidity/src/print.ts index bc6202d7d..48758ba67 100644 --- a/packages/core/solidity/src/print.ts +++ b/packages/core/solidity/src/print.ts @@ -278,18 +278,17 @@ function printNatspecTags(tags: NatspecTag[]): string[] { } function printImports(imports: ImportContract[], helpers: Helpers): string[] { - // Sort imports by name - imports.sort((a, b) => { - if (a.name < b.name) return -1; - if (a.name > b.name) return 1; - return 0; - }); - - const lines: string[] = []; - imports.map(p => { - const importContract = helpers.transformImport(p); - lines.push(`import {${importContract.name}} from "${importContract.path}";`); - }); - - return lines; + const transformedImports = imports.map(p => helpers.transformImport(p)); + + return transformedImports + .map(p => p.path) + .filter((path, i, paths) => paths.indexOf(path) == i) + .sort() + .map(path => `import {${ + transformedImports + .filter(p => p.path === path) + .map(p => p.name) + .sort() + .join(', ') + }} from "${path}";`); } diff --git a/packages/core/solidity/src/stablecoin.test.ts.md b/packages/core/solidity/src/stablecoin.test.ts.md index 8aaaeb841..061ca5356 100644 --- a/packages/core/solidity/src/stablecoin.test.ts.md +++ b/packages/core/solidity/src/stablecoin.test.ts.md @@ -45,10 +45,10 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";␊ import {ERC20Pausable} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol";␊ import {ERC20Permit} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";␊ - import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ ␊ contract MyStablecoin is ERC20, ERC20Pausable, Ownable, ERC20Permit {␊ constructor(address initialOwner)␊ @@ -166,11 +166,11 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";␊ import {ERC20Burnable} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol";␊ import {ERC20Pausable} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol";␊ import {ERC20Permit} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";␊ - import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ ␊ contract MyStablecoin is ERC20, ERC20Burnable, ERC20Pausable, Ownable, ERC20Permit {␊ constructor(address initialOwner)␊ @@ -243,9 +243,9 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";␊ import {ERC20Permit} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";␊ - import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ ␊ contract MyStablecoin is ERC20, Ownable, ERC20Permit {␊ constructor(address initialOwner)␊ @@ -297,8 +297,8 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {ERC1363} from "@openzeppelin/contracts/token/ERC20/extensions/ERC1363.sol";␊ import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";␊ + import {ERC1363} from "@openzeppelin/contracts/token/ERC20/extensions/ERC1363.sol";␊ import {ERC20Permit} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";␊ ␊ contract MyStablecoin is ERC20, ERC1363, ERC20Permit {␊ @@ -330,10 +330,10 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0 and Community Contracts commit 2d607bd␊ pragma solidity ^0.8.27;␊ ␊ - import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";␊ import {ERC20Custodian} from "@openzeppelin/community-contracts/token/ERC20/extensions/ERC20Custodian.sol";␊ - import {ERC20Permit} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";␊ import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ + import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";␊ + import {ERC20Permit} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";␊ ␊ contract MyStablecoin is ERC20, ERC20Permit, ERC20Custodian, Ownable {␊ constructor(address initialOwner)␊ @@ -365,10 +365,10 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0 and Community Contracts commit 2d607bd␊ pragma solidity ^0.8.27;␊ ␊ - import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";␊ import {ERC20Allowlist} from "@openzeppelin/community-contracts/token/ERC20/extensions/ERC20Allowlist.sol";␊ - import {ERC20Permit} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";␊ import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ + import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";␊ + import {ERC20Permit} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";␊ ␊ contract MyStablecoin is ERC20, ERC20Permit, ERC20Allowlist, Ownable {␊ constructor(address initialOwner)␊ @@ -411,10 +411,10 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0 and Community Contracts commit 2d607bd␊ pragma solidity ^0.8.27;␊ ␊ - import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";␊ import {ERC20Blocklist} from "@openzeppelin/community-contracts/token/ERC20/extensions/ERC20Blocklist.sol";␊ - import {ERC20Permit} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";␊ import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ + import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";␊ + import {ERC20Permit} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";␊ ␊ contract MyStablecoin is ERC20, ERC20Permit, ERC20Blocklist, Ownable {␊ constructor(address initialOwner)␊ @@ -591,17 +591,17 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0 and Community Contracts commit 2d607bd␊ pragma solidity ^0.8.27;␊ ␊ + import {ERC20Allowlist} from "@openzeppelin/community-contracts/token/ERC20/extensions/ERC20Allowlist.sol";␊ + import {ERC20Custodian} from "@openzeppelin/community-contracts/token/ERC20/extensions/ERC20Custodian.sol";␊ import {AccessControl} from "@openzeppelin/contracts/access/AccessControl.sol";␊ - import {ERC1363} from "@openzeppelin/contracts/token/ERC20/extensions/ERC1363.sol";␊ import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";␊ - import {ERC20Allowlist} from "@openzeppelin/community-contracts/token/ERC20/extensions/ERC20Allowlist.sol";␊ - import {ERC20Bridgeable} from "@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Bridgeable.sol";␊ + import {ERC1363} from "@openzeppelin/contracts/token/ERC20/extensions/ERC1363.sol";␊ import {ERC20Burnable} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol";␊ - import {ERC20Custodian} from "@openzeppelin/community-contracts/token/ERC20/extensions/ERC20Custodian.sol";␊ import {ERC20FlashMint} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20FlashMint.sol";␊ import {ERC20Pausable} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol";␊ import {ERC20Permit} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";␊ import {ERC20Votes} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol";␊ + import {ERC20Bridgeable} from "@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Bridgeable.sol";␊ import {Nonces} from "@openzeppelin/contracts/utils/Nonces.sol";␊ ␊ contract MyStablecoin is ERC20, ERC20Bridgeable, AccessControl, ERC20Burnable, ERC20Pausable, ERC1363, ERC20Permit, ERC20Votes, ERC20FlashMint, ERC20Custodian, ERC20Allowlist {␊ diff --git a/packages/core/solidity/src/stablecoin.test.ts.snap b/packages/core/solidity/src/stablecoin.test.ts.snap index ab2244c77bfc4006e1745edfd229d9b4b4787a4f..f733539e810f1d4b0275c84c0ccced67f48a6eb9 100644 GIT binary patch literal 2126 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 QLBQDm1L_x4xfR3!0E6?jwg3PC diff --git a/packages/core/solidity/src/zip-hardhat.test.ts.md b/packages/core/solidity/src/zip-hardhat.test.ts.md index 745b178b5..13b5cb5c6 100644 --- a/packages/core/solidity/src/zip-hardhat.test.ts.md +++ b/packages/core/solidity/src/zip-hardhat.test.ts.md @@ -140,17 +140,17 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ import {ERC20Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol";␊ - import {ERC20BridgeableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/draft-ERC20BridgeableUpgradeable.sol";␊ import {ERC20BurnableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20BurnableUpgradeable.sol";␊ import {ERC20FlashMintUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20FlashMintUpgradeable.sol";␊ import {ERC20PausableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20PausableUpgradeable.sol";␊ import {ERC20PermitUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20PermitUpgradeable.sol";␊ import {ERC20VotesUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20VotesUpgradeable.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {ERC20BridgeableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/draft-ERC20BridgeableUpgradeable.sol";␊ import {NoncesUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/NoncesUpgradeable.sol";␊ - import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract MyToken is Initializable, ERC20Upgradeable, ERC20BridgeableUpgradeable, ERC20BurnableUpgradeable, ERC20PausableUpgradeable, OwnableUpgradeable, ERC20PermitUpgradeable, ERC20VotesUpgradeable, ERC20FlashMintUpgradeable, UUPSUpgradeable {␊ address public tokenBridge;␊ @@ -306,10 +306,10 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {ERC721Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {ERC721Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol";␊ ␊ contract MyToken is Initializable, ERC721Upgradeable, OwnableUpgradeable, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow constructor␊ @@ -411,8 +411,8 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ - import {ERC1155} from "@openzeppelin/contracts/token/ERC1155/ERC1155.sol";␊ import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ + import {ERC1155} from "@openzeppelin/contracts/token/ERC1155/ERC1155.sol";␊ ␊ contract MyToken is ERC1155, Ownable {␊ constructor(address initialOwner)␊ @@ -496,11 +496,11 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.27;␊ ␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ - import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {SignerECDSA} from "@openzeppelin/contracts/utils/cryptography/signers/SignerECDSA.sol";␊ + import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Account, EIP712, ERC7739, SignerECDSA, ERC721Holder, ERC1155Holder {␊ constructor(address signer) EIP712("My Account", "1") SignerECDSA(signer) {}␊ @@ -574,14 +574,14 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.4.0␊ pragma solidity ^0.8.27;␊ ␊ + import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ + import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ import {Account} from "@openzeppelin/contracts/account/Account.sol";␊ - import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";␊ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";␊ + import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ - import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ - import {SignerECDSAUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/signers/SignerECDSAUpgradeable.sol";␊ - import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract MyAccount is Initializable, Account, EIP712, ERC7739, SignerECDSAUpgradeable, ERC721Holder, ERC1155Holder, UUPSUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow-reachable constructor␊ diff --git a/packages/core/solidity/src/zip-hardhat.test.ts.snap b/packages/core/solidity/src/zip-hardhat.test.ts.snap index 29d2250f42da5e5abdc94cc6518077cc54c321ea..279682c9d2671b17ba0ba58e1778e5e476a274aa 100644 GIT binary patch literal 3261 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 literal 3264 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 Date: Thu, 11 Sep 2025 14:36:54 +0200 Subject: [PATCH 2/9] add changeset --- .changeset/sour-poems-stop.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/sour-poems-stop.md diff --git a/.changeset/sour-poems-stop.md b/.changeset/sour-poems-stop.md new file mode 100644 index 000000000..cbb5d62e9 --- /dev/null +++ b/.changeset/sour-poems-stop.md @@ -0,0 +1,5 @@ +--- +'@openzeppelin/wizard': patch +--- + +Add missing imports for modular accounts without a signer From 8c61b50b901462f7eb77f48518496d2ab7ef7642 Mon Sep 17 00:00:00 2001 From: Hadrien Croubois Date: Thu, 11 Sep 2025 15:12:15 +0200 Subject: [PATCH 3/9] refactor --- packages/core/solidity/src/print.ts | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/packages/core/solidity/src/print.ts b/packages/core/solidity/src/print.ts index 48758ba67..9e7b480e2 100644 --- a/packages/core/solidity/src/print.ts +++ b/packages/core/solidity/src/print.ts @@ -278,17 +278,14 @@ function printNatspecTags(tags: NatspecTag[]): string[] { } function printImports(imports: ImportContract[], helpers: Helpers): string[] { - const transformedImports = imports.map(p => helpers.transformImport(p)); + const itemByPath = new Map; - return transformedImports - .map(p => p.path) - .filter((path, i, paths) => paths.indexOf(path) == i) + // populate itemByPath + imports + .map(p => helpers.transformImport(p)) + .forEach(p => itemByPath.get(p.path)?.push(p.name) ?? itemByPath.set(p.path, [p.name])); + + return Array.from(itemByPath.keys()) .sort() - .map(path => `import {${ - transformedImports - .filter(p => p.path === path) - .map(p => p.name) - .sort() - .join(', ') - }} from "${path}";`); + .map(path => `import {${itemByPath.get(path)?.sort().join(', ')}} from "${path}";`); } From 3bcc84af07d2f6fa831d2393434a882769c035d1 Mon Sep 17 00:00:00 2001 From: Hadrien Croubois Date: Thu, 11 Sep 2025 15:15:15 +0200 Subject: [PATCH 4/9] refactor --- packages/core/solidity/src/print.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/core/solidity/src/print.ts b/packages/core/solidity/src/print.ts index 9e7b480e2..707220c21 100644 --- a/packages/core/solidity/src/print.ts +++ b/packages/core/solidity/src/print.ts @@ -278,14 +278,14 @@ function printNatspecTags(tags: NatspecTag[]): string[] { } function printImports(imports: ImportContract[], helpers: Helpers): string[] { - const itemByPath = new Map; + const itemByPath = new Map>(); - // populate itemByPath - imports - .map(p => helpers.transformImport(p)) - .forEach(p => itemByPath.get(p.path)?.push(p.name) ?? itemByPath.set(p.path, [p.name])); + for (const p of imports) { + const { name, path } = helpers.transformImport(p); + itemByPath.get(path)?.add(name) ?? itemByPath.set(path, new Set([name])); + } return Array.from(itemByPath.keys()) .sort() - .map(path => `import {${itemByPath.get(path)?.sort().join(', ')}} from "${path}";`); + .map(path => `import {${Array.from(itemByPath.get(path)!).sort().join(', ')}} from "${path}";`); } From 4b8612432e91c3d5d054134c1c3eade8764bf22b Mon Sep 17 00:00:00 2001 From: Hadrien Croubois Date: Thu, 11 Sep 2025 15:18:10 +0200 Subject: [PATCH 5/9] lint --- packages/core/solidity/src/print.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/solidity/src/print.ts b/packages/core/solidity/src/print.ts index 707220c21..ccee552ba 100644 --- a/packages/core/solidity/src/print.ts +++ b/packages/core/solidity/src/print.ts @@ -282,7 +282,7 @@ function printImports(imports: ImportContract[], helpers: Helpers): string[] { for (const p of imports) { const { name, path } = helpers.transformImport(p); - itemByPath.get(path)?.add(name) ?? itemByPath.set(path, new Set([name])); + const _ = itemByPath.get(path)?.add(name) ?? itemByPath.set(path, new Set([name])); } return Array.from(itemByPath.keys()) From 11c338f27289204e728d2e1ddad3e11ae4f690d8 Mon Sep 17 00:00:00 2001 From: Hadrien Croubois Date: Thu, 11 Sep 2025 18:53:20 +0200 Subject: [PATCH 6/9] Use memory bytes in constructor --- packages/core/solidity/src/account.test.ts.md | 24 +++++++++--------- .../core/solidity/src/account.test.ts.snap | Bin 11712 -> 11720 bytes packages/core/solidity/src/account.ts | 2 +- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/packages/core/solidity/src/account.test.ts.md b/packages/core/solidity/src/account.test.ts.md index 2c7342731..96e575467 100644 --- a/packages/core/solidity/src/account.test.ts.md +++ b/packages/core/solidity/src/account.test.ts.md @@ -229,7 +229,7 @@ Generated by [AVA](https://avajs.dev). import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Account, EIP712, ERC7739, AccountERC7579 {␊ - constructor(uint256 moduleTypeId, address module, bytes calldata initData)␊ + constructor(uint256 moduleTypeId, address module, bytes memory initData)␊ EIP712("MyAccount", "1")␊ {␊ require(moduleTypeId == MODULE_TYPE_VALIDATOR || moduleTypeId == MODULE_TYPE_EXECUTOR);␊ @@ -275,7 +275,7 @@ Generated by [AVA](https://avajs.dev). import {MODULE_TYPE_EXECUTOR, MODULE_TYPE_VALIDATOR} from "@openzeppelin/contracts/interfaces/draft-IERC7579.sol";␊ ␊ contract MyAccount is Account, IERC1271, AccountERC7579 {␊ - constructor(uint256 moduleTypeId, address module, bytes calldata initData) {␊ + constructor(uint256 moduleTypeId, address module, bytes memory initData) {␊ require(moduleTypeId == MODULE_TYPE_VALIDATOR || moduleTypeId == MODULE_TYPE_EXECUTOR);␊ _installModule(moduleTypeId, module, initData);␊ }␊ @@ -317,7 +317,7 @@ Generated by [AVA](https://avajs.dev). import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Account, EIP712, ERC7739, AccountERC7579 {␊ - constructor(uint256 moduleTypeId, address module, bytes calldata initData)␊ + constructor(uint256 moduleTypeId, address module, bytes memory initData)␊ EIP712("MyAccount", "1")␊ {␊ require(moduleTypeId == MODULE_TYPE_VALIDATOR || moduleTypeId == MODULE_TYPE_EXECUTOR);␊ @@ -365,7 +365,7 @@ Generated by [AVA](https://avajs.dev). import {ERC7739} from "@openzeppelin/contracts/utils/cryptography/signers/draft-ERC7739.sol";␊ ␊ contract MyAccount is Account, EIP712, ERC7739, AccountERC7579Hooked {␊ - constructor(uint256 moduleTypeId, address module, bytes calldata initData)␊ + constructor(uint256 moduleTypeId, address module, bytes memory initData)␊ EIP712("MyAccount", "1")␊ {␊ require(moduleTypeId == MODULE_TYPE_VALIDATOR || moduleTypeId == MODULE_TYPE_EXECUTOR);␊ @@ -735,7 +735,7 @@ Generated by [AVA](https://avajs.dev). _disableInitializers();␊ }␊ ␊ - function initialize(uint256 moduleTypeId, address module, bytes calldata initData)␊ + function initialize(uint256 moduleTypeId, address module, bytes memory initData)␊ public␊ initializer␊ {␊ @@ -798,7 +798,7 @@ Generated by [AVA](https://avajs.dev). _disableInitializers();␊ }␊ ␊ - function initialize(uint256 moduleTypeId, address module, bytes calldata initData)␊ + function initialize(uint256 moduleTypeId, address module, bytes memory initData)␊ public␊ initializer␊ {␊ @@ -859,7 +859,7 @@ Generated by [AVA](https://avajs.dev). _disableInitializers();␊ }␊ ␊ - function initialize(uint256 moduleTypeId, address module, bytes calldata initData)␊ + function initialize(uint256 moduleTypeId, address module, bytes memory initData)␊ public␊ initializer␊ {␊ @@ -924,7 +924,7 @@ Generated by [AVA](https://avajs.dev). _disableInitializers();␊ }␊ ␊ - function initialize(uint256 moduleTypeId, address module, bytes calldata initData)␊ + function initialize(uint256 moduleTypeId, address module, bytes memory initData)␊ public␊ initializer␊ {␊ @@ -1226,7 +1226,7 @@ Generated by [AVA](https://avajs.dev). _disableInitializers();␊ }␊ ␊ - function initialize(uint256 moduleTypeId, address module, bytes calldata initData)␊ + function initialize(uint256 moduleTypeId, address module, bytes memory initData)␊ public␊ initializer␊ {␊ @@ -1281,7 +1281,7 @@ Generated by [AVA](https://avajs.dev). _disableInitializers();␊ }␊ ␊ - function initialize(uint256 moduleTypeId, address module, bytes calldata initData)␊ + function initialize(uint256 moduleTypeId, address module, bytes memory initData)␊ public␊ initializer␊ {␊ @@ -1334,7 +1334,7 @@ Generated by [AVA](https://avajs.dev). _disableInitializers();␊ }␊ ␊ - function initialize(uint256 moduleTypeId, address module, bytes calldata initData)␊ + function initialize(uint256 moduleTypeId, address module, bytes memory initData)␊ public␊ initializer␊ {␊ @@ -1391,7 +1391,7 @@ Generated by [AVA](https://avajs.dev). _disableInitializers();␊ }␊ ␊ - function initialize(uint256 moduleTypeId, address module, bytes calldata initData)␊ + function initialize(uint256 moduleTypeId, address module, bytes memory initData)␊ public␊ initializer␊ {␊ diff --git a/packages/core/solidity/src/account.test.ts.snap b/packages/core/solidity/src/account.test.ts.snap index a28b532329642c7e2b630d549e5159ff9aa1696f..fcd268f332e42b4ff897e7166a98707744c86e88 100644 GIT binary patch literal 11720 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 z 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 C^@&yh literal 11712 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 diff --git a/packages/core/solidity/src/account.ts b/packages/core/solidity/src/account.ts index 296feb79d..01fbd7ced 100644 --- a/packages/core/solidity/src/account.ts +++ b/packages/core/solidity/src/account.ts @@ -184,7 +184,7 @@ function addERC7579Modules(c: ContractBuilder, opts: AccountOptions): void { }); c.addConstructorArgument({ type: 'uint256', name: 'moduleTypeId' }); c.addConstructorArgument({ type: 'address', name: 'module' }); - c.addConstructorArgument({ type: 'bytes calldata', name: 'initData' }); + c.addConstructorArgument({ type: 'bytes memory', name: 'initData' }); c.addConstructorCode('require(moduleTypeId == MODULE_TYPE_VALIDATOR || moduleTypeId == MODULE_TYPE_EXECUTOR);'); c.addConstructorCode('_installModule(moduleTypeId, module, initData);'); } From cf84ed075cdc149f9f89524282a987c390d34854 Mon Sep 17 00:00:00 2001 From: Hadrien Croubois Date: Thu, 11 Sep 2025 19:02:36 +0200 Subject: [PATCH 7/9] Improve inferTranspiled to reduce the need for transpiled: false --- packages/core/solidity/src/account.ts | 3 --- packages/core/solidity/src/governor.ts | 3 --- .../core/solidity/src/infer-transpiled.test.ts | 16 ++++++++++++++++ packages/core/solidity/src/infer-transpiled.ts | 10 ++++++++-- 4 files changed, 24 insertions(+), 8 deletions(-) diff --git a/packages/core/solidity/src/account.ts b/packages/core/solidity/src/account.ts index 01fbd7ced..d85c0854d 100644 --- a/packages/core/solidity/src/account.ts +++ b/packages/core/solidity/src/account.ts @@ -68,7 +68,6 @@ export function buildAccount(opts: AccountOptions): Contract { c.addImportOnly({ name: 'PackedUserOperation', path: '@openzeppelin/contracts/interfaces/draft-IERC4337.sol', - transpiled: false, // PackedUserOperation doesn't start with "I" so its not recognized as an "interface object" }); } @@ -175,12 +174,10 @@ function addERC7579Modules(c: ContractBuilder, opts: AccountOptions): void { c.addImportOnly({ name: 'MODULE_TYPE_VALIDATOR', path: '@openzeppelin/contracts/interfaces/draft-IERC7579.sol', - transpiled: false, // name doesn't start with "I" so its not recognized as an "interface object" }); c.addImportOnly({ name: 'MODULE_TYPE_EXECUTOR', path: '@openzeppelin/contracts/interfaces/draft-IERC7579.sol', - transpiled: false, // name doesn't start with "I" so its not recognized as an "interface object" }); c.addConstructorArgument({ type: 'uint256', name: 'moduleTypeId' }); c.addConstructorArgument({ type: 'address', name: 'module' }); diff --git a/packages/core/solidity/src/governor.ts b/packages/core/solidity/src/governor.ts index 936d76b2a..e5f68db9c 100644 --- a/packages/core/solidity/src/governor.ts +++ b/packages/core/solidity/src/governor.ts @@ -247,12 +247,10 @@ function addVotes(c: ContractBuilder) { c.addImportOnly({ name: 'IVotes', path: `@openzeppelin/contracts/governance/utils/IVotes.sol`, - transpiled: false, }); c.addConstructorArgument({ type: { name: 'IVotes', - transpiled: false, }, name: tokenArg, }); @@ -322,7 +320,6 @@ const timelockModules = { timelockType: { name: 'ICompoundTimelock', path: `@openzeppelin/contracts/vendor/compound/ICompoundTimelock.sol`, - transpiled: false, }, timelockParent: { name: 'GovernorTimelockCompound', diff --git a/packages/core/solidity/src/infer-transpiled.test.ts b/packages/core/solidity/src/infer-transpiled.test.ts index cccffeeab..028d223ac 100644 --- a/packages/core/solidity/src/infer-transpiled.test.ts +++ b/packages/core/solidity/src/infer-transpiled.test.ts @@ -9,4 +9,20 @@ test('infer transpiled', t => { t.false(inferTranspiled({ name: 'IFoo' })); t.true(inferTranspiled({ name: 'IFoo', transpiled: true })); t.false(inferTranspiled({ name: 'IFoo', transpiled: false })); + + t.true(inferTranspiled({ name: 'Ifoo' })); + t.true(inferTranspiled({ name: 'Ifoo', transpiled: true })); + t.false(inferTranspiled({ name: 'Ifoo', transpiled: false })); + + t.false(inferTranspiled({ name: 'Foo', path: '@org/package/contracts/IFoo.sol' })); + t.true(inferTranspiled({ name: 'Foo', path: '@org/package/contracts/IFoo.sol', transpiled: true })); + t.false(inferTranspiled({ name: 'Foo', path: '@org/package/contracts/IFoo.sol', transpiled: false })); + + t.true(inferTranspiled({ name: 'Foo', path: '@org/package/contracts/Ifoo.sol' })); + t.true(inferTranspiled({ name: 'Foo', path: '@org/package/contracts/Ifoo.sol', transpiled: true })); + t.false(inferTranspiled({ name: 'Foo', path: '@org/package/contracts/Ifoo.sol', transpiled: false })); + + t.true(inferTranspiled({ name: 'Foo', path: '@org/package/contracts/Foo.sol' })); + t.true(inferTranspiled({ name: 'Foo', path: '@org/package/contracts/Foo.sol', transpiled: true })); + t.false(inferTranspiled({ name: 'Foo', path: '@org/package/contracts/Foo.sol', transpiled: false })); }); diff --git a/packages/core/solidity/src/infer-transpiled.ts b/packages/core/solidity/src/infer-transpiled.ts index f338ea6a4..5eb4a0302 100644 --- a/packages/core/solidity/src/infer-transpiled.ts +++ b/packages/core/solidity/src/infer-transpiled.ts @@ -1,5 +1,11 @@ import type { ReferencedContract } from './contract'; -export function inferTranspiled(c: ReferencedContract): boolean { - return c.transpiled ?? !/^I[A-Z]/.test(c.name); +export function inferTranspiled(c: ReferencedContract & { path?: string }): boolean { + if (c.transpiled !== undefined) { + return c.transpiled; + } else if (c.path !== undefined) { + return !/\/(draft-)?I[A-Z]\w+.sol$/.test(c.path); + } else { + return !/^I[A-Z]/.test(c.name); + } } From 4bbd0a74996050a9ef50629ab3b8e57aae6e8ff9 Mon Sep 17 00:00:00 2001 From: Hadrien Croubois Date: Thu, 11 Sep 2025 19:05:03 +0200 Subject: [PATCH 8/9] more tests --- packages/core/solidity/src/infer-transpiled.test.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/core/solidity/src/infer-transpiled.test.ts b/packages/core/solidity/src/infer-transpiled.test.ts index 028d223ac..cef425156 100644 --- a/packages/core/solidity/src/infer-transpiled.test.ts +++ b/packages/core/solidity/src/infer-transpiled.test.ts @@ -25,4 +25,16 @@ test('infer transpiled', t => { t.true(inferTranspiled({ name: 'Foo', path: '@org/package/contracts/Foo.sol' })); t.true(inferTranspiled({ name: 'Foo', path: '@org/package/contracts/Foo.sol', transpiled: true })); t.false(inferTranspiled({ name: 'Foo', path: '@org/package/contracts/Foo.sol', transpiled: false })); + + t.false(inferTranspiled({ name: 'Foo', path: '@org/package/contracts/draft-IFoo.sol' })); + t.true(inferTranspiled({ name: 'Foo', path: '@org/package/contracts/draft-IFoo.sol', transpiled: true })); + t.false(inferTranspiled({ name: 'Foo', path: '@org/package/contracts/draft-IFoo.sol', transpiled: false })); + + t.true(inferTranspiled({ name: 'Foo', path: '@org/package/contracts/draft-Ifoo.sol' })); + t.true(inferTranspiled({ name: 'Foo', path: '@org/package/contracts/draft-Ifoo.sol', transpiled: true })); + t.false(inferTranspiled({ name: 'Foo', path: '@org/package/contracts/draft-Ifoo.sol', transpiled: false })); + + t.true(inferTranspiled({ name: 'Foo', path: '@org/package/contracts/draft-Foo.sol' })); + t.true(inferTranspiled({ name: 'Foo', path: '@org/package/contracts/draft-Foo.sol', transpiled: true })); + t.false(inferTranspiled({ name: 'Foo', path: '@org/package/contracts/draft-Foo.sol', transpiled: false })); }); From 88cf4c8dd9807d8468eb3a06577e6225c26aca42 Mon Sep 17 00:00:00 2001 From: Eric Lau Date: Thu, 11 Sep 2025 15:35:33 -0400 Subject: [PATCH 9/9] Add signer false option for compile tests, use exported options --- packages/core/solidity/src/generate/account.ts | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/packages/core/solidity/src/generate/account.ts b/packages/core/solidity/src/generate/account.ts index 685e23bb8..b633e2a18 100644 --- a/packages/core/solidity/src/generate/account.ts +++ b/packages/core/solidity/src/generate/account.ts @@ -1,16 +1,19 @@ -import type { AccountOptions } from '../account'; +import { ERC7579ModulesOptions, SignatureValidationOptions, type AccountOptions } from '../account'; import { infoOptions } from '../set-info'; import { upgradeableOptions } from '../set-upgradeable'; +import { SignerOptions } from '../signer'; import { generateAlternatives } from './alternatives'; +const booleans = [true, false] as const; + const account = { name: ['MyAccount'], - signatureValidation: [false, 'ERC1271', 'ERC7739'] as const, - ERC721Holder: [false, true] as const, - ERC1155Holder: [false, true] as const, - signer: ['ERC7702', 'ECDSA', 'P256', 'RSA', 'Multisig', 'MultisigWeighted'] as const, - batchedExecution: [false, true] as const, - ERC7579Modules: [false, 'AccountERC7579', 'AccountERC7579Hooked'] as const, + signatureValidation: SignatureValidationOptions, + ERC721Holder: booleans, + ERC1155Holder: booleans, + signer: SignerOptions, + batchedExecution: booleans, + ERC7579Modules: ERC7579ModulesOptions, access: [false] as const, upgradeable: upgradeableOptions, info: infoOptions,