mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
29 lines
885 B
Solidity
29 lines
885 B
Solidity
contract Factory {
|
|
|
|
event ContractInstantiation(address sender, address instantiation);
|
|
|
|
mapping(address => bool) public isInstantiation;
|
|
mapping(address => address[]) public instantiations;
|
|
|
|
/// @dev Returns number of instantiations by creator.
|
|
/// @param creator Contract creator.
|
|
/// @return Returns number of instantiations by creator.
|
|
function getInstantiationCount(address creator)
|
|
public
|
|
constant
|
|
returns (uint)
|
|
{
|
|
return instantiations[creator].length;
|
|
}
|
|
|
|
/// @dev Registers contract in factory registry.
|
|
/// @param instantiation Address of contract instantiation.
|
|
function register(address instantiation)
|
|
internal
|
|
{
|
|
isInstantiation[instantiation] = true;
|
|
instantiations[msg.sender].push(instantiation);
|
|
ContractInstantiation(msg.sender, instantiation);
|
|
}
|
|
}
|