0

I'm trying to deploy an Initializable contract using oz deploy but when it comes to pick it, it does not appear. My contract is a factory contract and also a GSNRecipient but it shouldn't make any difference. Let me show you the contract below:

pragma solidity ^0.5.9;
import "@openzeppelin/contracts-ethereum-package/contracts/ownership/Ownable.sol";
import "@openzeppelin/contracts-ethereum-package/contracts/GSN/GSNRecipientSignature.sol";
import "@openzeppelin/upgrades/contracts/Initializable.sol";

import "./interfaces/IMyFactory.sol";

import "./Child.sol";

contract MyFactory is Initializable, Ownable, IMyFactory, Initializable {

  mapping(uint => address) public children;
  uint256 childrenCount;

  function initialize(address _signer) public initializer {
      GSNRecipientSignature.initialize(_signer);
      Ownable.initialize(_signer);
  }

  function deployChild() external onlyOwner() {
      Child _child = new Child();
      children[childrenCount] = address(_child);
      childrenCount++;
  }
}

I'm able to deploy Child and all the other constracts from @openzeppelin/contracts-ethereum-package but not MyFactory.

Oz version: 2.8.2 Solidity: 0.5.9

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.