{
    "contractName": "SecuritiesFactory",
    "abi": [
        {
            "constant": true,
            "inputs": [
                {
                    "name": "_salt",
                    "type": "uint256"
                },
                {
                    "name": "_logic",
                    "type": "address"
                },
                {
                    "name": "_admin",
                    "type": "address"
                },
                {
                    "name": "_data",
                    "type": "bytes"
                },
                {
                    "name": "_signature",
                    "type": "bytes"
                }
            ],
            "name": "getSigner",
            "outputs": [
                {
                    "name": "",
                    "type": "address"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_salt",
                    "type": "uint256"
                },
                {
                    "name": "_logic",
                    "type": "address"
                },
                {
                    "name": "_admin",
                    "type": "address"
                },
                {
                    "name": "_data",
                    "type": "bytes"
                },
                {
                    "name": "_signature",
                    "type": "bytes"
                }
            ],
            "name": "deploySigned",
            "outputs": [
                {
                    "name": "",
                    "type": "address"
                }
            ],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_salt",
                    "type": "uint256"
                },
                {
                    "name": "_logic",
                    "type": "address"
                },
                {
                    "name": "_admin",
                    "type": "address"
                },
                {
                    "name": "_data",
                    "type": "bytes"
                }
            ],
            "name": "deploy",
            "outputs": [
                {
                    "name": "",
                    "type": "address"
                }
            ],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [],
            "name": "renounceOwnership",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "_salt",
                    "type": "uint256"
                },
                {
                    "name": "_sender",
                    "type": "address"
                }
            ],
            "name": "getDeploymentAddress",
            "outputs": [
                {
                    "name": "",
                    "type": "address"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [],
            "name": "owner",
            "outputs": [
                {
                    "name": "",
                    "type": "address"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [],
            "name": "isOwner",
            "outputs": [
                {
                    "name": "",
                    "type": "bool"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_logic",
                    "type": "address"
                },
                {
                    "name": "_data",
                    "type": "bytes"
                }
            ],
            "name": "deployMinimal",
            "outputs": [
                {
                    "name": "proxy",
                    "type": "address"
                }
            ],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "newOwner",
                    "type": "address"
                }
            ],
            "name": "transferOwnership",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "name": "security",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "name": "productCategory",
                    "type": "bytes32"
                },
                {
                    "indexed": false,
                    "name": "issuer",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "name": "isin",
                    "type": "bytes32"
                },
                {
                    "indexed": false,
                    "name": "currency",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "name": "restricted",
                    "type": "bool"
                },
                {
                    "indexed": false,
                    "name": "issueManager",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "name": "restrictions",
                    "type": "bytes32[]"
                },
                {
                    "indexed": false,
                    "name": "country",
                    "type": "bytes32"
                }
            ],
            "name": "securitiesAdded",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "name": "previousOwner",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "name": "newOwner",
                    "type": "address"
                }
            ],
            "name": "OwnershipTransferred",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "name": "proxy",
                    "type": "address"
                }
            ],
            "name": "ProxyCreated",
            "type": "event"
        },
        {
            "constant": false,
            "inputs": [],
            "name": "initialize",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_security",
                    "type": "address"
                },
                {
                    "name": "_client",
                    "type": "address"
                },
                {
                    "name": "_owner",
                    "type": "address"
                }
            ],
            "name": "initialize",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "sender",
                    "type": "address"
                }
            ],
            "name": "initialize",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [],
            "name": "getIssues",
            "outputs": [
                {
                    "name": "",
                    "type": "address[]"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "security",
                    "type": "address"
                },
                {
                    "name": "productCategory",
                    "type": "bytes32"
                },
                {
                    "name": "company",
                    "type": "bytes32"
                },
                {
                    "name": "isin",
                    "type": "bytes32"
                },
                {
                    "name": "currency",
                    "type": "address"
                },
                {
                    "name": "issuer",
                    "type": "address"
                },
                {
                    "name": "intermediary",
                    "type": "address"
                },
                {
                    "name": "encodedRestrictions",
                    "type": "bytes"
                },
                {
                    "name": "country",
                    "type": "bytes32"
                },
                {
                    "name": "qualified",
                    "type": "bool"
                }
            ],
            "name": "issueSecurity",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "_securityToken",
                    "type": "address"
                }
            ],
            "name": "getHolder",
            "outputs": [
                {
                    "name": "",
                    "type": "address"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "_securityToken",
                    "type": "address"
                }
            ],
            "name": "getSecurity",
            "outputs": [
                {
                    "name": "",
                    "type": "address"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "_securityToken",
                    "type": "address"
                },
                {
                    "name": "_issuer",
                    "type": "address"
                }
            ],
            "name": "getSecurityToken",
            "outputs": [
                {
                    "name": "",
                    "type": "address"
                },
                {
                    "name": "",
                    "type": "bytes32"
                },
                {
                    "name": "",
                    "type": "bytes32"
                },
                {
                    "name": "",
                    "type": "address"
                },
                {
                    "name": "",
                    "type": "bool"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "security",
                    "type": "address"
                },
                {
                    "name": "transferor",
                    "type": "address"
                },
                {
                    "name": "transferee",
                    "type": "address"
                },
                {
                    "name": "amount",
                    "type": "uint256"
                }
            ],
            "name": "addBalance",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "issue",
                    "type": "address"
                }
            ],
            "name": "checkProduct",
            "outputs": [
                {
                    "name": "",
                    "type": "bool"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_securityToken",
                    "type": "address"
                },
                {
                    "name": "_issuer",
                    "type": "address"
                },
                {
                    "name": "_custodian",
                    "type": "address"
                }
            ],
            "name": "setCustodian",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "_securityToken",
                    "type": "address"
                },
                {
                    "name": "_issuer",
                    "type": "address"
                }
            ],
            "name": "getCustodian",
            "outputs": [
                {
                    "name": "",
                    "type": "address"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_security",
                    "type": "address"
                },
                {
                    "name": "_countries",
                    "type": "bytes32[]"
                }
            ],
            "name": "restrictCountry",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "_security",
                    "type": "address"
                }
            ],
            "name": "getRestrictedCountries",
            "outputs": [
                {
                    "name": "",
                    "type": "bytes32[]"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "_securityToken",
                    "type": "address"
                }
            ],
            "name": "getDP",
            "outputs": [
                {
                    "name": "",
                    "type": "address"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        }
    ]
}
