# Snapshot report for `src/custom.test.ts`

The actual snapshot is saved in `custom.test.ts.snap`.

Generated by [AVA](https://avajs.dev).

## custom

> Snapshot 1

    `// SPDX-License-Identifier: MIT␊
    // Compatible with OpenZeppelin Contracts ^5.0.0␊
    pragma solidity ^0.8.22;␊
    ␊
    contract MyContract {␊
    }␊
    `

## pausable

> Snapshot 1

    `// SPDX-License-Identifier: MIT␊
    // Compatible with OpenZeppelin Contracts ^5.0.0␊
    pragma solidity ^0.8.22;␊
    ␊
    import "@openzeppelin/contracts/utils/Pausable.sol";␊
    import "@openzeppelin/contracts/access/Ownable.sol";␊
    ␊
    contract MyContract is Pausable, Ownable {␊
        constructor(address initialOwner) Ownable(initialOwner) {}␊
    ␊
        function pause() public onlyOwner {␊
            _pause();␊
        }␊
    ␊
        function unpause() public onlyOwner {␊
            _unpause();␊
        }␊
    }␊
    `

## upgradeable transparent

> Snapshot 1

    `// SPDX-License-Identifier: MIT␊
    // Compatible with OpenZeppelin Contracts ^5.0.0␊
    pragma solidity ^0.8.22;␊
    ␊
    import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊
    ␊
    contract MyContract is Initializable {␊
        /// @custom:oz-upgrades-unsafe-allow constructor␊
        constructor() {␊
            _disableInitializers();␊
        }␊
    }␊
    `

## upgradeable uups

> Snapshot 1

    `// SPDX-License-Identifier: MIT␊
    // Compatible with OpenZeppelin Contracts ^5.0.0␊
    pragma solidity ^0.8.22;␊
    ␊
    import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊
    import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";␊
    import "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊
    ␊
    contract MyContract is Initializable, OwnableUpgradeable, UUPSUpgradeable {␊
        /// @custom:oz-upgrades-unsafe-allow constructor␊
        constructor() {␊
            _disableInitializers();␊
        }␊
    ␊
        function initialize(address initialOwner) initializer public {␊
            __Ownable_init(initialOwner);␊
            __UUPSUpgradeable_init();␊
        }␊
    ␊
        function _authorizeUpgrade(address newImplementation)␊
            internal␊
            onlyOwner␊
            override␊
        {}␊
    }␊
    `

## access control disabled

> Snapshot 1

    `// SPDX-License-Identifier: MIT␊
    // Compatible with OpenZeppelin Contracts ^5.0.0␊
    pragma solidity ^0.8.22;␊
    ␊
    contract MyContract {␊
    }␊
    `

## access control ownable

> Snapshot 1

    `// SPDX-License-Identifier: MIT␊
    // Compatible with OpenZeppelin Contracts ^5.0.0␊
    pragma solidity ^0.8.22;␊
    ␊
    import "@openzeppelin/contracts/access/Ownable.sol";␊
    ␊
    contract MyContract is Ownable {␊
        constructor(address initialOwner) Ownable(initialOwner) {}␊
    }␊
    `

## access control roles

> Snapshot 1

    `// SPDX-License-Identifier: MIT␊
    // Compatible with OpenZeppelin Contracts ^5.0.0␊
    pragma solidity ^0.8.22;␊
    ␊
    import "@openzeppelin/contracts/access/AccessControl.sol";␊
    ␊
    contract MyContract is AccessControl {␊
        constructor(address defaultAdmin) {␊
            _grantRole(DEFAULT_ADMIN_ROLE, defaultAdmin);␊
        }␊
    }␊
    `

## access control managed

> Snapshot 1

    `// SPDX-License-Identifier: MIT␊
    // Compatible with OpenZeppelin Contracts ^5.0.0␊
    pragma solidity ^0.8.22;␊
    ␊
    import "@openzeppelin/contracts/access/manager/AccessManaged.sol";␊
    ␊
    contract MyContract is AccessManaged {␊
        constructor(address initialAuthority) AccessManaged(initialAuthority) {}␊
    }␊
    `

## upgradeable uups with access control disabled

> Snapshot 1

    `// SPDX-License-Identifier: MIT␊
    // Compatible with OpenZeppelin Contracts ^5.0.0␊
    pragma solidity ^0.8.22;␊
    ␊
    import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊
    import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";␊
    import "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊
    ␊
    contract MyContract is Initializable, OwnableUpgradeable, UUPSUpgradeable {␊
        /// @custom:oz-upgrades-unsafe-allow constructor␊
        constructor() {␊
            _disableInitializers();␊
        }␊
    ␊
        function initialize(address initialOwner) initializer public {␊
            __Ownable_init(initialOwner);␊
            __UUPSUpgradeable_init();␊
        }␊
    ␊
        function _authorizeUpgrade(address newImplementation)␊
            internal␊
            onlyOwner␊
            override␊
        {}␊
    }␊
    `
