Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/sour-poems-stop.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@openzeppelin/wizard': patch
---

Add missing imports for modular accounts without a signer
1,246 changes: 629 additions & 617 deletions packages/core/solidity/src/account.test.ts.md

Large diffs are not rendered by default.

Binary file modified packages/core/solidity/src/account.test.ts.snap
Binary file not shown.
11 changes: 9 additions & 2 deletions packages/core/solidity/src/account.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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"
});
}

Expand Down Expand Up @@ -172,9 +171,17 @@ 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',
});
c.addImportOnly({
name: 'MODULE_TYPE_EXECUTOR',
path: '@openzeppelin/contracts/interfaces/draft-IERC7579.sol',
});
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);');
}
Expand Down
4 changes: 2 additions & 2 deletions packages/core/solidity/src/custom.test.ts.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 {␊
Expand Down Expand Up @@ -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 {␊
Expand Down
Binary file modified packages/core/solidity/src/custom.test.ts.snap
Binary file not shown.
22 changes: 11 additions & 11 deletions packages/core/solidity/src/erc1155.test.ts.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)␊
Expand All @@ -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)␊
Expand Down Expand Up @@ -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)␊
Expand All @@ -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)␊
Expand Down Expand Up @@ -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)␊
Expand Down Expand Up @@ -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)␊
Expand Down Expand Up @@ -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");␊
Expand Down Expand Up @@ -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");␊
Expand Down Expand Up @@ -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␊
Expand Down
Binary file modified packages/core/solidity/src/erc1155.test.ts.snap
Binary file not shown.
Loading
Loading