{
  "name": "DIDRegistry",
  "abi": [
    {
      "constant": false,
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0x715018a6"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x8da5cb5b"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "isOwner",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x8f32d59b"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0xf2fde38b"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_did",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "name": "_owner",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_checksum",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "_value",
          "type": "string"
        },
        {
          "indexed": false,
          "name": "_lastUpdatedBy",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "_blockNumberUpdated",
          "type": "uint256"
        }
      ],
      "name": "DIDAttributeRegistered",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "_did",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "_provider",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "state",
          "type": "bool"
        }
      ],
      "name": "DIDProviderRemoved",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "_did",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "_provider",
          "type": "address"
        }
      ],
      "name": "DIDProviderAdded",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_owner",
          "type": "address"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0xc4d66de8"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_did",
          "type": "bytes32"
        },
        {
          "name": "_checksum",
          "type": "bytes32"
        },
        {
          "name": "_providers",
          "type": "address[]"
        },
        {
          "name": "_value",
          "type": "string"
        }
      ],
      "name": "registerAttribute",
      "outputs": [
        {
          "name": "size",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0x534eb706"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_did",
          "type": "bytes32"
        },
        {
          "name": "_provider",
          "type": "address"
        }
      ],
      "name": "addDIDProvider",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0xa2d28d46"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_did",
          "type": "bytes32"
        },
        {
          "name": "_provider",
          "type": "address"
        }
      ],
      "name": "removeDIDProvider",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0x7ac5f7c8"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_did",
          "type": "bytes32"
        },
        {
          "name": "_provider",
          "type": "address"
        }
      ],
      "name": "isDIDProvider",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x3c6aa7b7"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_did",
          "type": "bytes32"
        }
      ],
      "name": "getDIDRegister",
      "outputs": [
        {
          "name": "owner",
          "type": "address"
        },
        {
          "name": "lastChecksum",
          "type": "bytes32"
        },
        {
          "name": "lastUpdatedBy",
          "type": "address"
        },
        {
          "name": "blockNumberUpdated",
          "type": "uint256"
        },
        {
          "name": "providers",
          "type": "address[]"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x22c6b519"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_did",
          "type": "bytes32"
        }
      ],
      "name": "getBlockNumberUpdated",
      "outputs": [
        {
          "name": "blockNumberUpdated",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0xbbc1dede"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_did",
          "type": "bytes32"
        }
      ],
      "name": "getDIDOwner",
      "outputs": [
        {
          "name": "didOwner",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x6c2ef524"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getDIDRegistrySize",
      "outputs": [
        {
          "name": "size",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x39c035f0"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getDIDRegisterIds",
      "outputs": [
        {
          "name": "",
          "type": "bytes32[]"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x70c6817a"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50611193806100206000396000f3fe608060405234801561001057600080fd5b5060043610610107576000357c0100000000000000000000000000000000000000000000000000000000900480637ac5f7c8116100a9578063a2d28d4611610083578063a2d28d4614610424578063bbc1dede14610450578063c4d66de81461046d578063f2fde38b1461049357610107565b80637ac5f7c8146103e85780638da5cb5b146104145780638f32d59b1461041c57610107565b8063534eb706116100e5578063534eb706146102175780636c2ef5241461034d57806370c6817a14610386578063715018a6146103de57610107565b806322c6b5191461010c57806339c035f0146101bd5780633c6aa7b7146101d7575b600080fd5b6101296004803603602081101561012257600080fd5b50356104b9565b6040518086600160a060020a0316600160a060020a0316815260200185815260200184600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019060200280838360005b838110156101a557818101518382015260200161018d565b50505050905001965050505050505060405180910390f35b6101c5610553565b60408051918252519081900360200190f35b610203600480360360408110156101ed57600080fd5b5080359060200135600160a060020a0316610559565b604080519115158252519081900360200190f35b6101c56004803603608081101561022d57600080fd5b81359160208101359181019060608101604082013564010000000081111561025457600080fd5b82018360208201111561026657600080fd5b8035906020019184602083028401116401000000008311171561028857600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092959493602081019350359150506401000000008111156102d857600080fd5b8201836020820111156102ea57600080fd5b8035906020019184600183028401116401000000008311171561030c57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610611945050505050565b61036a6004803603602081101561036357600080fd5b50356108fd565b60408051600160a060020a039092168252519081900360200190f35b61038e610918565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103ca5781810151838201526020016103b2565b505050509050019250505060405180910390f35b6103e6610973565b005b6103e6600480360360408110156103fe57600080fd5b5080359060200135600160a060020a03166109db565b61036a610ab2565b610203610ac1565b6103e66004803603604081101561043a57600080fd5b5080359060200135600160a060020a0316610ad2565b6101c56004803603602081101561046657600080fd5b5035610bf6565b6103e66004803603602081101561048357600080fd5b5035600160a060020a0316610c0b565b6103e6600480360360208110156104a957600080fd5b5035600160a060020a0316610cba565b600081815260666020908152604091829020805460018201546002830154600384015460049094018054875181880281018801909852808852600160a060020a039485169793969290941694936060939283018282801561054357602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610525575b5050505050905091939590929450565b60675490565b604080517ffc977f2f0000000000000000000000000000000000000000000000000000000081526066600482015260248101849052600160a060020a0383166044820152905160009173__DIDRegistryLibrary____________________9163fc977f2f91606480820192602092909190829003018186803b1580156105de57600080fd5b505af41580156105f2573d6000803e3d6000fd5b505050506040513d602081101561060857600080fd5b50519392505050565b600084815260666020526040812054600160a060020a0316158061064b5750600085815260666020526040902054600160a060020a031633145b6106895760405160e560020a62461bcd02815260040180806020018281038252603081526020018061110a6030913960400191505060405180910390fd5b610800825111156106e4576040805160e560020a62461bcd02815260206004820152601260248201527f496e76616c69642076616c75652073697a650000000000000000000000000000604482015290519081900360640190fd5b604080517f36e2d0c9000000000000000000000000000000000000000000000000000000008152606660048201526024810187905260448101869052905160009173__DIDRegistryLibrary____________________916336e2d0c991606480820192602092909190829003018186803b15801561076157600080fd5b505af4158015610775573d6000803e3d6000fd5b505050506040513d602081101561078b57600080fd5b5051905060005b84518110156108265760006107c6888784815181106107ad57fe5b60200260200101516066610cd79092919063ffffffff16565b90508061081d576040805160e560020a62461bcd02815260206004820152601660248201527f70726f766964657220776173206e6f7420616464656400000000000000000000604482015290519081900360640190fd5b50600101610792565b5060008681526066602090815260408083205481513381850181905243938201849052606080835289519083015288518b96600160a060020a03909416958d957f8f8b755e50eb4efaa1a82e62cbfe4c58d83374b2f20db5960764ba69e062ae43958c959193919283926080840192918801918190849084905b838110156108b85781810151838201526020016108a0565b50505050905090810190601f1680156108e55780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a495945050505050565b600090815260666020526040902054600160a060020a031690565b6060606660010180548060200260200160405190810160405280929190818152602001828054801561096957602002820191906000526020600020905b815481526020019060010190808311610955575b5050505050905090565b61097b610ac1565b61098457600080fd5b603354604051600091600160a060020a0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36033805473ffffffffffffffffffffffffffffffffffffffff19169055565b6000828152606660205260409020548290600160a060020a03163314610a4b576040805160e560020a62461bcd02815260206004820152601160248201527f496e76616c696420444944206f776e6572000000000000000000000000000000604482015290519081900360640190fd5b6000610a5f6066858563ffffffff610de216565b60408051868152600160a060020a03861660208201528215158183015290519192507fa34c94e3893406b9fa302e5fbe4335b0cc46ca311d7ea24545426ec223a94f41919081900360600190a150505050565b603354600160a060020a031690565b603354600160a060020a0316331490565b6000828152606660205260409020548290600160a060020a03163314610b42576040805160e560020a62461bcd02815260206004820152601160248201527f496e76616c696420444944206f776e6572000000000000000000000000000000604482015290519081900360640190fd5b6000610b566066858563ffffffff610cd716565b905080610bad576040805160e560020a62461bcd02815260206004820152601660248201527f70726f766964657220776173206e6f7420616464656400000000000000000000604482015290519081900360640190fd5b60408051858152600160a060020a038516602082015281517f0c22bba9f36f0f2a7884650bedf42ce7b026851b573c93e4d8cd51f73eceda0f929181900390910190a150505050565b60009081526066602052604090206003015490565b600054610100900460ff1680610c245750610c24610eb3565b80610c32575060005460ff16155b610c705760405160e560020a62461bcd02815260040180806020018281038252602e81526020018061113a602e913960400191505060405180910390fd5b600054610100900460ff16158015610c9b576000805460ff1961ff0019909116610100171660011790555b610ca482610eb9565b8015610cb6576000805461ff00191690555b5050565b610cc2610ac1565b610ccb57600080fd5b610cd481610fba565b50565b6000600160a060020a038216610d37576040805160e560020a62461bcd02815260206004820152601e60248201527f496e76616c69642061737365742070726f766964657220616464726573730000604482015290519081900360640190fd5b600160a060020a038216301415610d825760405160e560020a62461bcd0281526004018080602001828103825260308152602001806110da6030913960400191505060405180910390fd5b610d8d848484611036565b610dd75760008381526020858152604082206004018054600181018255908352912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384161790555b5060015b9392505050565b6000600160a060020a038216610e42576040805160e560020a62461bcd02815260206004820152601e60248201527f496e76616c69642061737365742070726f766964657220616464726573730000604482015290519081900360640190fd5b6000610e4f858585611065565b9050806000191415610e65576000915050610ddb565b6000848152602086905260409020600401805482908110610e8257fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19169055506001949350505050565b303b1590565b600054610100900460ff1680610ed25750610ed2610eb3565b80610ee0575060005460ff16155b610f1e5760405160e560020a62461bcd02815260040180806020018281038252602e81526020018061113a602e913960400191505060405180910390fd5b600054610100900460ff16158015610f49576000805460ff1961ff0019909116610100171660011790555b6033805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a38015610cb6576000805461ff00191690555050565b600160a060020a038116610fcd57600080fd5b603354604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36033805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600080611044858585611065565b905080600019141561105a576000915050610ddb565b506001949350505050565b6000805b6000848152602086905260409020600401548110156110cd57600084815260208690526040902060040180548290811061109f57fe5b600091825260209091200154600160a060020a03848116911614156110c5579050610ddb565b600101611069565b5060001994935050505056fe4449442070726f76696465722073686f756c64206e6f74206265207468697320636f6e7472616374206164647265737341747472696275746573206d75737420626520726567697374657265642062792074686520444944206f776e6572732e436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a165627a7a7230582094de876c87e7581383335a419e2764fc97b93e222225f82baf45242da15413f50029",
  "address": "0xC4A1D6d4778C9A17D5e37797dA2FaB48FA9d01f6",
  "implementation": "0xA2A6D715791CE06deEBdBa7f6064DD1f8c762206",
  "version": "v0.10.3"
}
