Commit bdc0e9f7 authored by sam-goldman's avatar sam-goldman Committed by GitHub

nft: N-10 Undocumented implicit approval requirements (#3489)

Co-authored-by: default avatarmergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
parent 38bf4582
...@@ -3,14 +3,12 @@ pragma solidity 0.8.15; ...@@ -3,14 +3,12 @@ pragma solidity 0.8.15;
import { import {
CrossDomainEnabled CrossDomainEnabled
} from "@eth-optimism/contracts/libraries/bridge/CrossDomainEnabled.sol"; } from "@eth-optimism/contracts/contracts/libraries/bridge/CrossDomainEnabled.sol";
import {
OwnableUpgradeable
} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
import { IERC721 } from "@openzeppelin/contracts/token/ERC721/IERC721.sol"; import { IERC721 } from "@openzeppelin/contracts/token/ERC721/IERC721.sol";
import { Address } from "@openzeppelin/contracts/utils/Address.sol"; import { Address } from "@openzeppelin/contracts/utils/Address.sol";
import { L2ERC721Bridge } from "../L2/L2ERC721Bridge.sol"; import { L2ERC721Bridge } from "../L2/L2ERC721Bridge.sol";
import { Semver } from "@eth-optimism/contracts-bedrock/contracts/universal/Semver.sol"; import { Semver } from "@eth-optimism/contracts-bedrock/contracts/universal/Semver.sol";
import { Initializable } from "@openzeppelin/contracts/proxy/utils/Initializable.sol";
/** /**
* @title L1ERC721Bridge * @title L1ERC721Bridge
...@@ -18,7 +16,7 @@ import { Semver } from "@eth-optimism/contracts-bedrock/contracts/universal/Semv ...@@ -18,7 +16,7 @@ import { Semver } from "@eth-optimism/contracts-bedrock/contracts/universal/Semv
* make it possible to transfer ERC721 tokens between Optimism and Ethereum. This contract * make it possible to transfer ERC721 tokens between Optimism and Ethereum. This contract
* acts as an escrow for ERC721 tokens deposited into L2. * acts as an escrow for ERC721 tokens deposited into L2.
*/ */
contract L1ERC721Bridge is Semver, CrossDomainEnabled, OwnableUpgradeable { contract L1ERC721Bridge is Semver, CrossDomainEnabled, Initializable {
/** /**
* @notice Emitted when an ERC721 bridge to the other network is initiated. * @notice Emitted when an ERC721 bridge to the other network is initiated.
* *
...@@ -89,9 +87,6 @@ contract L1ERC721Bridge is Semver, CrossDomainEnabled, OwnableUpgradeable { ...@@ -89,9 +87,6 @@ contract L1ERC721Bridge is Semver, CrossDomainEnabled, OwnableUpgradeable {
function initialize(address _messenger, address _otherBridge) public initializer { function initialize(address _messenger, address _otherBridge) public initializer {
messenger = _messenger; messenger = _messenger;
otherBridge = _otherBridge; otherBridge = _otherBridge;
// Initialize upgradable OZ contracts
__Ownable_init();
} }
/** /**
......
...@@ -3,15 +3,13 @@ pragma solidity 0.8.15; ...@@ -3,15 +3,13 @@ pragma solidity 0.8.15;
import { import {
CrossDomainEnabled CrossDomainEnabled
} from "@eth-optimism/contracts/libraries/bridge/CrossDomainEnabled.sol"; } from "@eth-optimism/contracts/contracts/libraries/bridge/CrossDomainEnabled.sol";
import {
OwnableUpgradeable
} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
import { ERC165Checker } from "@openzeppelin/contracts/utils/introspection/ERC165Checker.sol"; import { ERC165Checker } from "@openzeppelin/contracts/utils/introspection/ERC165Checker.sol";
import { Address } from "@openzeppelin/contracts/utils/Address.sol"; import { Address } from "@openzeppelin/contracts/utils/Address.sol";
import { L1ERC721Bridge } from "../L1/L1ERC721Bridge.sol"; import { L1ERC721Bridge } from "../L1/L1ERC721Bridge.sol";
import { IOptimismMintableERC721 } from "../universal/op-erc721/IOptimismMintableERC721.sol"; import { IOptimismMintableERC721 } from "../universal/op-erc721/IOptimismMintableERC721.sol";
import { Semver } from "@eth-optimism/contracts-bedrock/contracts/universal/Semver.sol"; import { Semver } from "@eth-optimism/contracts-bedrock/contracts/universal/Semver.sol";
import { Initializable } from "@openzeppelin/contracts/proxy/utils/Initializable.sol";
/** /**
* @title L2ERC721Bridge * @title L2ERC721Bridge
...@@ -20,7 +18,7 @@ import { Semver } from "@eth-optimism/contracts-bedrock/contracts/universal/Semv ...@@ -20,7 +18,7 @@ import { Semver } from "@eth-optimism/contracts-bedrock/contracts/universal/Semv
* acts as a minter for new tokens when it hears about deposits into the L1 ERC721 bridge. * acts as a minter for new tokens when it hears about deposits into the L1 ERC721 bridge.
* This contract also acts as a burner for tokens being withdrawn. * This contract also acts as a burner for tokens being withdrawn.
*/ */
contract L2ERC721Bridge is Semver, CrossDomainEnabled, OwnableUpgradeable { contract L2ERC721Bridge is Semver, CrossDomainEnabled, Initializable {
/** /**
* @notice Emitted when an ERC721 bridge to the other network is initiated. * @notice Emitted when an ERC721 bridge to the other network is initiated.
* *
...@@ -103,9 +101,6 @@ contract L2ERC721Bridge is Semver, CrossDomainEnabled, OwnableUpgradeable { ...@@ -103,9 +101,6 @@ contract L2ERC721Bridge is Semver, CrossDomainEnabled, OwnableUpgradeable {
function initialize(address _messenger, address _otherBridge) public initializer { function initialize(address _messenger, address _otherBridge) public initializer {
messenger = _messenger; messenger = _messenger;
otherBridge = _otherBridge; otherBridge = _otherBridge;
// Initialize upgradable OZ contracts
__Ownable_init();
} }
/** /**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment