UNPKG

@reality.eth/contracts

Version:

Collection of smart contracts for the Realitio fact verification platform

1,047 lines 283 kB
{ "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