{
  "contractName": "RegisteredWalletArbitrator",
  "abi": [
    {
      "constant": true,
      "inputs": [],
      "name": "realitycheck",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "fee",
          "type": "uint256"
        }
      ],
      "name": "setDisputeFee",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "metadata",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "question_id",
          "type": "bytes32"
        },
        {
          "name": "fee",
          "type": "uint256"
        }
      ],
      "name": "setCustomDisputeFee",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "fee",
          "type": "uint256"
        }
      ],
      "name": "setQuestionFee",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "addr",
          "type": "address"
        }
      ],
      "name": "withdraw",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "addr",
          "type": "address"
        }
      ],
      "name": "setRealitio",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_token",
          "type": "address"
        },
        {
          "name": "addr",
          "type": "address"
        }
      ],
      "name": "withdrawERC20",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "arbitration_bounties",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "question_id",
          "type": "bytes32"
        }
      ],
      "name": "getDisputeFee",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "question_id",
          "type": "bytes32"
        },
        {
          "name": "max_previous",
          "type": "uint256"
        }
      ],
      "name": "requestArbitration",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": true,
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "realitio",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "question_id",
          "type": "bytes32"
        },
        {
          "name": "answer",
          "type": "bytes32"
        },
        {
          "name": "payee_if_wrong",
          "type": "address"
        },
        {
          "name": "last_history_hash",
          "type": "bytes32"
        },
        {
          "name": "last_answer_or_commitment_id",
          "type": "bytes32"
        },
        {
          "name": "last_answerer",
          "type": "address"
        }
      ],
      "name": "assignWinnerAndSubmitAnswerByArbitrator",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_metadata",
          "type": "string"
        }
      ],
      "name": "setMetaData",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "question_id",
          "type": "bytes32"
        }
      ],
      "name": "cancelArbitration",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "question_id",
          "type": "bytes32"
        },
        {
          "name": "answer",
          "type": "bytes32"
        },
        {
          "name": "answerer",
          "type": "address"
        }
      ],
      "name": "submitAnswerByArbitrator",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "payable": true,
      "stateMutability": "payable",
      "type": "fallback"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "question_id",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "fee_paid",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "requester",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "remaining",
          "type": "uint256"
        }
      ],
      "name": "LogRequestArbitration",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "realitio",
          "type": "address"
        }
      ],
      "name": "LogSetRealitio",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "fee",
          "type": "uint256"
        }
      ],
      "name": "LogSetQuestionFee",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "fee",
          "type": "uint256"
        }
      ],
      "name": "LogSetDisputeFee",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "question_id",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "fee",
          "type": "uint256"
        }
      ],
      "name": "LogSetCustomDisputeFee",
      "type": "event"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "callWithdraw",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_token",
          "type": "address"
        }
      ],
      "name": "withdrawToRegisteredWalletERC20",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "withdrawToRegisteredWallet",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "addr",
          "type": "address"
        }
      ],
      "name": "updateRegisteredWallet",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405260008054600160a060020a03199081163390811790911617905561122e8061002d6000396000f3006080604052600436106101275763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630c2a48e2811461012957806317299c041461015a578063392f37e9146101725780634102441e146101fc5780634381a07b1461021d5780634df6ca2a1461023857806351cff8d91461025057806379ca21a2146102715780637a3996a3146102925780638da5cb5b146102a75780639456fbcc146102bc578063a0eee214146102e3578063a20dd43b14610304578063a22352e21461032e578063a829c3d114610346578063bc8802a214610368578063d44e293c1461037d578063d821f81a146103b2578063dad901be1461040b578063ebbdd2b014610420578063f2fde38b14610438578063fe92049d14610459575b005b34801561013557600080fd5b5061013e610480565b60408051600160a060020a039092168252519081900360200190f35b34801561016657600080fd5b50610127600435610490565b34801561017e57600080fd5b506101876104e2565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101c15781810151838201526020016101a9565b50505050905090810190601f1680156101ee5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561020857600080fd5b50610127600160a060020a0360043516610570565b34801561022957600080fd5b506101276004356024356105b6565b34801561024457600080fd5b50610127600435610618565b34801561025c57600080fd5b50610127600160a060020a03600435166106e4565b34801561027d57600080fd5b50610127600160a060020a0360043516610735565b34801561029e57600080fd5b506101276107ad565b3480156102b357600080fd5b5061013e61084c565b3480156102c857600080fd5b50610127600160a060020a036004358116906024351661085b565b3480156102ef57600080fd5b50610127600160a060020a03600435166109a0565b34801561031057600080fd5b5061031c600435610b34565b60408051918252519081900360200190f35b34801561033a57600080fd5b5061031c600435610b46565b610354600435602435610b79565b604080519115158252519081900360200190f35b34801561037457600080fd5b5061013e610e59565b34801561038957600080fd5b50610127600435602435600160a060020a03604435811690606435906084359060a43516610e68565b3480156103be57600080fd5b506040805160206004803580820135601f8101849004840285018401909552848452610127943694929360249392840191908190840183828082843750949750610f359650505050505050565b34801561041757600080fd5b50610127610f5f565b34801561042c57600080fd5b50610127600435610fdf565b34801561044457600080fd5b50610127600160a060020a0360043516611070565b34801561046557600080fd5b50610127600435602435600160a060020a03604435166110b6565b600154600160a060020a03165b90565b600054600160a060020a031633146104a757600080fd5b60038190556040805182815290517fbc1292d8ca346c1397b1176ce2935afd34c4365fece415b14e3a9242eae388f59181900360200190a150565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105685780601f1061053d57610100808354040283529160200191610568565b820191906000526020600020905b81548152906001019060200180831161054b57829003601f168201915b505050505081565b600054600160a060020a0316331461058757600080fd5b6006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a031633146105cd57600080fd5b6000828152600460209081526040918290208390558151838152915184927fe4887440991624b147d2129ab0befa8c1df4cff87b22513c8eea7cb16ed2aaf292908290030190a25050565b600054600160a060020a0316331461062f57600080fd5b600154604080517f4df6ca2a000000000000000000000000000000000000000000000000000000008152600481018490529051600160a060020a0390921691634df6ca2a9160248082019260009290919082900301818387803b15801561069557600080fd5b505af11580156106a9573d6000803e3d6000fd5b50506040805184815290517f173ec7037500587e8ac3402cac8426c5c2bac605eabd93f790422e621633d7119350908190036020019150a150565b600054600160a060020a031633146106fb57600080fd5b604051600160a060020a03821690303180156108fc02916000818181858888f19350505050158015610731573d6000803e3d6000fd5b5050565b600054600160a060020a0316331461074c57600080fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f568b4ce4fc4d09c939362effe33053025b93088cab521fc476f469966c7efdd59181900360200190a150565b600654600160a060020a0316151561080f576040805160e560020a62461bcd02815260206004820152601760248201527f4e6f2077616c6c65742069732072656769737465726564000000000000000000604482015290519081900360640190fd5b600654604051600160a060020a0390911690303180156108fc02916000818181858888f19350505050158015610849573d6000803e3d6000fd5b50565b600054600160a060020a031681565b60008054600160a060020a0316331461087357600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038516916370a082319160248083019260209291908290030181600087803b1580156108d457600080fd5b505af11580156108e8573d6000803e3d6000fd5b505050506040513d60208110156108fe57600080fd5b5051604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0385811660048301526024820184905291519293509085169163a9059cbb916044808201926020929091908290030181600087803b15801561096f57600080fd5b505af1158015610983573d6000803e3d6000fd5b505050506040513d602081101561099957600080fd5b5050505050565b600654600090600160a060020a03161515610a05576040805160e560020a62461bcd02815260206004820152601760248201527f4e6f2077616c6c65742069732072656769737465726564000000000000000000604482015290519081900360640190fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038416916370a082319160248083019260209291908290030181600087803b158015610a6657600080fd5b505af1158015610a7a573d6000803e3d6000fd5b505050506040513d6020811015610a9057600080fd5b5051600654604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810184905290519293509084169163a9059cbb916044808201926020929091908290030181600087803b158015610b0457600080fd5b505af1158015610b18573d6000803e3d6000fd5b505050506040513d6020811015610b2e57600080fd5b50505050565b60026020526000908152604090205481565b6000818152600460205260408120548110610b6357600354610b73565b6000828152600460205260409020545b92915050565b6000806000610b8785610b46565b915060008211610c07576040805160e560020a62461bcd02815260206004820152603c60248201527f5468652061726269747261746f72206d7573742068617665207365742061206e60448201527f6f6e2d7a65726f2066656520666f7220746865207175657374696f6e00000000606482015290519081900360840190fd5b5060008481526002602052604090208054340190819055818110610cfb57600154604080517ff6a94ecb00000000000000000000000000000000000000000000000000000000815260048101889052336024820152604481018790529051600160a060020a039092169163f6a94ecb9160648082019260009290919082900301818387803b158015610c9857600080fd5b505af1158015610cac573d6000803e3d6000fd5b50506040805134815233602082015260008183015290518893507fdf8a830581aa05b0b824a0c184007c33a1ad9100a41751c9ded9f2b4fefb16ba92509081900360600190a260019250610e51565b600154604080517f7f8d429e000000000000000000000000000000000000000000000000000000008152600481018890529051600160a060020a0390921691637f8d429e916024808201926020929091908290030181600087803b158015610d6257600080fd5b505af1158015610d76573d6000803e3d6000fd5b505050506040513d6020811015610d8c57600080fd5b505115610e09576040805160e560020a62461bcd02815260206004820152602960248201527f546865207175657374696f6e206d757374206e6f742068617665206265656e2060448201527f66696e616c697a65640000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6040805134815233602082015282840381830152905186917fdf8a830581aa05b0b824a0c184007c33a1ad9100a41751c9ded9f2b4fefb16ba919081900360600190a2600092505b505092915050565b600154600160a060020a031681565b600054600160a060020a03163314610e7f57600080fd5b60008681526002602052604080822082905560015481517fd44e293c000000000000000000000000000000000000000000000000000000008152600481018a905260248101899052600160a060020a038881166044830152606482018890526084820187905285811660a48301529251929091169263d44e293c9260c48084019382900301818387803b158015610f1557600080fd5b505af1158015610f29573d6000803e3d6000fd5b50505050505050505050565b600054600160a060020a03163314610f4c57600080fd5b805161073190600590602084019061116a565b600160009054906101000a9004600160a060020a0316600160a060020a0316633ccfd60b6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b158015610fcb57600080fd5b505af1158015610b2e573d6000803e3d6000fd5b600054600160a060020a03163314610ff657600080fd5b600154604080517febbdd2b0000000000000000000000000000000000000000000000000000000008152600481018490529051600160a060020a039092169163ebbdd2b09160248082019260009290919082900301818387803b15801561105c57600080fd5b505af1158015610999573d6000803e3d6000fd5b600054600160a060020a0316331461108757600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a031633146110cd57600080fd5b60008381526002602052604080822082905560015481517ffe92049d0000000000000000000000000000000000000000000000000000000081526004810187905260248101869052600160a060020a0385811660448301529251929091169263fe92049d9260648084019382900301818387803b15801561114d57600080fd5b505af1158015611161573d6000803e3d6000fd5b50505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106111ab57805160ff19168380011785556111d8565b828001600101855582156111d8579182015b828111156111d85782518255916020019190600101906111bd565b506111e49291506111e8565b5090565b61048d91905b808211156111e457600081556001016111ee5600a165627a7a723058208a1110c2715b12e737705fa8a0b654496e05944f47cb871cf10c19bafe5fdd460029",
  "deployedBytecode": "0x6080604052600436106101275763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630c2a48e2811461012957806317299c041461015a578063392f37e9146101725780634102441e146101fc5780634381a07b1461021d5780634df6ca2a1461023857806351cff8d91461025057806379ca21a2146102715780637a3996a3146102925780638da5cb5b146102a75780639456fbcc146102bc578063a0eee214146102e3578063a20dd43b14610304578063a22352e21461032e578063a829c3d114610346578063bc8802a214610368578063d44e293c1461037d578063d821f81a146103b2578063dad901be1461040b578063ebbdd2b014610420578063f2fde38b14610438578063fe92049d14610459575b005b34801561013557600080fd5b5061013e610480565b60408051600160a060020a039092168252519081900360200190f35b34801561016657600080fd5b50610127600435610490565b34801561017e57600080fd5b506101876104e2565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101c15781810151838201526020016101a9565b50505050905090810190601f1680156101ee5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561020857600080fd5b50610127600160a060020a0360043516610570565b34801561022957600080fd5b506101276004356024356105b6565b34801561024457600080fd5b50610127600435610618565b34801561025c57600080fd5b50610127600160a060020a03600435166106e4565b34801561027d57600080fd5b50610127600160a060020a0360043516610735565b34801561029e57600080fd5b506101276107ad565b3480156102b357600080fd5b5061013e61084c565b3480156102c857600080fd5b50610127600160a060020a036004358116906024351661085b565b3480156102ef57600080fd5b50610127600160a060020a03600435166109a0565b34801561031057600080fd5b5061031c600435610b34565b60408051918252519081900360200190f35b34801561033a57600080fd5b5061031c600435610b46565b610354600435602435610b79565b604080519115158252519081900360200190f35b34801561037457600080fd5b5061013e610e59565b34801561038957600080fd5b50610127600435602435600160a060020a03604435811690606435906084359060a43516610e68565b3480156103be57600080fd5b506040805160206004803580820135601f8101849004840285018401909552848452610127943694929360249392840191908190840183828082843750949750610f359650505050505050565b34801561041757600080fd5b50610127610f5f565b34801561042c57600080fd5b50610127600435610fdf565b34801561044457600080fd5b50610127600160a060020a0360043516611070565b34801561046557600080fd5b50610127600435602435600160a060020a03604435166110b6565b600154600160a060020a03165b90565b600054600160a060020a031633146104a757600080fd5b60038190556040805182815290517fbc1292d8ca346c1397b1176ce2935afd34c4365fece415b14e3a9242eae388f59181900360200190a150565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105685780601f1061053d57610100808354040283529160200191610568565b820191906000526020600020905b81548152906001019060200180831161054b57829003601f168201915b505050505081565b600054600160a060020a0316331461058757600080fd5b6006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a031633146105cd57600080fd5b6000828152600460209081526040918290208390558151838152915184927fe4887440991624b147d2129ab0befa8c1df4cff87b22513c8eea7cb16ed2aaf292908290030190a25050565b600054600160a060020a0316331461062f57600080fd5b600154604080517f4df6ca2a000000000000000000000000000000000000000000000000000000008152600481018490529051600160a060020a0390921691634df6ca2a9160248082019260009290919082900301818387803b15801561069557600080fd5b505af11580156106a9573d6000803e3d6000fd5b50506040805184815290517f173ec7037500587e8ac3402cac8426c5c2bac605eabd93f790422e621633d7119350908190036020019150a150565b600054600160a060020a031633146106fb57600080fd5b604051600160a060020a03821690303180156108fc02916000818181858888f19350505050158015610731573d6000803e3d6000fd5b5050565b600054600160a060020a0316331461074c57600080fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f568b4ce4fc4d09c939362effe33053025b93088cab521fc476f469966c7efdd59181900360200190a150565b600654600160a060020a0316151561080f576040805160e560020a62461bcd02815260206004820152601760248201527f4e6f2077616c6c65742069732072656769737465726564000000000000000000604482015290519081900360640190fd5b600654604051600160a060020a0390911690303180156108fc02916000818181858888f19350505050158015610849573d6000803e3d6000fd5b50565b600054600160a060020a031681565b60008054600160a060020a0316331461087357600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038516916370a082319160248083019260209291908290030181600087803b1580156108d457600080fd5b505af11580156108e8573d6000803e3d6000fd5b505050506040513d60208110156108fe57600080fd5b5051604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0385811660048301526024820184905291519293509085169163a9059cbb916044808201926020929091908290030181600087803b15801561096f57600080fd5b505af1158015610983573d6000803e3d6000fd5b505050506040513d602081101561099957600080fd5b5050505050565b600654600090600160a060020a03161515610a05576040805160e560020a62461bcd02815260206004820152601760248201527f4e6f2077616c6c65742069732072656769737465726564000000000000000000604482015290519081900360640190fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038416916370a082319160248083019260209291908290030181600087803b158015610a6657600080fd5b505af1158015610a7a573d6000803e3d6000fd5b505050506040513d6020811015610a9057600080fd5b5051600654604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810184905290519293509084169163a9059cbb916044808201926020929091908290030181600087803b158015610b0457600080fd5b505af1158015610b18573d6000803e3d6000fd5b505050506040513d6020811015610b2e57600080fd5b50505050565b60026020526000908152604090205481565b6000818152600460205260408120548110610b6357600354610b73565b6000828152600460205260409020545b92915050565b6000806000610b8785610b46565b915060008211610c07576040805160e560020a62461bcd02815260206004820152603c60248201527f5468652061726269747261746f72206d7573742068617665207365742061206e60448201527f6f6e2d7a65726f2066656520666f7220746865207175657374696f6e00000000606482015290519081900360840190fd5b5060008481526002602052604090208054340190819055818110610cfb57600154604080517ff6a94ecb00000000000000000000000000000000000000000000000000000000815260048101889052336024820152604481018790529051600160a060020a039092169163f6a94ecb9160648082019260009290919082900301818387803b158015610c9857600080fd5b505af1158015610cac573d6000803e3d6000fd5b50506040805134815233602082015260008183015290518893507fdf8a830581aa05b0b824a0c184007c33a1ad9100a41751c9ded9f2b4fefb16ba92509081900360600190a260019250610e51565b600154604080517f7f8d429e000000000000000000000000000000000000000000000000000000008152600481018890529051600160a060020a0390921691637f8d429e916024808201926020929091908290030181600087803b158015610d6257600080fd5b505af1158015610d76573d6000803e3d6000fd5b505050506040513d6020811015610d8c57600080fd5b505115610e09576040805160e560020a62461bcd02815260206004820152602960248201527f546865207175657374696f6e206d757374206e6f742068617665206265656e2060448201527f66696e616c697a65640000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6040805134815233602082015282840381830152905186917fdf8a830581aa05b0b824a0c184007c33a1ad9100a41751c9ded9f2b4fefb16ba919081900360600190a2600092505b505092915050565b600154600160a060020a031681565b600054600160a060020a03163314610e7f57600080fd5b60008681526002602052604080822082905560015481517fd44e293c000000000000000000000000000000000000000000000000000000008152600481018a905260248101899052600160a060020a038881166044830152606482018890526084820187905285811660a48301529251929091169263d44e293c9260c48084019382900301818387803b158015610f1557600080fd5b505af1158015610f29573d6000803e3d6000fd5b50505050505050505050565b600054600160a060020a03163314610f4c57600080fd5b805161073190600590602084019061116a565b600160009054906101000a9004600160a060020a0316600160a060020a0316633ccfd60b6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b158015610fcb57600080fd5b505af1158015610b2e573d6000803e3d6000fd5b600054600160a060020a03163314610ff657600080fd5b600154604080517febbdd2b0000000000000000000000000000000000000000000000000000000008152600481018490529051600160a060020a039092169163ebbdd2b09160248082019260009290919082900301818387803b15801561105c57600080fd5b505af1158015610999573d6000803e3d6000fd5b600054600160a060020a0316331461108757600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a031633146110cd57600080fd5b60008381526002602052604080822082905560015481517ffe92049d0000000000000000000000000000000000000000000000000000000081526004810187905260248101869052600160a060020a0385811660448301529251929091169263fe92049d9260648084019382900301818387803b15801561114d57600080fd5b505af1158015611161573d6000803e3d6000fd5b50505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106111ab57805160ff19168380011785556111d8565b828001600101855582156111d8579182015b828111156111d85782518255916020019190600101906111bd565b506111e49291506111e8565b5090565b61048d91905b808211156111e457600081556001016111ee5600a165627a7a723058208a1110c2715b12e737705fa8a0b654496e05944f47cb871cf10c19bafe5fdd460029",
  "sourceMap": "601:1352:16:-;;;111:5:10;:18;;-1:-1:-1;;;;;;111:18:10;;;119:10;111:18;;;867::0;;;;;;601:1352:16;;;;;;",
  "deployedSourceMap": "601:1352:16:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;989:94:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;989:94:0;;;;;;;;-1:-1:-1;;;;;989:94:0;;;;;;;;;;;;;;1434:137;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1434:137:0;;;;;307:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;307:22:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;307:22:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1832:118:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1832:118:16;-1:-1:-1;;;;;1832:118:16;;;;;1725:204:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1725:204:0;;;;;;;2852:150;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2852:150:0;;;;;6475:117;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6475:117:0;-1:-1:-1;;;;;6475:117:0;;;;;1206:144;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1206:144:0;-1:-1:-1;;;;;1206:144:0;;;;;1472:187:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1472:187:16;;;;48:20:10;;8:9:-1;5:2;;;30:1;27;20:12;5:2;48:20:10;;;;6919:190:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6919:190:0;-1:-1:-1;;;;;6919:190:0;;;;;;;;;;1131:250:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1131:250:16;-1:-1:-1;;;;;1131:250:16;;;;;166:55:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;166:55:0;;;;;;;;;;;;;;;;;;;;;2187:190;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2187:190:0;;;;;5443:883;;;;;;;;;;;;;;;;;;;;;;;;;;134:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;134:25:0;;;;4119:445;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4119:445:0;;;;;-1:-1:-1;;;;;4119:445:0;;;;;;;;;;;;;;;;7656:106;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7656:106:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7656:106:0;;-1:-1:-1;7656:106:0;;-1:-1:-1;;;;;;;7656:106:0;967:73:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;967:73:16;;;;4804:135:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4804:135:0;;;;;223:109:10;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;223:109:10;-1:-1:-1;;;;;223:109:10;;;;;3278:251:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3278:251:0;;;;;-1:-1:-1;;;;;3278:251:0;;;;;989:94;1068:8;;-1:-1:-1;;;;;1068:8:0;989:94;;:::o;1434:137::-;193:5:10;;-1:-1:-1;;;;;193:5:10;179:10;:19;171:28;;;;;;1511:11:0;:17;;;1543:21;;;;;;;;;;;;;;;;;1434:137;:::o;307:22::-;;;;;;;;;;;;;;;-1:-1:-1;;307:22:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1832:118:16:-;193:5:10;;-1:-1:-1;;;;;193:5:10;179:10;:19;171:28;;;;;;1920:17:16;:23;;-1:-1:-1;;1920:23:16;-1:-1:-1;;;;;1920:23:16;;;;;;;;;;1832:118::o;1725:204:0:-;193:5:10;;-1:-1:-1;;;;;193:5:10;179:10;:19;171:28;;;;;;1829:32:0;;;;:19;:32;;;;;;;;;:38;;;1882:40;;;;;;;1849:11;;1882:40;;;;;;;;;1725:204;;:::o;2852:150::-;193:5:10;;-1:-1:-1;;;;;193:5:10;179:10;:19;171:28;;;;;;2930:8:0;;:28;;;;;;;;;;;;;;-1:-1:-1;;;;;2930:8:0;;;;:23;;:28;;;;;:8;;:28;;;;;;;;:8;;:28;;;5:2:-1;;;;30:1;27;20:12;5:2;2930:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;2973:22:0;;;;;;;;;;-1:-1:-1;2973:22:0;;;;;;;-1:-1:-1;2973:22:0;2852:150;:::o;6475:117::-;193:5:10;;-1:-1:-1;;;;;193:5:10;179:10;:19;171:28;;;;;;6548:36:0;;-1:-1:-1;;;;;6548:13:0;;;6570:4;6562:21;6548:36;;;;;;;;;6562:21;6548:13;:36;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6548:36:0;6475:117;:::o;1206:144::-;193:5:10;;-1:-1:-1;;;;;193:5:10;179:10;:19;171:28;;;;;;1282:8:0;:26;;-1:-1:-1;;;;;1282:26:0;;-1:-1:-1;;1282:26:0;;;;;;;;1323:20;;;;;;;;;;;;;;;;1206:144;:::o;1472:187:16:-;1541:17;;-1:-1:-1;;;;;1541:17:16;:24;;1533:60;;;;;-1:-1:-1;;;;;1533:60:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;1603:17;;:49;;-1:-1:-1;;;;;1603:17:16;;;;1638:4;1630:21;1603:49;;;;;:17;:49;:17;:49;1630:21;1603:17;:49;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1603:49:16;1472:187::o;48:20:10:-;;;-1:-1:-1;;;;;48:20:10;;:::o;6919:190:0:-;7012:11;193:5:10;;-1:-1:-1;;;;;193:5:10;179:10;:19;171:28;;;;;;7026:31:0;;;;;;7051:4;7026:31;;;;;;-1:-1:-1;;;;;7026:16:0;;;;;:31;;;;;;;;;;;;;;-1:-1:-1;7026:16:0;:31;;;5:2:-1;;;;30:1;27;20:12;5:2;7026:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7026:31:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7026:31:0;7067:34;;;;;;-1:-1:-1;;;;;7067:34:0;;;;;;;;;;;;;;;7026:31;;-1:-1:-1;7067:23:0;;;;;;:34;;;;;7026:31;;7067:34;;;;;;;;-1:-1:-1;7067:23:0;:34;;;5:2:-1;;;;30:1;27;20:12;5:2;7067:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7067:34:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;6919:190:0:o;1131:250:16:-;1218:17;;1280:11;;-1:-1:-1;;;;;1218:17:16;:24;;1210:60;;;;;-1:-1:-1;;;;;1210:60:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;1294:31;;;;;;1319:4;1294:31;;;;;;-1:-1:-1;;;;;1294:16:16;;;;;:31;;;;;;;;;;;;;;-1:-1:-1;1294:16:16;:31;;;5:2:-1;;;;30:1;27;20:12;5:2;1294:31:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1294:31:16;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1294:31:16;1351:17;;1335:39;;;;;;-1:-1:-1;;;;;1351:17:16;;;1335:39;;;;;;;;;;;;1294:31;;-1:-1:-1;1335:15:16;;;;;;:39;;;;;1294:31;;1335:39;;;;;;;;1351:17;1335:15;:39;;;5:2:-1;;;;30:1;27;20:12;5:2;1335:39:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1335:39:16;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;1131:250:16:o;166:55:0:-;;;;;;;;;;;;;:::o;2187:190::-;2257:7;2284:32;;;:19;:32;;;;;;:36;-1:-1:-1;2283:87:0;;2359:11;;2283:87;;;2324:32;;;;:19;:32;;;;;;2283:87;2276:94;2187:190;-1:-1:-1;;2187:190:0:o;5443:883::-;5545:4;5562:23;5783:12;5588:26;5602:11;5588:13;:26::i;:::-;5562:52;-1:-1:-1;5650:1:0;5632:19;;5624:92;;;;;-1:-1:-1;;;;;5624:92:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5727:33:0;;;;:20;:33;;;;;:46;;5764:9;5727:46;;;;;5846:23;;;5842:477;;5885:8;;:74;;;;;;;;;;;;5934:10;5885:74;;;;;;;;;;;;-1:-1:-1;;;;;5885:8:0;;;;:35;;:74;;;;;:8;;:74;;;;;;;;:8;;:74;;;5:2:-1;;;;30:1;27;20:12;5:2;5885:74:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;5978:60:0;;;6013:9;5978:60;;6024:10;5978:60;;;;;;;;;;;6000:11;;-1:-1:-1;5978:60:0;;-1:-1:-1;5978:60:0;;;;;;;;6059:4;6052:11;;;;5842:477;6103:8;;:33;;;;;;;;;;;;;;-1:-1:-1;;;;;6103:8:0;;;;:20;;:33;;;;;;;;;;;;;;;:8;;:33;;;5:2:-1;;;;30:1;27;20:12;5:2;6103:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6103:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6103:33:0;6102:34;6094:88;;;;;-1:-1:-1;;;;;6094:88:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6201:81;;;6236:9;6201:81;;6247:10;6201:81;;;;6259:22;;;6201:81;;;;;;6223:11;;6201:81;;;;;;;;;;6303:5;6296:12;;5842:477;5443:883;;;;;;:::o;134:25::-;;;-1:-1:-1;;;;;134:25:0;;:::o;4119:445::-;193:5:10;;-1:-1:-1;;;;;193:5:10;179:10;:19;171:28;;;;;;4365:33:0;;;;:20;:33;;;;;;4358:40;;;4408:8;;:149;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4408:149:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:8;;;;;:48;;:149;;;;;;;;;;4365:33;4408:8;:149;;;5:2:-1;;;;30:1;27;20:12;5:2;4408:149:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4408:149:0;;;;4119:445;;;;;;:::o;7656:106::-;193:5:10;;-1:-1:-1;;;;;193:5:10;179:10;:19;171:28;;;;;;7735:20:0;;;;:8;;:20;;;;;:::i;967:73:16:-;1013:8;;;;;;;;;-1:-1:-1;;;;;1013:8:16;-1:-1:-1;;;;;1013:17:16;;:19;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1013:19:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;4804:135:0;193:5:10;;-1:-1:-1;;;;;193:5:10;179:10;:19;171:28;;;;;;4893:8:0;;:39;;;;;;;;;;;;;;-1:-1:-1;;;;;4893:8:0;;;;:26;;:39;;;;;:8;;:39;;;;;;;;:8;;:39;;;5:2:-1;;;;30:1;27;20:12;5:2;4893:39:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;223:109:10;193:5;;-1:-1:-1;;;;;193:5:10;179:10;:19;171:28;;;;;;309:5;:16;;-1:-1:-1;;309:16:10;-1:-1:-1;;;;;309:16:10;;;;;;;;;;223:109::o;3278:251:0:-;193:5:10;;-1:-1:-1;;;;;193:5:10;179:10;:19;171:28;;;;;;3415:33:0;;;;:20;:33;;;;;;3408:40;;;3458:8;;:64;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3458:64:0;;;;;;;;;:8;;;;;:33;;:64;;;;;;;;;;3415:33;3458:8;:64;;;5:2:-1;;;;30:1;27;20:12;5:2;3458:64:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3458:64:0;;;;3278:251;;;:::o;601:1352:16:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;601:1352:16;;;-1:-1:-1;601:1352:16;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;",
  "source": "pragma solidity ^0.4.25;\n\nimport './Arbitrator.sol';\nimport './IERC20.sol';\n\n/*\nThis contract extends the standard Arbitrator contract to make it possible to make routine fund withdrawals to an address pre-registered by the owner without actually being the owner.\n\nWe do this to facilitate controlling Arbitrator contracts using multisig wallets, which should require multiple sign-offs to allow validation and fee-settings tasks, but users should be able to withdraw their own share of the funds without anyone else's permission. This can be done in combination with our SplitterWallet contract.\n*/\n\ncontract RegisteredWalletArbitrator is Arbitrator {\n\n    address registered_wallet;\n\n    /// @notice Withdraw any accumulated question fees from the specified address into this contract\n    /// @dev Funds can then be liberated from this contract with our withdraw() function\n    /// @dev Usually the arbitrator calls this, but if someone else does that's OK too\n    function callWithdraw() \n    public {\n        realitio.withdraw(); \n    }\n\n    /// @notice Withdraw money from the arbitrator contract to our registered wallet\n    function withdrawToRegisteredWalletERC20(IERC20 _token)\n    external {\n        require(registered_wallet != 0x0, \"No wallet is registered\");\n        uint256 bal = _token.balanceOf(address(this));\n        _token.transfer(registered_wallet, bal);\n    }\n\n    /// @notice Withdraw money from the arbitrator contract to our registered wallet\n    function withdrawToRegisteredWallet()\n    external {\n        require(registered_wallet != 0x0, \"No wallet is registered\");\n        registered_wallet.transfer(address(this).balance);\n    }\n\n    /// @notice Change the address of our registered wallet\n    /// @param addr The address of the new wallet\n    /// @dev Set to 0x0 to not use the registered wallet\n    function updateRegisteredWallet(address addr) \n        onlyOwner\n    external {\n        registered_wallet= addr;\n    }\n\n}\n",
  "sourcePath": "/home/ed/working/realitio-contracts/truffle/contracts/RegisteredWalletArbitrator.sol",
  "ast": {
    "absolutePath": "/home/ed/working/realitio-contracts/truffle/contracts/RegisteredWalletArbitrator.sol",
    "exportedSymbols": {
      "RegisteredWalletArbitrator": [
        9204
      ]
    },
    "id": 9205,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 9127,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".25"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:16"
      },
      {
        "absolutePath": "/home/ed/working/realitio-contracts/truffle/contracts/Arbitrator.sol",
        "file": "./Arbitrator.sol",
        "id": 9128,
        "nodeType": "ImportDirective",
        "scope": 9205,
        "sourceUnit": 388,
        "src": "26:26:16",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/ed/working/realitio-contracts/truffle/contracts/IERC20.sol",
        "file": "./IERC20.sol",
        "id": 9129,
        "nodeType": "ImportDirective",
        "scope": 9205,
        "sourceUnit": 1240,
        "src": "53:22:16",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 9130,
              "name": "Arbitrator",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 387,
              "src": "640:10:16",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Arbitrator_$387",
                "typeString": "contract Arbitrator"
              }
            },
            "id": 9131,
            "nodeType": "InheritanceSpecifier",
            "src": "640:10:16"
          }
        ],
        "contractDependencies": [
          387,
          2619
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 9204,
        "linearizedBaseContracts": [
          9204,
          387,
          2619
        ],
        "name": "RegisteredWalletArbitrator",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 9133,
            "name": "registered_wallet",
            "nodeType": "VariableDeclaration",
            "scope": 9204,
            "src": "658:25:16",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 9132,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "658:7:16",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 9141,
              "nodeType": "Block",
              "src": "1003:37:16",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "argumentTypes": null,
                        "id": 9136,
                        "name": "realitio",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8,
                        "src": "1013:8:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IRealitio_$1584",
                          "typeString": "contract IRealitio"
                        }
                      },
                      "id": 9138,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "withdraw",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 1318,
                      "src": "1013:17:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
                        "typeString": "function () external"
                      }
                    },
                    "id": 9139,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1013:19:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9140,
                  "nodeType": "ExpressionStatement",
                  "src": "1013:19:16"
                }
              ]
            },
            "documentation": "@notice Withdraw any accumulated question fees from the specified address into this contract\n @dev Funds can then be liberated from this contract with our withdraw() function\n @dev Usually the arbitrator calls this, but if someone else does that's OK too",
            "id": 9142,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "callWithdraw",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9134,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "988:2:16"
            },
            "payable": false,
            "returnParameters": {
              "id": 9135,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1003:0:16"
            },
            "scope": 9204,
            "src": "967:73:16",
            "stateMutability": "nonpayable",
            "superFunction": 374,
            "visibility": "public"
          },
          {
            "body": {
              "id": 9170,
              "nodeType": "Block",
              "src": "1200:181:16",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 9150,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 9148,
                          "name": "registered_wallet",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9133,
                          "src": "1218:17:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "307830",
                          "id": 9149,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "1239:3:16",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0x0"
                        },
                        "src": "1218:24:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4e6f2077616c6c65742069732072656769737465726564",
                        "id": 9151,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1244:25:16",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_52303f69f2ddb51b51e18405a362fe1c5b551cded2fae79654e117352942dc4e",
                          "typeString": "literal_string \"No wallet is registered\""
                        },
                        "value": "No wallet is registered"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_52303f69f2ddb51b51e18405a362fe1c5b551cded2fae79654e117352942dc4e",
                          "typeString": "literal_string \"No wallet is registered\""
                        }
                      ],
                      "id": 9147,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9530,
                        9531
                      ],
                      "referencedDeclaration": 9531,
                      "src": "1210:7:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 9152,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1210:60:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9153,
                  "nodeType": "ExpressionStatement",
                  "src": "1210:60:16"
                },
                {
                  "assignments": [
                    9155
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 9155,
                      "name": "bal",
                      "nodeType": "VariableDeclaration",
                      "scope": 9171,
                      "src": "1280:11:16",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 9154,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "1280:7:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 9162,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 9159,
                            "name": "this",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9576,
                            "src": "1319:4:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_RegisteredWalletArbitrator_$9204",
                              "typeString": "contract RegisteredWalletArbitrator"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_contract$_RegisteredWalletArbitrator_$9204",
                              "typeString": "contract RegisteredWalletArbitrator"
                            }
                          ],
                          "id": 9158,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "1311:7:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": "address"
                        },
                        "id": 9160,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1311:13:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 9156,
                        "name": "_token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9144,
                        "src": "1294:6:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IERC20_$1239",
                          "typeString": "contract IERC20"
                        }
                      },
                      "id": 9157,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "balanceOf",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 1184,
                      "src": "1294:16:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
                        "typeString": "function (address) view external returns (uint256)"
                      }
                    },
                    "id": 9161,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1294:31:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1280:45:16"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 9166,
                        "name": "registered_wallet",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9133,
                        "src": "1351:17:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 9167,
                        "name": "bal",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9155,
                        "src": "1370:3:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 9163,
                        "name": "_token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9144,
                        "src": "1335:6:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IERC20_$1239",
                          "typeString": "contract IERC20"
                        }
                      },
                      "id": 9165,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "transfer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 1202,
                      "src": "1335:15:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (address,uint256) external returns (bool)"
                      }
                    },
                    "id": 9168,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1335:39:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 9169,
                  "nodeType": "ExpressionStatement",
                  "src": "1335:39:16"
                }
              ]
            },
            "documentation": "@notice Withdraw money from the arbitrator contract to our registered wallet",
            "id": 9171,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "withdrawToRegisteredWalletERC20",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9145,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9144,
                  "name": "_token",
                  "nodeType": "VariableDeclaration",
                  "scope": 9171,
                  "src": "1172:13:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IERC20_$1239",
                    "typeString": "contract IERC20"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 9143,
                    "name": "IERC20",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 1239,
                    "src": "1172:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IERC20_$1239",
                      "typeString": "contract IERC20"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1171:15:16"
            },
            "payable": false,
            "returnParameters": {
              "id": 9146,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1200:0:16"
            },
            "scope": 9204,
            "src": "1131:250:16",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 9190,
              "nodeType": "Block",
              "src": "1523:136:16",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 9177,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 9175,
                          "name": "registered_wallet",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9133,
                          "src": "1541:17:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "307830",
                          "id": 9176,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "1562:3:16",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0x0"
                        },
                        "src": "1541:24:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4e6f2077616c6c65742069732072656769737465726564",
                        "id": 9178,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1567:25:16",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_52303f69f2ddb51b51e18405a362fe1c5b551cded2fae79654e117352942dc4e",
                          "typeString": "literal_string \"No wallet is registered\""
                        },
                        "value": "No wallet is registered"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_52303f69f2ddb51b51e18405a362fe1c5b551cded2fae79654e117352942dc4e",
                          "typeString": "literal_string \"No wallet is registered\""
                        }
                      ],
                      "id": 9174,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9530,
                        9531
                      ],
                      "referencedDeclaration": 9531,
                      "src": "1533:7:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 9179,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1533:60:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9180,
                  "nodeType": "ExpressionStatement",
                  "src": "1533:60:16"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 9185,
                              "name": "this",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9576,
                              "src": "1638:4:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_RegisteredWalletArbitrator_$9204",
                                "typeString": "contract RegisteredWalletArbitrator"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_contract$_RegisteredWalletArbitrator_$9204",
                                "typeString": "contract RegisteredWalletArbitrator"
                              }
                            ],
                            "id": 9184,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "1630:7:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": "address"
                          },
                          "id": 9186,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1630:13:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 9187,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "balance",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "1630:21:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 9181,
                        "name": "registered_wallet",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9133,
                        "src": "1603:17:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "id": 9183,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "transfer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "1603:26:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 9188,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1603:49:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9189,
                  "nodeType": "ExpressionStatement",
                  "src": "1603:49:16"
                }
              ]
            },
            "documentation": "@notice Withdraw money from the arbitrator contract to our registered wallet",
            "id": 9191,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "withdrawToRegisteredWallet",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9172,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1507:2:16"
            },
            "payable": false,
            "returnParameters": {
              "id": 9173,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1523:0:16"
            },
            "scope": 9204,
            "src": "1472:187:16",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 9202,
              "nodeType": "Block",
              "src": "1910:40:16",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 9200,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 9198,
                      "name": "registered_wallet",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9133,
                      "src": "1920:17:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 9199,
                      "name": "addr",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9193,
                      "src": "1939:4:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "1920:23:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 9201,
                  "nodeType": "ExpressionStatement",
                  "src": "1920:23:16"
                }
              ]
            },
            "documentation": "@notice Change the address of our registered wallet\n @param addr The address of the new wallet\n @dev Set to 0x0 to not use the registered wallet",
            "id": 9203,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 9196,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 9195,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2606,
                  "src": "1887:9:16",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1887:9:16"
              }
            ],
            "name": "updateRegisteredWallet",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9194,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9193,
                  "name": "addr",
                  "nodeType": "VariableDeclaration",
                  "scope": 9203,
                  "src": "1864:12:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9192,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1864:7:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1863:14:16"
            },
            "payable": false,
            "returnParameters": {
              "id": 9197,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1910:0:16"
            },
            "scope": 9204,
            "src": "1832:118:16",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          }
        ],
        "scope": 9205,
        "src": "601:1352:16"
      }
    ],
    "src": "0:1954:16"
  },
  "legacyAST": {
    "absolutePath": "/home/ed/working/realitio-contracts/truffle/contracts/RegisteredWalletArbitrator.sol",
    "exportedSymbols": {
      "RegisteredWalletArbitrator": [
        9204
      ]
    },
    "id": 9205,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 9127,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".25"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:16"
      },
      {
        "absolutePath": "/home/ed/working/realitio-contracts/truffle/contracts/Arbitrator.sol",
        "file": "./Arbitrator.sol",
        "id": 9128,
        "nodeType": "ImportDirective",
        "scope": 9205,
        "sourceUnit": 388,
        "src": "26:26:16",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/ed/working/realitio-contracts/truffle/contracts/IERC20.sol",
        "file": "./IERC20.sol",
        "id": 9129,
        "nodeType": "ImportDirective",
        "scope": 9205,
        "sourceUnit": 1240,
        "src": "53:22:16",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 9130,
              "name": "Arbitrator",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 387,
              "src": "640:10:16",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Arbitrator_$387",
                "typeString": "contract Arbitrator"
              }
            },
            "id": 9131,
            "nodeType": "InheritanceSpecifier",
            "src": "640:10:16"
          }
        ],
        "contractDependencies": [
          387,
          2619
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 9204,
        "linearizedBaseContracts": [
          9204,
          387,
          2619
        ],
        "name": "RegisteredWalletArbitrator",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 9133,
            "name": "registered_wallet",
            "nodeType": "VariableDeclaration",
            "scope": 9204,
            "src": "658:25:16",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 9132,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "658:7:16",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 9141,
              "nodeType": "Block",
              "src": "1003:37:16",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "argumentTypes": null,
                        "id": 9136,
                        "name": "realitio",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8,
                        "src": "1013:8:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IRealitio_$1584",
                          "typeString": "contract IRealitio"
                        }
                      },
                      "id": 9138,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "withdraw",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 1318,
                      "src": "1013:17:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
                        "typeString": "function () external"
                      }
                    },
                    "id": 9139,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1013:19:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9140,
                  "nodeType": "ExpressionStatement",
                  "src": "1013:19:16"
                }
              ]
            },
            "documentation": "@notice Withdraw any accumulated question fees from the specified address into this contract\n @dev Funds can then be liberated from this contract with our withdraw() function\n @dev Usually the arbitrator calls this, but if someone else does that's OK too",
            "id": 9142,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "callWithdraw",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9134,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "988:2:16"
            },
            "payable": false,
            "returnParameters": {
              "id": 9135,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1003:0:16"
            },
            "scope": 9204,
            "src": "967:73:16",
            "stateMutability": "nonpayable",
            "superFunction": 374,
            "visibility": "public"
          },
          {
            "body": {
              "id": 9170,
              "nodeType": "Block",
              "src": "1200:181:16",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 9150,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 9148,
                          "name": "registered_wallet",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9133,
                          "src": "1218:17:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "307830",
                          "id": 9149,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "1239:3:16",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0x0"
                        },
                        "src": "1218:24:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4e6f2077616c6c65742069732072656769737465726564",
                        "id": 9151,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1244:25:16",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_52303f69f2ddb51b51e18405a362fe1c5b551cded2fae79654e117352942dc4e",
                          "typeString": "literal_string \"No wallet is registered\""
                        },
                        "value": "No wallet is registered"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_52303f69f2ddb51b51e18405a362fe1c5b551cded2fae79654e117352942dc4e",
                          "typeString": "literal_string \"No wallet is registered\""
                        }
                      ],
                      "id": 9147,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9530,
                        9531
                      ],
                      "referencedDeclaration": 9531,
                      "src": "1210:7:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 9152,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1210:60:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9153,
                  "nodeType": "ExpressionStatement",
                  "src": "1210:60:16"
                },
                {
                  "assignments": [
                    9155
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 9155,
                      "name": "bal",
                      "nodeType": "VariableDeclaration",
                      "scope": 9171,
                      "src": "1280:11:16",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 9154,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "1280:7:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 9162,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 9159,
                            "name": "this",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9576,
                            "src": "1319:4:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_RegisteredWalletArbitrator_$9204",
                              "typeString": "contract RegisteredWalletArbitrator"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_contract$_RegisteredWalletArbitrator_$9204",
                              "typeString": "contract RegisteredWalletArbitrator"
                            }
                          ],
                          "id": 9158,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "1311:7:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": "address"
                        },
                        "id": 9160,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1311:13:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 9156,
                        "name": "_token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9144,
                        "src": "1294:6:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IERC20_$1239",
                          "typeString": "contract IERC20"
                        }
                      },
                      "id": 9157,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "balanceOf",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 1184,
                      "src": "1294:16:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
                        "typeString": "function (address) view external returns (uint256)"
                      }
                    },
                    "id": 9161,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1294:31:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1280:45:16"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 9166,
                        "name": "registered_wallet",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9133,
                        "src": "1351:17:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 9167,
                        "name": "bal",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9155,
                        "src": "1370:3:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 9163,
                        "name": "_token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9144,
                        "src": "1335:6:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IERC20_$1239",
                          "typeString": "contract IERC20"
                        }
                      },
                      "id": 9165,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "transfer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 1202,
                      "src": "1335:15:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (address,uint256) external returns (bool)"
                      }
                    },
                    "id": 9168,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1335:39:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 9169,
                  "nodeType": "ExpressionStatement",
                  "src": "1335:39:16"
                }
              ]
            },
            "documentation": "@notice Withdraw money from the arbitrator contract to our registered wallet",
            "id": 9171,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "withdrawToRegisteredWalletERC20",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9145,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9144,
                  "name": "_token",
                  "nodeType": "VariableDeclaration",
                  "scope": 9171,
                  "src": "1172:13:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IERC20_$1239",
                    "typeString": "contract IERC20"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 9143,
                    "name": "IERC20",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 1239,
                    "src": "1172:6:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IERC20_$1239",
                      "typeString": "contract IERC20"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1171:15:16"
            },
            "payable": false,
            "returnParameters": {
              "id": 9146,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1200:0:16"
            },
            "scope": 9204,
            "src": "1131:250:16",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 9190,
              "nodeType": "Block",
              "src": "1523:136:16",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 9177,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 9175,
                          "name": "registered_wallet",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9133,
                          "src": "1541:17:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "307830",
                          "id": 9176,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "1562:3:16",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0x0"
                        },
                        "src": "1541:24:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4e6f2077616c6c65742069732072656769737465726564",
                        "id": 9178,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1567:25:16",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_52303f69f2ddb51b51e18405a362fe1c5b551cded2fae79654e117352942dc4e",
                          "typeString": "literal_string \"No wallet is registered\""
                        },
                        "value": "No wallet is registered"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_52303f69f2ddb51b51e18405a362fe1c5b551cded2fae79654e117352942dc4e",
                          "typeString": "literal_string \"No wallet is registered\""
                        }
                      ],
                      "id": 9174,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9530,
                        9531
                      ],
                      "referencedDeclaration": 9531,
                      "src": "1533:7:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 9179,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1533:60:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9180,
                  "nodeType": "ExpressionStatement",
                  "src": "1533:60:16"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 9185,
                              "name": "this",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9576,
                              "src": "1638:4:16",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_RegisteredWalletArbitrator_$9204",
                                "typeString": "contract RegisteredWalletArbitrator"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_contract$_RegisteredWalletArbitrator_$9204",
                                "typeString": "contract RegisteredWalletArbitrator"
                              }
                            ],
                            "id": 9184,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "1630:7:16",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": "address"
                          },
                          "id": 9186,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1630:13:16",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 9187,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "balance",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "1630:21:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 9181,
                        "name": "registered_wallet",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9133,
                        "src": "1603:17:16",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "id": 9183,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "transfer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "1603:26:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 9188,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1603:49:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9189,
                  "nodeType": "ExpressionStatement",
                  "src": "1603:49:16"
                }
              ]
            },
            "documentation": "@notice Withdraw money from the arbitrator contract to our registered wallet",
            "id": 9191,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "withdrawToRegisteredWallet",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9172,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1507:2:16"
            },
            "payable": false,
            "returnParameters": {
              "id": 9173,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1523:0:16"
            },
            "scope": 9204,
            "src": "1472:187:16",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 9202,
              "nodeType": "Block",
              "src": "1910:40:16",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 9200,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 9198,
                      "name": "registered_wallet",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9133,
                      "src": "1920:17:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 9199,
                      "name": "addr",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9193,
                      "src": "1939:4:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "1920:23:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 9201,
                  "nodeType": "ExpressionStatement",
                  "src": "1920:23:16"
                }
              ]
            },
            "documentation": "@notice Change the address of our registered wallet\n @param addr The address of the new wallet\n @dev Set to 0x0 to not use the registered wallet",
            "id": 9203,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 9196,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 9195,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2606,
                  "src": "1887:9:16",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1887:9:16"
              }
            ],
            "name": "updateRegisteredWallet",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9194,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9193,
                  "name": "addr",
                  "nodeType": "VariableDeclaration",
                  "scope": 9203,
                  "src": "1864:12:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9192,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1864:7:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1863:14:16"
            },
            "payable": false,
            "returnParameters": {
              "id": 9197,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1910:0:16"
            },
            "scope": 9204,
            "src": "1832:118:16",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          }
        ],
        "scope": 9205,
        "src": "601:1352:16"
      }
    ],
    "src": "0:1954:16"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.25+commit.59dbf8f1.Emscripten.clang",
    "optimizer": true,
    "runs": 200
  },
  "networks": {},
  "schemaVersion": "2.3.3",
  "updatedAt": "2020-09-23T03:41:51.364Z"
}