Skip to content

Commit

Permalink
Merge pull request #312 from pods-finance/features/added-proxy-deployer
Browse files Browse the repository at this point in the history
Added ProxyDeployer contract
  • Loading branch information
Robsonsjre committed Jan 30, 2022
2 parents 1dd7bfe + a4ccb7c commit e92bf05
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions contracts/mocks/ProxyDeployer.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
pragma solidity 0.6.12;

interface IOwnable {
function transferOwnership(address owner) external;
}

contract ProxyDeployer {
event Deployed(address indexed deployer, address contractAddress, bytes32 salt);

function deploy(bytes32 salt, bytes memory bytecode) public returns (address addr) {
assembly {
addr := create2(0, add(bytecode, 0x20), mload(bytecode), salt)
}
emit Deployed(msg.sender, addr, salt);
}

function deployOwnable(bytes32 salt, bytes memory bytecode) public returns (address addr) {
addr = deploy(salt, bytecode);
IOwnable(addr).transferOwnership(msg.sender);
}
}

0 comments on commit e92bf05

Please sign in to comment.