@reality.eth/contracts
Version:
Collection of smart contracts for the Realitio fact verification platform
1,047 lines • 283 kB
JSON
{
"contractName": "Arbitrator",
"abi": [
{
"constant": true,
"inputs": [],
"name": "metadata",
"outputs": [
{
"name": "",
"type": "string"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "foreignProxy",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "foreignChainId",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "owner",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"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": "realitio",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"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": true,
"inputs": [],
"name": "realitycheck",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "addr",
"type": "address"
}
],
"name": "setRealitio",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "fee",
"type": "uint256"
}
],
"name": "setDisputeFee",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "question_id",
"type": "bytes32"
},
{
"name": "fee",
"type": "uint256"
}
],
"name": "setCustomDisputeFee",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"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": "fee",
"type": "uint256"
}
],
"name": "setQuestionFee",
"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"
},
{
"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": false,
"inputs": [
{
"name": "addr",
"type": "address"
}
],
"name": "withdraw",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_token",
"type": "address"
},
{
"name": "addr",
"type": "address"
}
],
"name": "withdrawERC20",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "callWithdraw",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_metadata",
"type": "string"
}
],
"name": "setMetaData",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x608060405234801561001057600080fd5b5060008054600160a060020a031990811633908117909116179055610dc78061003a6000396000f3006080604052600436106100f05763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630c2a48e281146100f257806317299c0414610123578063392f37e91461013b5780634381a07b146101c55780634df6ca2a146101e057806351cff8d9146101f857806379ca21a2146102195780638da5cb5b1461023a5780639456fbcc1461024f578063a20dd43b14610276578063a22352e2146102a0578063a829c3d1146102b8578063bc8802a2146102da578063d821f81a146102ef578063dad901be14610348578063f2fde38b1461035d578063fe92049d1461037e575b005b3480156100fe57600080fd5b506101076103a5565b60408051600160a060020a039092168252519081900360200190f35b34801561012f57600080fd5b506100f06004356103b5565b34801561014757600080fd5b50610150610407565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018a578181015183820152602001610172565b50505050905090810190601f1680156101b75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d157600080fd5b506100f0600435602435610495565b3480156101ec57600080fd5b506100f06004356104f7565b34801561020457600080fd5b506100f0600160a060020a03600435166105c3565b34801561022557600080fd5b506100f0600160a060020a0360043516610614565b34801561024657600080fd5b5061010761068c565b34801561025b57600080fd5b506100f0600160a060020a036004358116906024351661069b565b34801561028257600080fd5b5061028e6004356107e0565b60408051918252519081900360200190f35b3480156102ac57600080fd5b5061028e6004356107f2565b6102c6600435602435610825565b604080519115158252519081900360200190f35b3480156102e657600080fd5b50610107610b33565b3480156102fb57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526100f0943694929360249392840191908190840183828082843750949750610b429650505050505050565b34801561035457600080fd5b506100f0610b6c565b34801561036957600080fd5b506100f0600160a060020a0360043516610c09565b34801561038a57600080fd5b506100f0600435602435600160a060020a0360443516610c4f565b600154600160a060020a03165b90565b600054600160a060020a031633146103cc57600080fd5b60038190556040805182815290517fbc1292d8ca346c1397b1176ce2935afd34c4365fece415b14e3a9242eae388f59181900360200190a150565b6005805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561048d5780601f106104625761010080835404028352916020019161048d565b820191906000526020600020905b81548152906001019060200180831161047057829003601f168201915b505050505081565b600054600160a060020a031633146104ac57600080fd5b6000828152600460209081526040918290208390558151838152915184927fe4887440991624b147d2129ab0befa8c1df4cff87b22513c8eea7cb16ed2aaf292908290030190a25050565b600054600160a060020a0316331461050e57600080fd5b600154604080517f4df6ca2a000000000000000000000000000000000000000000000000000000008152600481018490529051600160a060020a0390921691634df6ca2a9160248082019260009290919082900301818387803b15801561057457600080fd5b505af1158015610588573d6000803e3d6000fd5b50506040805184815290517f173ec7037500587e8ac3402cac8426c5c2bac605eabd93f790422e621633d7119350908190036020019150a150565b600054600160a060020a031633146105da57600080fd5b604051600160a060020a03821690303180156108fc02916000818181858888f19350505050158015610610573d6000803e3d6000fd5b5050565b600054600160a060020a0316331461062b57600080fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f568b4ce4fc4d09c939362effe33053025b93088cab521fc476f469966c7efdd59181900360200190a150565b600054600160a060020a031681565b60008054600160a060020a031633146106b357600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038516916370a082319160248083019260209291908290030181600087803b15801561071457600080fd5b505af1158015610728573d6000803e3d6000fd5b505050506040513d602081101561073e57600080fd5b5051604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0385811660048301526024820184905291519293509085169163a9059cbb916044808201926020929091908290030181600087803b1580156107af57600080fd5b505af11580156107c3573d6000803e3d6000fd5b505050506040513d60208110156107d957600080fd5b5050505050565b60026020526000908152604090205481565b600081815260046020526040812054811061080f5760035461081f565b6000828152600460205260409020545b92915050565b6000806000610833856107f2565b9150600082116108ca57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f5468652061726269747261746f72206d7573742068617665207365742061206e60448201527f6f6e2d7a65726f2066656520666f7220746865207175657374696f6e00000000606482015290519081900360840190fd5b50600084815260026020526040902080543401908190558181106109be57600154604080517ff6a94ecb00000000000000000000000000000000000000000000000000000000815260048101889052336024820152604481018790529051600160a060020a039092169163f6a94ecb9160648082019260009290919082900301818387803b15801561095b57600080fd5b505af115801561096f573d6000803e3d6000fd5b50506040805134815233602082015260008183015290518893507fdf8a830581aa05b0b824a0c184007c33a1ad9100a41751c9ded9f2b4fefb16ba92509081900360600190a260019250610b2b565b600154604080517f7f8d429e000000000000000000000000000000000000000000000000000000008152600481018890529051600160a060020a0390921691637f8d429e916024808201926020929091908290030181600087803b158015610a2557600080fd5b505af1158015610a39573d6000803e3d6000fd5b505050506040513d6020811015610a4f57600080fd5b505115610ae357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f546865207175657374696f6e206d757374206e6f742068617665206265656e2060448201527f66696e616c697a65640000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6040805134815233602082015282840381830152905186917fdf8a830581aa05b0b824a0c184007c33a1ad9100a41751c9ded9f2b4fefb16ba919081900360600190a2600092505b505092915050565b600154600160a060020a031681565b600054600160a060020a03163314610b5957600080fd5b8051610610906005906020840190610d03565b600054600160a060020a03163314610b8357600080fd5b600160009054906101000a9004600160a060020a0316600160a060020a0316633ccfd60b6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b158015610bef57600080fd5b505af1158015610c03573d6000803e3d6000fd5b50505050565b600054600160a060020a03163314610c2057600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a03163314610c6657600080fd5b60008381526002602052604080822082905560015481517ffe92049d0000000000000000000000000000000000000000000000000000000081526004810187905260248101869052600160a060020a0385811660448301529251929091169263fe92049d9260648084019382900301818387803b158015610ce657600080fd5b505af1158015610cfa573d6000803e3d6000fd5b50505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610d4457805160ff1916838001178555610d71565b82800160010185558215610d71579182015b82811115610d71578251825591602001919060010190610d56565b50610d7d929150610d81565b5090565b6103b291905b80821115610d7d5760008155600101610d875600a165627a7a72305820aa9b2193576f38afb7b777c89ca7ec17eb5e7e4e2feffc2175d2b07ddf0d519b0029",
"deployedBytecode": "0x6080604052600436106100f05763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630c2a48e281146100f257806317299c0414610123578063392f37e91461013b5780634381a07b146101c55780634df6ca2a146101e057806351cff8d9146101f857806379ca21a2146102195780638da5cb5b1461023a5780639456fbcc1461024f578063a20dd43b14610276578063a22352e2146102a0578063a829c3d1146102b8578063bc8802a2146102da578063d821f81a146102ef578063dad901be14610348578063f2fde38b1461035d578063fe92049d1461037e575b005b3480156100fe57600080fd5b506101076103a5565b60408051600160a060020a039092168252519081900360200190f35b34801561012f57600080fd5b506100f06004356103b5565b34801561014757600080fd5b50610150610407565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018a578181015183820152602001610172565b50505050905090810190601f1680156101b75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d157600080fd5b506100f0600435602435610495565b3480156101ec57600080fd5b506100f06004356104f7565b34801561020457600080fd5b506100f0600160a060020a03600435166105c3565b34801561022557600080fd5b506100f0600160a060020a0360043516610614565b34801561024657600080fd5b5061010761068c565b34801561025b57600080fd5b506100f0600160a060020a036004358116906024351661069b565b34801561028257600080fd5b5061028e6004356107e0565b60408051918252519081900360200190f35b3480156102ac57600080fd5b5061028e6004356107f2565b6102c6600435602435610825565b604080519115158252519081900360200190f35b3480156102e657600080fd5b50610107610b33565b3480156102fb57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526100f0943694929360249392840191908190840183828082843750949750610b429650505050505050565b34801561035457600080fd5b506100f0610b6c565b34801561036957600080fd5b506100f0600160a060020a0360043516610c09565b34801561038a57600080fd5b506100f0600435602435600160a060020a0360443516610c4f565b600154600160a060020a03165b90565b600054600160a060020a031633146103cc57600080fd5b60038190556040805182815290517fbc1292d8ca346c1397b1176ce2935afd34c4365fece415b14e3a9242eae388f59181900360200190a150565b6005805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561048d5780601f106104625761010080835404028352916020019161048d565b820191906000526020600020905b81548152906001019060200180831161047057829003601f168201915b505050505081565b600054600160a060020a031633146104ac57600080fd5b6000828152600460209081526040918290208390558151838152915184927fe4887440991624b147d2129ab0befa8c1df4cff87b22513c8eea7cb16ed2aaf292908290030190a25050565b600054600160a060020a0316331461050e57600080fd5b600154604080517f4df6ca2a000000000000000000000000000000000000000000000000000000008152600481018490529051600160a060020a0390921691634df6ca2a9160248082019260009290919082900301818387803b15801561057457600080fd5b505af1158015610588573d6000803e3d6000fd5b50506040805184815290517f173ec7037500587e8ac3402cac8426c5c2bac605eabd93f790422e621633d7119350908190036020019150a150565b600054600160a060020a031633146105da57600080fd5b604051600160a060020a03821690303180156108fc02916000818181858888f19350505050158015610610573d6000803e3d6000fd5b5050565b600054600160a060020a0316331461062b57600080fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f568b4ce4fc4d09c939362effe33053025b93088cab521fc476f469966c7efdd59181900360200190a150565b600054600160a060020a031681565b60008054600160a060020a031633146106b357600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038516916370a082319160248083019260209291908290030181600087803b15801561071457600080fd5b505af1158015610728573d6000803e3d6000fd5b505050506040513d602081101561073e57600080fd5b5051604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0385811660048301526024820184905291519293509085169163a9059cbb916044808201926020929091908290030181600087803b1580156107af57600080fd5b505af11580156107c3573d6000803e3d6000fd5b505050506040513d60208110156107d957600080fd5b5050505050565b60026020526000908152604090205481565b600081815260046020526040812054811061080f5760035461081f565b6000828152600460205260409020545b92915050565b6000806000610833856107f2565b9150600082116108ca57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f5468652061726269747261746f72206d7573742068617665207365742061206e60448201527f6f6e2d7a65726f2066656520666f7220746865207175657374696f6e00000000606482015290519081900360840190fd5b50600084815260026020526040902080543401908190558181106109be57600154604080517ff6a94ecb00000000000000000000000000000000000000000000000000000000815260048101889052336024820152604481018790529051600160a060020a039092169163f6a94ecb9160648082019260009290919082900301818387803b15801561095b57600080fd5b505af115801561096f573d6000803e3d6000fd5b50506040805134815233602082015260008183015290518893507fdf8a830581aa05b0b824a0c184007c33a1ad9100a41751c9ded9f2b4fefb16ba92509081900360600190a260019250610b2b565b600154604080517f7f8d429e000000000000000000000000000000000000000000000000000000008152600481018890529051600160a060020a0390921691637f8d429e916024808201926020929091908290030181600087803b158015610a2557600080fd5b505af1158015610a39573d6000803e3d6000fd5b505050506040513d6020811015610a4f57600080fd5b505115610ae357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f546865207175657374696f6e206d757374206e6f742068617665206265656e2060448201527f66696e616c697a65640000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6040805134815233602082015282840381830152905186917fdf8a830581aa05b0b824a0c184007c33a1ad9100a41751c9ded9f2b4fefb16ba919081900360600190a2600092505b505092915050565b600154600160a060020a031681565b600054600160a060020a03163314610b5957600080fd5b8051610610906005906020840190610d03565b600054600160a060020a03163314610b8357600080fd5b600160009054906101000a9004600160a060020a0316600160a060020a0316633ccfd60b6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b158015610bef57600080fd5b505af1158015610c03573d6000803e3d6000fd5b50505050565b600054600160a060020a03163314610c2057600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a03163314610c6657600080fd5b60008381526002602052604080822082905560015481517ffe92049d0000000000000000000000000000000000000000000000000000000081526004810187905260248101869052600160a060020a0385811660448301529251929091169263fe92049d9260648084019382900301818387803b158015610ce657600080fd5b505af1158015610cfa573d6000803e3d6000fd5b50505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610d4457805160ff1916838001178555610d71565b82800160010185558215610d71579182015b82811115610d71578251825591602001919060010190610d56565b50610d7d929150610d81565b5090565b6103b291905b80821115610d7d5760008155600101610d875600a165627a7a72305820aa9b2193576f38afb7b777c89ca7ec17eb5e7e4e2feffc2175d2b07ddf0d519b0029",
"sourceMap": "97:6254:0:-;;;829:61;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;111:5:3;:18;;-1:-1:-1;;;;;;111:18:3;;;119:10;111:18;;;865::0;;;;;;97:6254;;;;;;",
"deployedSourceMap": "97:6254:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;987:93;;8:9:-1;5:2;;;30:1;27;20:12;5:2;987:93:0;;;;;;;;-1:-1:-1;;;;;987:93:0;;;;;;;;;;;;;;1430:137;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1430:137:0;;;;;305:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;305: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;305:22:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1721:204;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1721:204:0;;;;;;;2848:150;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2848:150:0;;;;;5061:117;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5061:117:0;-1:-1:-1;;;;;5061:117:0;;;;;1203:143;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1203:143:0;-1:-1:-1;;;;;1203:143:0;;;;;48:20:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;48:20:3;;;;5505:190:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5505:190:0;-1:-1:-1;;;;;5505:190:0;;;;;;;;;;164:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;164:55:0;;;;;;;;;;;;;;;;;;;;;2183:190;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2183:190:0;;;;;4029:883;;;;;;;;;;;;;;;;;;;;;;;;;;133:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;133:24:0;;;;6242:106;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6242:106:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6242:106:0;;-1:-1:-1;6242:106:0;;-1:-1:-1;;;;;;;6242:106:0;6038:92;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6038:92:0;;;;223:109:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;223:109:3;-1:-1:-1;;;;;223:109:3;;;;;3274:251:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3274:251:0;;;;;-1:-1:-1;;;;;3274:251:0;;;;;987:93;1065:8;;-1:-1:-1;;;;;1065:8:0;987:93;;:::o;1430:137::-;193:5:3;;-1:-1:-1;;;;;193:5:3;179:10;:19;171:28;;;;;;1507:11:0;:17;;;1539:21;;;;;;;;;;;;;;;;;1430:137;:::o;305:22::-;;;;;;;;;;;;;;;-1:-1:-1;;305:22:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1721:204::-;193:5:3;;-1:-1:-1;;;;;193:5:3;179:10;:19;171:28;;;;;;1825:32:0;;;;:19;:32;;;;;;;;;:38;;;1878:40;;;;;;;1845:11;;1878:40;;;;;;;;;1721:204;;:::o;2848:150::-;193:5:3;;-1:-1:-1;;;;;193:5:3;179:10;:19;171:28;;;;;;2926:8:0;;:28;;;;;;;;;;;;;;-1:-1:-1;;;;;2926:8:0;;;;:23;;:28;;;;;:8;;:28;;;;;;;;:8;;:28;;;5:2:-1;;;;30:1;27;20:12;5:2;2926:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;2969:22:0;;;;;;;;;;-1:-1:-1;2969:22:0;;;;;;;-1:-1:-1;2969:22:0;2848:150;:::o;5061:117::-;193:5:3;;-1:-1:-1;;;;;193:5:3;179:10;:19;171:28;;;;;;5134:36:0;;-1:-1:-1;;;;;5134:13:0;;;5156:4;5148:21;5134:36;;;;;;;;;5148:21;5134:13;:36;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5134:36:0;5061:117;:::o;1203:143::-;193:5:3;;-1:-1:-1;;;;;193:5:3;179:10;:19;171:28;;;;;;1279:8:0;:25;;-1:-1:-1;;;;;1279:25:0;;-1:-1:-1;;1279:25:0;;;;;;;;1319:20;;;;;;;;;;;;;;;;1203:143;:::o;48:20:3:-;;;-1:-1:-1;;;;;48:20:3;;:::o;5505:190:0:-;5598:11;193:5:3;;-1:-1:-1;;;;;193:5:3;179:10;:19;171:28;;;;;;5612:31:0;;;;;;5637:4;5612:31;;;;;;-1:-1:-1;;;;;5612:16:0;;;;;:31;;;;;;;;;;;;;;-1:-1:-1;5612:16:0;:31;;;5:2:-1;;;;30:1;27;20:12;5:2;5612:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5612:31:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5612:31:0;5653:34;;;;;;-1:-1:-1;;;;;5653:34:0;;;;;;;;;;;;;;;5612:31;;-1:-1:-1;5653:23:0;;;;;;:34;;;;;5612:31;;5653:34;;;;;;;;-1:-1:-1;5653:23:0;:34;;;5:2:-1;;;;30:1;27;20:12;5:2;5653:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5653:34:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;5505:190:0:o;164:55::-;;;;;;;;;;;;;:::o;2183:190::-;2253:7;2280:32;;;:19;:32;;;;;;:36;-1:-1:-1;2279:87:0;;2355:11;;2279:87;;;2320:32;;;;:19;:32;;;;;;2279:87;2272:94;2183:190;-1:-1:-1;;2183:190:0:o;4029:883::-;4131:4;4148:23;4369:12;4174:26;4188:11;4174:13;:26::i;:::-;4148:52;-1:-1:-1;4236:1:0;4218:19;;4210:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4313:33:0;;;;:20;:33;;;;;:46;;4350:9;4313:46;;;;;4432:23;;;4428:477;;4471:8;;:74;;;;;;;;;;;;4520:10;4471:74;;;;;;;;;;;;-1:-1:-1;;;;;4471:8:0;;;;:35;;:74;;;;;:8;;:74;;;;;;;;:8;;:74;;;5:2:-1;;;;30:1;27;20:12;5:2;4471:74:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;4564:60:0;;;4599:9;4564:60;;4610:10;4564:60;;;;;;;;;;;4586:11;;-1:-1:-1;4564:60:0;;-1:-1:-1;4564:60:0;;;;;;;;4645:4;4638:11;;;;4428:477;4689:8;;:33;;;;;;;;;;;;;;-1:-1:-1;;;;;4689:8:0;;;;:20;;:33;;;;;;;;;;;;;;;:8;;:33;;;5:2:-1;;;;30:1;27;20:12;5:2;4689:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4689:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4689:33:0;4688:34;4680:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4787:81;;;4822:9;4787:81;;4833:10;4787:81;;;;4845:22;;;4787:81;;;;;;4809:11;;4787:81;;;;;;;;;;4889:5;4882:12;;4428:477;4029:883;;;;;;:::o;133:24::-;;;-1:-1:-1;;;;;133:24:0;;:::o;6242:106::-;193:5:3;;-1:-1:-1;;;;;193:5:3;179:10;:19;171:28;;;;;;6321:20:0;;;;:8;;:20;;;;;:::i;6038:92::-;193:5:3;;-1:-1:-1;;;;;193:5:3;179:10;:19;171:28;;;;;;6103:8:0;;;;;;;;;-1:-1:-1;;;;;6103:8:0;-1:-1:-1;;;;;6103:17:0;;:19;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6103:19:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6103:19:0;;;;6038:92::o;223:109:3:-;193:5;;-1:-1:-1;;;;;193:5:3;179:10;:19;171:28;;;;;;309:5;:16;;-1:-1:-1;;309:16:3;-1:-1:-1;;;;;309:16:3;;;;;;;;;;223:109::o;3274:251:0:-;193:5:3;;-1:-1:-1;;;;;193:5:3;179:10;:19;171:28;;;;;;3411:33:0;;;;:20;:33;;;;;;3404:40;;;3454:8;;:64;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3454:64:0;;;;;;;;;:8;;;;;:33;;:64;;;;;;;;;;3411:33;3454:8;:64;;;5:2:-1;;;;30:1;27;20:12;5:2;3454:64:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3454:64:0;;;;3274:251;;;:::o;97:6254::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;97:6254:0;;;-1:-1:-1;97:6254:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;",
"source": "pragma solidity ^0.4.24;\n\nimport './Owned.sol';\nimport './Realitio.sol';\nimport './IERC20.sol';\n\ncontract Arbitrator is Owned {\n\n Realitio public realitio;\n\n mapping(bytes32 => uint256) public arbitration_bounties;\n\n uint256 dispute_fee;\n mapping(bytes32 => uint256) custom_dispute_fees;\n\n string public metadata;\n\n event LogRequestArbitration(\n bytes32 indexed question_id,\n uint256 fee_paid,\n address requester,\n uint256 remaining\n );\n\n event LogSetRealitio(\n address realitio\n );\n\n event LogSetQuestionFee(\n uint256 fee\n );\n\n\n event LogSetDisputeFee(\n uint256 fee\n );\n\n event LogSetCustomDisputeFee(\n bytes32 indexed question_id,\n uint256 fee\n );\n\n /// @notice Constructor. Sets the deploying address as owner.\n constructor() \n public {\n owner = msg.sender;\n }\n\n /// @notice Returns the Realitio contract address - deprecated in favour of realitio()\n function realitycheck() \n external view returns(Realitio) {\n return realitio;\n }\n\n /// @notice Set the Reality Check contract address\n /// @param addr The address of the Reality Check contract\n function setRealitio(address addr) \n onlyOwner \n public {\n realitio = Realitio(addr);\n emit LogSetRealitio(addr);\n }\n\n /// @notice Set the default fee\n /// @param fee The default fee amount\n function setDisputeFee(uint256 fee) \n onlyOwner \n public {\n dispute_fee = fee;\n emit LogSetDisputeFee(fee);\n }\n\n /// @notice Set a custom fee for this particular question\n /// @param question_id The question in question\n /// @param fee The fee amount\n function setCustomDisputeFee(bytes32 question_id, uint256 fee) \n onlyOwner \n public {\n custom_dispute_fees[question_id] = fee;\n emit LogSetCustomDisputeFee(question_id, fee);\n }\n\n /// @notice Return the dispute fee for the specified question. 0 indicates that we won't arbitrate it.\n /// @param question_id The question in question\n /// @dev Uses a general default, but can be over-ridden on a question-by-question basis.\n function getDisputeFee(bytes32 question_id) \n public view returns (uint256) {\n return (custom_dispute_fees[question_id] > 0) ? custom_dispute_fees[question_id] : dispute_fee;\n }\n\n /// @notice Set a fee for asking a question with us as the arbitrator\n /// @param fee The fee amount\n /// @dev Default is no fee. Unlike the dispute fee, 0 is an acceptable setting.\n /// You could set an impossibly high fee if you want to prevent us being used as arbitrator unless we submit the question.\n /// (Submitting the question ourselves is not implemented here.)\n /// This fee can be used as a revenue source, an anti-spam measure, or both.\n function setQuestionFee(uint256 fee) \n onlyOwner \n public {\n realitio.setQuestionFee(fee);\n emit LogSetQuestionFee(fee);\n }\n\n /// @notice Submit the arbitrator's answer to a question.\n /// @param question_id The question in question\n /// @param answer The answer\n /// @param answerer The answerer. If arbitration changed the answer, it should be the payer. If not, the old answerer.\n function submitAnswerByArbitrator(bytes32 question_id, bytes32 answer, address answerer) \n onlyOwner \n public {\n delete arbitration_bounties[question_id];\n realitio.submitAnswerByArbitrator(question_id, answer, answerer);\n }\n\n /// @notice Request arbitration, freezing the question until we send submitAnswerByArbitrator\n /// @dev The bounty can be paid only in part, in which case the last person to pay will be considered the payer\n /// Will trigger an error if the notification fails, eg because the question has already been finalized\n /// @param question_id The question in question\n /// @param max_previous If specified, reverts if a bond higher than this was submitted after you sent your transaction.\n function requestArbitration(bytes32 question_id, uint256 max_previous) \n external payable returns (bool) {\n\n uint256 arbitration_fee = getDisputeFee(question_id);\n require(arbitration_fee > 0, \"The arbitrator must have set a non-zero fee for the question\");\n\n arbitration_bounties[question_id] += msg.value;\n uint256 paid = arbitration_bounties[question_id];\n\n if (paid >= arbitration_fee) {\n realitio.notifyOfArbitrationRequest(question_id, msg.sender, max_previous);\n emit LogRequestArbitration(question_id, msg.value, msg.sender, 0);\n return true;\n } else {\n require(!realitio.isFinalized(question_id), \"The question must not have been finalized\");\n emit LogRequestArbitration(question_id, msg.value, msg.sender, arbitration_fee - paid);\n return false;\n }\n\n }\n\n /// @notice Withdraw any accumulated ETH fees to the specified address\n /// @param addr The address to which the balance should be sent\n function withdraw(address addr) \n onlyOwner \n public {\n addr.transfer(address(this).balance); \n }\n\n /// @notice Withdraw any accumulated token fees to the specified address\n /// @param addr The address to which the balance should be sent\n /// @dev Only needed if the Realitio contract used is using an ERC20 token\n /// @dev Also only normally useful if a per-question fee is set, otherwise we only have ETH.\n function withdrawERC20(IERC20 _token, address addr) \n onlyOwner \n public {\n uint256 bal = _token.balanceOf(address(this));\n IERC20(_token).transfer(addr, bal); \n }\n\n function() \n external payable {\n }\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 This works in the same way whether the realitio contract is using ETH or an ERC20 token\n function callWithdraw() \n onlyOwner \n public {\n realitio.withdraw(); \n }\n\n /// @notice Set a metadata string, expected to be JSON, containing things like arbitrator TOS address\n function setMetaData(string _metadata) \n onlyOwner\n public {\n metadata = _metadata;\n }\n\n}\n",
"sourcePath": "/home/ed/working/realitio-contracts-newtest/truffle/contracts/Arbitrator.sol",
"ast": {
"absolutePath": "/home/ed/working/realitio-contracts-newtest/truffle/contracts/Arbitrator.sol",
"exportedSymbols": {
"Arbitrator": [
339
]
},
"id": 340,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"^",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
"src": "0:24:0"
},
{
"absolutePath": "/home/ed/working/realitio-contracts-newtest/truffle/contracts/Owned.sol",
"file": "./Owned.sol",
"id": 2,
"nodeType": "ImportDirective",
"scope": 340,
"sourceUnit": 491,
"src": "26:21:0",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/home/ed/working/realitio-contracts-newtest/truffle/contracts/Realitio.sol",
"file": "./Realitio.sol",
"id": 3,
"nodeType": "ImportDirective",
"scope": 340,
"sourceUnit": 2508,
"src": "48:24:0",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/home/ed/working/realitio-contracts-newtest/truffle/contracts/IERC20.sol",
"file": "./IERC20.sol",
"id": 4,
"nodeType": "ImportDirective",
"scope": 340,
"sourceUnit": 454,
"src": "73:22:0",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 5,
"name": "Owned",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 490,
"src": "120:5:0",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Owned_$490",
"typeString": "contract Owned"
}
},
"id": 6,
"nodeType": "InheritanceSpecifier",
"src": "120:5:0"
}
],
"contractDependencies": [
490
],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 339,
"linearizedBaseContracts": [
339,
490
],
"name": "Arbitrator",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 8,
"name": "realitio",
"nodeType": "VariableDeclaration",
"scope": 339,
"src": "133:24:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Realitio_$2507",
"typeString": "contract Realitio"
},
"typeName": {
"contractScope": null,
"id": 7,
"name": "Realitio",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2507,
"src": "133:8:0",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Realitio_$2507",
"typeString": "contract Realitio"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 12,
"name": "arbitration_bounties",
"nodeType": "VariableDeclaration",
"scope": 339,
"src": "164:55:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
"typeString": "mapping(bytes32 => uint256)"
},
"typeName": {
"id": 11,
"keyType": {
"id": 9,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "172:7:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "Mapping",
"src": "164:27:0",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
"typeString": "mapping(bytes32 => uint256)"
},
"valueType": {
"id": 10,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "183:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 14,
"name": "dispute_fee",
"nodeType": "VariableDeclaration",
"scope": 339,
"src": "226:19:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 13,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "226:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 18,
"name": "custom_dispute_fees",
"nodeType": "VariableDeclaration",
"scope": 339,
"src": "251:47:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
"typeString": "mapping(bytes32 => uint256)"
},
"typeName": {
"id": 17,
"keyType": {
"id": 15,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "259:7:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "Mapping",
"src": "251:27:0",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
"typeString": "mapping(bytes32 => uint256)"
},
"valueType": {
"id": 16,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "270:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 20,
"name": "metadata",
"nodeType": "VariableDeclaration",
"scope": 339,
"src": "305:22:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string"
},
"typeName": {
"id": 19,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "305:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "public"
},
{
"anonymous": false,
"documentation": null,
"id": 30,
"name": "LogRequestArbitration",
"nodeType": "EventDefinition",
"parameters": {
"id": 29,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 22,
"indexed": true,
"name": "question_id",
"nodeType": "VariableDeclaration",
"scope": 30,
"src": "371:27:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 21,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "371:7:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 24,
"indexed": false,
"name": "fee_paid",
"nodeType": "VariableDeclaration",
"scope": 30,
"src": "408:16:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 23,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "408:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 26,
"indexed": false,
"name": "requester",
"nodeType": "VariableDeclaration",
"scope": 30,
"src": "434:17:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 25,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "434:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 28,
"indexed": false,
"name": "remaining",
"nodeType": "VariableDeclaration",
"scope": 30,
"src": "461:17:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 27,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "461:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "361:123:0"
},
"src": "334:151:0"
},
{
"anonymous": false,
"documentation": null,
"id": 34,
"name": "LogSetRealitio",
"nodeType": "EventDefinition",
"parameters": {
"id": 33,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 32,
"indexed": false,
"name": "realitio",
"nodeType": "VariableDeclaration",
"scope": 34,
"src": "521:16:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 31,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "521:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "511:32:0"
},
"src": "491:53:0"
},
{
"anonymous": false,
"documentation": null,
"id": 38,
"name": "LogSetQuestionFee",
"nodeType": "EventDefinition",
"parameters": {
"id": 37,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 36,
"indexed": false,
"name": "fee",
"nodeType": "VariableDeclaration",
"scope": 38,
"src": "583:11:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 35,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "583:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "573:27:0"
},
"src": "550:51:0"
},
{
"anonymous": false,
"documentation": null,
"id": 42,
"name": "LogSetDisputeFee",
"nodeType": "EventDefinition",
"parameters": {
"id": 41,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 40,
"indexed": false,
"name": "fee",
"nodeType": "VariableDeclaration",
"scope": 42,
"src": "640:11:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 39,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "640:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "630:27:0"
},
"src": "608:50:0"
},
{
"anonymous": false,
"documentation": null,
"id": 48,
"name": "LogSetCustomDisputeFee",
"nodeType": "EventDefinition",
"parameters": {
"id": 47,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 44,
"indexed": true,
"name": "question_id",
"nodeType": "VariableDeclaration",
"scope": 48,
"src": "702:27:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 43,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "702:7:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 46,
"indexed": false,
"name": "fee",
"nodeType": "VariableDeclaration",
"scope": 48,
"src": "739:11:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 45,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "739:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "692:64:0"
},
"src": "664:93:0"
},
{
"body": {
"id": 56,
"nodeType": "Block",
"src": "855:35:0",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 54,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 51,
"name": "owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 457,
"src": "865:5:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 52,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2726,
"src": "873:3:0",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 53,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "873:10:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "865:18:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 55,
"nodeType": "ExpressionStatement",
"src": "865:18:0"
}
]
},
"documentation": "@notice Constructor. Sets the deploying address as owner.",
"id": 57,
"implemen