"""
Asset Registry Abstract Smart-Contract interface
"""
contract = {
    "address": "0x",
    "abi": [
        {'constant': True, 'inputs': [], 'name': 'db', 'outputs': [{'name': '', 'type': 'address'}], 'payable': False,
         'stateMutability': 'view', 'type': 'function'},
        {'constant': True, 'inputs': [], 'name': 'cooContract', 'outputs': [{'name': '', 'type': 'address'}],
         'payable': False, 'stateMutability': 'view', 'type': 'function'},
        {'constant': True, 'inputs': [{'name': '_role', 'type': 'uint8'}, {'name': '_caller', 'type': 'address'}],
         'name': 'isRole', 'outputs': [{'name': '', 'type': 'bool'}], 'payable': False, 'stateMutability': 'view',
         'type': 'function'}, {'anonymous': False, 'inputs': [{'indexed': False, 'name': 'sender', 'type': 'address'},
                                                              {'indexed': True, 'name': '_assetId', 'type': 'uint256'}],
                               'name': 'LogAssetCreated', 'type': 'event'},
        {'anonymous': False, 'inputs': [{'indexed': True, 'name': '_assetId', 'type': 'uint256'}],
         'name': 'LogAssetFullyInitialized', 'type': 'event'},
        {'anonymous': False, 'inputs': [{'indexed': True, 'name': '_assetId', 'type': 'uint256'}],
         'name': 'LogAssetSetActive', 'type': 'event'},
        {'anonymous': False, 'inputs': [{'indexed': True, 'name': '_assetId', 'type': 'uint256'}],
         'name': 'LogAssetSetInactive', 'type': 'event'},
        {'constant': False, 'inputs': [], 'name': 'createAsset', 'outputs': [], 'payable': False,
         'stateMutability': 'nonpayable', 'type': 'function'},
        {'constant': False, 'inputs': [{'name': '_dbAddress', 'type': 'address'}], 'name': 'init', 'outputs': [],
         'payable': False, 'stateMutability': 'nonpayable', 'type': 'function'}, {'constant': False, 'inputs': [
            {'name': '_assetId', 'type': 'uint256'}, {'name': '_country', 'type': 'bytes32'},
            {'name': '_region', 'type': 'bytes32'}, {'name': '_zip', 'type': 'bytes32'},
            {'name': '_city', 'type': 'bytes32'}, {'name': '_street', 'type': 'bytes32'},
            {'name': '_houseNumber', 'type': 'bytes32'}, {'name': '_gpsLatitude', 'type': 'bytes32'},
            {'name': '_gpsLongitude', 'type': 'bytes32'}], 'name': 'initLocation', 'outputs': [], 'payable': False,
                                                                                  'stateMutability': 'nonpayable',
                                                                                  'type': 'function'},
        {'constant': False, 'inputs': [{'name': '_assetId', 'type': 'uint256'}, {'name': '_active', 'type': 'bool'}],
         'name': 'setActive', 'outputs': [], 'payable': False, 'stateMutability': 'nonpayable', 'type': 'function'},
        {'constant': False, 'inputs': [{'name': '_newLogic', 'type': 'address'}], 'name': 'update', 'outputs': [],
         'payable': False, 'stateMutability': 'nonpayable', 'type': 'function'},
        {'constant': True, 'inputs': [{'name': '_assetId', 'type': 'uint256'}], 'name': 'getActive',
         'outputs': [{'name': '', 'type': 'bool'}], 'payable': False, 'stateMutability': 'view', 'type': 'function'},
        {'constant': True, 'inputs': [{'name': '_assetId', 'type': 'uint256'}], 'name': 'getLastSmartMeterReadFileHash',
         'outputs': [{'name': 'datalog', 'type': 'bytes32'}], 'payable': False, 'stateMutability': 'view',
         'type': 'function'},
        {'constant': True, 'inputs': [], 'name': 'getAssetListLength', 'outputs': [{'name': '', 'type': 'uint256'}],
         'payable': False, 'stateMutability': 'view', 'type': 'function'},
        {'constant': True, 'inputs': [{'name': '_assetId', 'type': 'uint256'}], 'name': 'getAssetLocation',
         'outputs': [{'name': 'country', 'type': 'bytes32'}, {'name': 'region', 'type': 'bytes32'},
                     {'name': 'zip', 'type': 'bytes32'}, {'name': 'city', 'type': 'bytes32'},
                     {'name': 'street', 'type': 'bytes32'}, {'name': 'houseNumber', 'type': 'bytes32'},
                     {'name': 'gpsLatitude', 'type': 'bytes32'}, {'name': 'gpsLongitude', 'type': 'bytes32'}],
         'payable': False, 'stateMutability': 'view', 'type': 'function'}, {'constant': False, 'inputs': [
            {'name': '_assetId', 'type': 'uint256'}, {'name': '_newSmartMeter', 'type': 'address'}],
                                                                            'name': 'updateSmartMeter', 'outputs': [],
                                                                            'payable': False,
                                                                            'stateMutability': 'nonpayable',
                                                                            'type': 'function'}],
    "bytecode": '0x'
}
