I have a contract WidgetMaker
that uses Zeppelin-Solidity Ownable
to ensure that only the owner of the contract can execute SendWidget
.
At present, the contract is owned by my own wallet address and I have a web3 app that lets me execute this function no problem.
I want to migrate from this setup to one where the function SendWidget
can be called by another contract WidgetManager
. This needs to be the same deployed instance of WidgetMaker
, so I will need to transfer ownership to the new contract.
Transferring ownership is no problem as this is already taken care of by OpenZeppelin code. I have two questions:
1) How do I securely deploy WidgetManager
to allow it to call the SendWidget
function on the current deployed instance of WidgetMaker
?
2) Is there a safe way to add a function to WidgetManager
that would allow it to pass the ownership back to me, or to another contract in the future if I wanted to upgrade the system while still keeping the same deployed instance of WidgetMaker
?