{
  "contractName": "AvatarNameRegistry",
  "abi": [
    {
      "constant": true,
      "inputs": [],
      "name": "blocksUntilReveal",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "name": "commit",
      "outputs": [
        {
          "name": "commit",
          "type": "bytes32"
        },
        {
          "name": "blockNumber",
          "type": "uint256"
        },
        {
          "name": "revealed",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "manaToken",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "name": "user",
      "outputs": [
        {
          "name": "username",
          "type": "string"
        },
        {
          "name": "metadata",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "price",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "name": "allowed",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_owner",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "_username",
          "type": "string"
        },
        {
          "indexed": false,
          "name": "_metadata",
          "type": "string"
        },
        {
          "indexed": true,
          "name": "_caller",
          "type": "address"
        }
      ],
      "name": "Register",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_owner",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "_metadata",
          "type": "string"
        }
      ],
      "name": "MetadataChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_caller",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_account",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "_allowed",
          "type": "bool"
        }
      ],
      "name": "Allow",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_owner",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_hash",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "_blockNumber",
          "type": "uint256"
        }
      ],
      "name": "CommitUsername",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_owner",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_hash",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "_blockNumber",
          "type": "uint256"
        }
      ],
      "name": "RevealUsername",
      "type": "event"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_mana",
          "type": "address"
        },
        {
          "name": "_register",
          "type": "address"
        },
        {
          "name": "_blocksUntilReveal",
          "type": "uint256"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_account",
          "type": "address"
        },
        {
          "name": "_allowed",
          "type": "bool"
        }
      ],
      "name": "setAllowed",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_beneficiary",
          "type": "address"
        },
        {
          "name": "_username",
          "type": "string"
        },
        {
          "name": "_metadata",
          "type": "string"
        }
      ],
      "name": "registerUsername",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_hash",
          "type": "bytes32"
        }
      ],
      "name": "commitUsername",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_username",
          "type": "string"
        },
        {
          "name": "_metadata",
          "type": "string"
        },
        {
          "name": "_salt",
          "type": "bytes32"
        }
      ],
      "name": "revealUsername",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_username",
          "type": "string"
        },
        {
          "name": "_metadata",
          "type": "string"
        },
        {
          "name": "_salt",
          "type": "bytes32"
        }
      ],
      "name": "getHash",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_metadata",
          "type": "string"
        }
      ],
      "name": "setMetadata",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_user",
          "type": "address"
        }
      ],
      "name": "userExists",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_username",
          "type": "string"
        }
      ],
      "name": "isUsernameAvailable",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    }
  ]
}