{
  "name": "DIDRegistryChangeFunctionSignature",
  "abi": [
    {
      "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": "getDIDRegistrySize",
      "outputs": [
        {
          "name": "size",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x39c035f0"
    },
    {
      "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": "_grantee",
          "type": "address"
        }
      ],
      "name": "getPermission",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x60d6c7cf"
    },
    {
      "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": "getDIDRegisterIds",
      "outputs": [
        {
          "name": "",
          "type": "bytes32[]"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x70c6817a"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0x715018a6"
    },
    {
      "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": "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": "_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": "_grantee",
          "type": "address"
        }
      ],
      "name": "revokePermission",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0xa6a8f17b"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_did",
          "type": "bytes32"
        }
      ],
      "name": "getBlockNumberUpdated",
      "outputs": [
        {
          "name": "blockNumberUpdated",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0xbbc1dede"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_did",
          "type": "bytes32"
        },
        {
          "name": "_grantee",
          "type": "address"
        }
      ],
      "name": "grantPermission",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0xbc586456"
    },
    {
      "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": "_newOwner",
          "type": "address"
        }
      ],
      "name": "transferDIDOwnership",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0xd6f9d5eb"
    },
    {
      "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": false,
          "name": "_did",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "_previousOwner",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "_newOwner",
          "type": "address"
        }
      ],
      "name": "DIDOwnershipTransferred",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_did",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "name": "_owner",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_grantee",
          "type": "address"
        }
      ],
      "name": "DIDPermissionGranted",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_did",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "name": "_owner",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_grantee",
          "type": "address"
        }
      ],
      "name": "DIDPermissionRevoked",
      "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": "_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": "_providers",
          "type": "address[]"
        },
        {
          "name": "_checksum",
          "type": "bytes32"
        },
        {
          "name": "_value",
          "type": "string"
        }
      ],
      "name": "registerAttribute",
      "outputs": [
        {
          "name": "size",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0xb4a987c3"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50611929806100206000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80638da5cb5b116100ad578063bbc1dede11610071578063bbc1dede146105f3578063bc58645614610610578063c4d66de81461063c578063d6f9d5eb14610662578063f2fde38b1461068e57610121565b80638da5cb5b146104565780638f32d59b1461045e578063a2d28d4614610466578063a6a8f17b14610492578063b4a987c3146104be57610121565b806360d6c7cf116100f457806360d6c7cf146103635780636c2ef5241461038f57806370c6817a146103c8578063715018a6146104205780637ac5f7c81461042a57610121565b806322c6b5191461012657806339c035f0146101d75780633c6aa7b7146101f1578063534eb70614610231575b600080fd5b6101436004803603602081101561013c57600080fd5b50356106b4565b60405180866001600160a01b03166001600160a01b03168152602001858152602001846001600160a01b03166001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019060200280838360005b838110156101bf5781810151838201526020016101a7565b50505050905001965050505050505060405180910390f35b6101df61074e565b60408051918252519081900360200190f35b61021d6004803603604081101561020757600080fd5b50803590602001356001600160a01b0316610754565b604080519115158252519081900360200190f35b6101df6004803603608081101561024757600080fd5b813591602081013591810190606081016040820135600160201b81111561026d57600080fd5b82018360208201111561027f57600080fd5b803590602001918460208302840111600160201b831117156102a057600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b8111156102ef57600080fd5b82018360208201111561030157600080fd5b803590602001918460018302840111600160201b8311171561032257600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506107f6945050505050565b61021d6004803603604081101561037957600080fd5b50803590602001356001600160a01b0316610a6a565b6103ac600480360360208110156103a557600080fd5b5035610a7d565b604080516001600160a01b039092168252519081900360200190f35b6103d0610a98565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561040c5781810151838201526020016103f4565b505050509050019250505060405180910390f35b610428610af3565b005b6104286004803603604081101561044057600080fd5b50803590602001356001600160a01b0316610b4e565b6103ac610c0f565b61021d610c1e565b6104286004803603604081101561047c57600080fd5b50803590602001356001600160a01b0316610c2f565b610428600480360360408110156104a857600080fd5b50803590602001356001600160a01b0316610ce3565b6101df600480360360808110156104d457600080fd5b81359190810190604081016020820135600160201b8111156104f557600080fd5b82018360208201111561050757600080fd5b803590602001918460208302840111600160201b8311171561052857600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092958435959094909350604081019250602001359050600160201b81111561057f57600080fd5b82018360208201111561059157600080fd5b803590602001918460018302840111600160201b831117156105b257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610d4c945050505050565b6101df6004803603602081101561060957600080fd5b5035610faa565b6104286004803603604081101561062657600080fd5b50803590602001356001600160a01b0316610fbf565b6104286004803603602081101561065257600080fd5b50356001600160a01b0316611023565b6104286004803603604081101561067857600080fd5b50803590602001356001600160a01b03166110d2565b610428600480360360208110156106a457600080fd5b50356001600160a01b03166111a8565b6000818152606660209081526040918290208054600182015460028301546003840154600490940180548751818802810188019098528088526001600160a01b039485169793969290941694936060939283018282801561073e57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610720575b5050505050905091939590929450565b60675490565b60408051600160e01b63fc977f2f02815260666004820152602481018490526001600160a01b0383166044820152905160009173__DIDRegistryLibrary____________________9163fc977f2f91606480820192602092909190829003018186803b1580156107c357600080fd5b505af41580156107d7573d6000803e3d6000fd5b505050506040513d60208110156107ed57600080fd5b50519392505050565b6000848152606660205260408120546001600160a01b0316158061083057506000858152606660205260409020546001600160a01b031633145b61086e57604051600160e51b62461bcd0281526004018080602001828103825260308152602001806118a06030913960400191505060405180910390fd5b610800825111156108c15760408051600160e51b62461bcd0281526020600482015260126024820152600160701b71496e76616c69642076616c75652073697a6502604482015290519081900360640190fd5b60408051600160e01b6336e2d0c9028152606660048201526024810187905260448101869052905160009173__DIDRegistryLibrary____________________916336e2d0c991606480820192602092909190829003018186803b15801561092857600080fd5b505af415801561093c573d6000803e3d6000fd5b505050506040513d602081101561095257600080fd5b5051905060005b84518110156109935761098b8786838151811061097257fe5b602002602001015160666111c59092919063ffffffff16565b600101610959565b5060008681526066602090815260408083205481513381850181905243938201849052606080835289519083015288518b966001600160a01b03909416958d957f8f8b755e50eb4efaa1a82e62cbfe4c58d83374b2f20db5960764ba69e062ae43958c959193919283926080840192918801918190849084905b83811015610a25578181015183820152602001610a0d565b50505050905090810190601f168015610a525780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a495945050505050565b6000610a7683836112bc565b9392505050565b6000908152606660205260409020546001600160a01b031690565b60606066600101805480602002602001604051908101604052809291908181526020018280548015610ae957602002820191906000526020600020905b815481526020019060010190808311610ad5575b5050505050905090565b610afb610c1e565b610b0457600080fd5b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380546001600160a01b0319169055565b60008281526066602052604090205482906001600160a01b03163314610ba857604051600160e51b62461bcd02815260040180806020018281038252602d815260200180611873602d913960400191505060405180910390fd5b6000610bbc6066858563ffffffff6112e716565b604080518681526001600160a01b03861660208201528215158183015290519192507fa34c94e3893406b9fa302e5fbe4335b0cc46ca311d7ea24545426ec223a94f41919081900360600190a150505050565b6033546001600160a01b031690565b6033546001600160a01b0316331490565b60008281526066602052604090205482906001600160a01b03163314610c8957604051600160e51b62461bcd02815260040180806020018281038252602d815260200180611873602d913960400191505060405180910390fd5b610c9b6066848463ffffffff6111c516565b604080518481526001600160a01b038416602082015281517f0c22bba9f36f0f2a7884650bedf42ce7b026851b573c93e4d8cd51f73eceda0f929181900390910190a1505050565b60008281526066602052604090205482906001600160a01b03163314610d3d57604051600160e51b62461bcd02815260040180806020018281038252602d815260200180611873602d913960400191505060405180910390fd5b610d4783836113ab565b505050565b6000848152606660205260408120546001600160a01b03161580610d8657506000858152606660205260409020546001600160a01b031633145b610dc457604051600160e51b62461bcd0281526004018080602001828103825260308152602001806118a06030913960400191505060405180910390fd5b61080082511115610e175760408051600160e51b62461bcd0281526020600482015260126024820152600160701b71496e76616c69642076616c75652073697a6502604482015290519081900360640190fd5b60408051600160e01b6336e2d0c9028152606660048201526024810187905260448101859052905173__DIDRegistryLibrary____________________916336e2d0c9916064808301926020929190829003018186803b158015610e7a57600080fd5b505af4158015610e8e573d6000803e3d6000fd5b505050506040513d6020811015610ea457600080fd5b50600090505b8451811015610ecb57610ec38686838151811061097257fe5b600101610eaa565b50600085815260666020908152604080832054815133818501819052439382018490526060808352885190830152875189966001600160a01b03909416958c957f8f8b755e50eb4efaa1a82e62cbfe4c58d83374b2f20db5960764ba69e062ae43958b959193919283926080840192918801918190849084905b83811015610f5d578181015183820152602001610f45565b50505050905090810190601f168015610f8a5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a4610fa161074e565b95945050505050565b60009081526066602052604090206003015490565b60008281526066602052604090205482906001600160a01b0316331461101957604051600160e51b62461bcd02815260040180806020018281038252602d815260200180611873602d913960400191505060405180910390fd5b610d47838361147e565b600054610100900460ff168061103c575061103c611538565b8061104a575060005460ff16155b61108857604051600160e51b62461bcd02815260040180806020018281038252602e8152602001806118d0602e913960400191505060405180910390fd5b600054610100900460ff161580156110b3576000805460ff1961ff0019909116610100171660011790555b6110bc8261153e565b80156110ce576000805461ff00191690555b5050565b60008281526066602052604090205482906001600160a01b0316331461112c57604051600160e51b62461bcd02815260040180806020018281038252602d815260200180611873602d913960400191505060405180910390fd5b6000838152606660208190526040909120546001600160a01b03169061115990858563ffffffff61163216565b604080518581526001600160a01b03808416602083015285168183015290517fe36e06a31618f1e5c2057e2d659c72bb4d1e19526236dc13052a483978b55ea29181900360600190a150505050565b6111b0610c1e565b6111b957600080fd5b6111c281611730565b50565b6001600160a01b0381166112235760408051600160e51b62461bcd02815260206004820152601e60248201527f496e76616c69642061737365742070726f766964657220616464726573730000604482015290519081900360640190fd5b6001600160a01b03811630141561126e57604051600160e51b62461bcd0281526004018080602001828103825260308152602001806118436030913960400191505060405180910390fd5b61127983838361179f565b610d47576000828152602084815260408220600401805460018101825590835291200180546001600160a01b0383166001600160a01b0319909116179055505050565b60009182526068602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60006001600160a01b0382166113475760408051600160e51b62461bcd02815260206004820152601e60248201527f496e76616c69642061737365742070726f766964657220616464726573730000604482015290519081900360640190fd5b60006113548585856117ce565b905080600019141561136a576000915050610a76565b600084815260208690526040902060040180548290811061138757fe5b600091825260209091200180546001600160a01b0319169055506001949350505050565b60008281526068602090815260408083206001600160a01b038516845290915290205460ff166114255760408051600160e51b62461bcd02815260206004820152601b60248201527f4772616e74656520616c726561647920776173207265766f6b65640000000000604482015290519081900360640190fd5b60008281526068602090815260408083206001600160a01b0385168085529252808320805460ff19169055519091339185917ff511018c667fb6eda32b85f42e7888d1cd1d5ec5b2b1147e6d26e946fde22d0d91a45050565b6001600160a01b0381166114dc5760408051600160e51b62461bcd02815260206004820152601760248201527f496e76616c6964206772616e7465652061646472657373000000000000000000604482015290519081900360640190fd5b60008281526068602090815260408083206001600160a01b0385168085529252808320805460ff19166001179055519091339185917faf464968a4f66dada6a1a5a33bd6c431a5dde662dd7d6aa715462130ec86d84591a45050565b303b1590565b600054610100900460ff16806115575750611557611538565b80611565575060005460ff16155b6115a357604051600160e51b62461bcd02815260040180806020018281038252602e8152602001806118d0602e913960400191505060405180910390fd5b600054610100900460ff161580156115ce576000805460ff1961ff0019909116610100171660011790555b603380546001600160a01b0319166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a380156110ce576000805461ff00191690555050565b6001600160a01b0381166116905760408051600160e51b62461bcd02815260206004820152601d60248201527f496e76616c6964206e657720444944206f776e65722061646472657373000000604482015290519081900360640190fd5b6000828152602084905260409020546001600160a01b03828116911614156117025760408051600160e51b62461bcd02815260206004820181905260248201527f4e6577204f776e657220697320616c7265616479206120444944206f776e6572604482015290519081900360640190fd5b60009182526020929092526040902080546001600160a01b0319166001600160a01b03909216919091179055565b6001600160a01b03811661174357600080fd5b6033546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603380546001600160a01b0319166001600160a01b0392909216919091179055565b6000806117ad8585856117ce565b90508060001914156117c3576000915050610a76565b506001949350505050565b6000805b60008481526020869052604090206004015481101561183657600084815260208690526040902060040180548290811061180857fe5b6000918252602090912001546001600160a01b038481169116141561182e579050610a76565b6001016117d2565b5060001994935050505056fe4449442070726f76696465722073686f756c64206e6f74206265207468697320636f6e74726163742061646472657373496e76616c696420444944206f776e65722063616e20706572666f726d2074686973206f7065726174696f6e2e41747472696275746573206d75737420626520726567697374657265642062792074686520444944206f776e6572732e436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a165627a7a72305820362d977953136d51a0bd2b4ee985675da493d8dcfff6b6ab9c6c9cc659819ef10029",
  "address": "0xE45A4c2dD07C582F6206038D528BeE332de5d4b4",
  "implementation": "0xf0C03043eBfEBFaD240E7eB73E34d02ea3c800Ea",
  "version": "v0.13.2"
}