kleros-interaction-2
Version:
Smart contracts interacting with Kleros.
13,934 lines • 610 kB
JSON
{
"contractName": "ArbitrableDeposit",
"abi": [
{
"constant": true,
"inputs": [],
"name": "arbitratorExtraData",
"outputs": [
{
"name": "",
"type": "bytes"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "status",
"outputs": [
{
"name": "",
"type": "uint8"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "claimantFee",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_disputeID",
"type": "uint256"
},
{
"name": "_ruling",
"type": "uint256"
}
],
"name": "rule",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "arbitrator",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "timeout",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "claimDepositAmount",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "claimAmount",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "claimRate",
"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": "lastInteraction",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "amount",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "disputeID",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "claimant",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "ownerFee",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"name": "_arbitrator",
"type": "address"
},
{
"name": "_timeout",
"type": "uint256"
},
{
"name": "_arbitratorExtraData",
"type": "bytes"
},
{
"name": "_claimRate",
"type": "uint256"
},
{
"name": "_metaEvidence",
"type": "string"
}
],
"payable": true,
"stateMutability": "payable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"name": "_party",
"type": "uint8"
}
],
"name": "HasToPayFee",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "_metaEvidenceID",
"type": "uint256"
},
{
"indexed": false,
"name": "_evidence",
"type": "string"
}
],
"name": "MetaEvidence",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "_arbitrator",
"type": "address"
},
{
"indexed": true,
"name": "_disputeID",
"type": "uint256"
},
{
"indexed": false,
"name": "_metaEvidenceID",
"type": "uint256"
}
],
"name": "Dispute",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "_arbitrator",
"type": "address"
},
{
"indexed": true,
"name": "_disputeID",
"type": "uint256"
},
{
"indexed": true,
"name": "_party",
"type": "address"
},
{
"indexed": false,
"name": "_evidence",
"type": "string"
}
],
"name": "Evidence",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "_arbitrator",
"type": "address"
},
{
"indexed": true,
"name": "_disputeID",
"type": "uint256"
},
{
"indexed": false,
"name": "_ruling",
"type": "uint256"
}
],
"name": "Ruling",
"type": "event"
},
{
"constant": false,
"inputs": [],
"name": "deposit",
"outputs": [],
"payable": true,
"stateMutability": "payable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_claimAmount",
"type": "uint256"
}
],
"name": "makeClaim",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_responseAmount",
"type": "uint256"
}
],
"name": "claimResponse",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "payArbitrationFeeByOwner",
"outputs": [],
"payable": true,
"stateMutability": "payable",
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "payArbitrationFeeByClaimant",
"outputs": [],
"payable": true,
"stateMutability": "payable",
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "timeOutByOwner",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "timeOutByClaimant",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x608060405260405162001689380380620016898339810160409081528151602080840151928401516060850151608086015160008054600160a060020a031916600160a060020a0387161790559186018051949690949193920191869185916200006f9160019184019062000178565b5050506004849055600b829055600e805460ff191690556009805434019081905560028054600160a060020a03191633179055604051309180156108fc02916000818181858888f19350505050158015620000ce573d6000803e3d6000fd5b5060007f61606860eb6c87306811e2695215385101daab53bd6ab4e9f9049aead9363c7d826040518080602001828103825283818151815260200191508051906020019080838360005b838110156200013257818101518382015260200162000118565b50505050905090810190601f168015620001605780820380516001836020036101000a031916815260200191505b509250505060405180910390a250505050506200021d565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001bb57805160ff1916838001178555620001eb565b82800160010185558215620001eb579182015b82811115620001eb578251825591602001919060010190620001ce565b50620001f9929150620001fd565b5090565b6200021a91905b80821115620001f9576000815560010162000204565b90565b61145c806200022d6000396000f3006080604052600436106101275763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166307c665c1811461012c5780630c7ac7b6146101435780631077f06c146101cd578063200d2ed2146101e55780632e7bb8d21461021e578063311a6c561461024557806360c1f8001461026057806361aab938146102685780636cc6cde11461028057806370dea79a146102b15780637c100247146102c6578063830953ab146102db578063898fdf94146102f05780638da5cb5b146103055780638f71a2651461031a578063a243437b1461032f578063aa8c217c14610337578063b0a1e2b41461034c578063ce008b9f14610361578063d0e30db014610376578063d28720af1461037e578063d5b2a01a14610393575b600080fd5b34801561013857600080fd5b506101416103a8565b005b34801561014f57600080fd5b5061015861052c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019257818101518382015260200161017a565b50505050905090810190601f1680156101bf5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d957600080fd5b506101416004356105b9565b3480156101f157600080fd5b506101fa61070a565b6040518082600481111561020a57fe5b60ff16815260200191505060405180910390f35b34801561022a57600080fd5b50610233610713565b60408051918252519081900360200190f35b34801561025157600080fd5b50610141600435602435610719565b6101416107e6565b34801561027457600080fd5b50610141600435610abf565b34801561028c57600080fd5b50610295610c23565b60408051600160a060020a039092168252519081900360200190f35b3480156102bd57600080fd5b50610233610c32565b3480156102d257600080fd5b50610233610c38565b3480156102e757600080fd5b50610233610c3e565b3480156102fc57600080fd5b50610233610c44565b34801561031157600080fd5b50610295610c4a565b34801561032657600080fd5b50610233610c59565b610141610c5f565b34801561034357600080fd5b50610233610f29565b34801561035857600080fd5b50610233610f2f565b34801561036d57600080fd5b50610141610f35565b61014161107f565b34801561038a57600080fd5b50610295611105565b34801561039f57600080fd5b50610233611114565b600354600160a060020a03163314610430576040805160e560020a62461bcd02815260206004820152602360248201527f43616e206f6e6c792062652063616c6c65642062792074686520636c61696d6160448201527f6e742e0000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6001600e5460ff16600481111561044357fe5b146104be576040805160e560020a62461bcd02815260206004820152602a60248201527f54686520636f6e7472616374206973206e6f742077616974696e6720666f722060448201527f746865206f776e65722e00000000000000000000000000000000000000000000606482015290519081900360840190fd5b6004546007540142101561051c576040805160e560020a62461bcd02815260206004820152601b60248201527f4e6f7420656e6f7567682074696d6520686173207061737365642e0000000000604482015290519081900360640190fd5b60085461052a90600261111a565b565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105b15780601f10610586576101008083540402835291602001916105b1565b820191906000526020600020905b81548152906001019060200180831161059457829003601f168201915b505050505081565b600254600160a060020a031633141561061c576040805160e560020a62461bcd02815260206004820152601e60248201527f43616e6e6f742062652063616c6c656420627920746865206f776e65722e0000604482015290519081900360640190fd5b60095481111561069c576040805160e560020a62461bcd02815260206004820152602960248201527f43616e6e6f7420636c61696d206d6f7265207468616e2077686174206973206460448201527f65706f73697465642e0000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6003805473ffffffffffffffffffffffffffffffffffffffff191633179055600a819055600b54606490820204600d819055604051309180156108fc02916000818181858888f193505050501580156106f9573d6000803e3d6000fd5b5050600e805460ff19166001179055565b600e5460ff1681565b60065481565b600054600160a060020a031633146107a1576040805160e560020a62461bcd02815260206004820152602560248201527f43616e206f6e6c792062652063616c6c6564206279207468652061726269747260448201527f61746f722e000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b604080518281529051839133917f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222769181900360200190a36107e2828261111a565b5050565b600254600090600160a060020a03163314610839576040805160e560020a62461bcd0281526020600482018190526024820152600080516020611411833981519152604482015290519081900360640190fd5b6000546040517ff7434ea90000000000000000000000000000000000000000000000000000000081526020600482019081526001805460026000198284161561010002019091160460248401819052600160a060020a039094169363f7434ea9939192918291604490910190849080156108f45780601f106108c9576101008083540402835291602001916108f4565b820191906000526020600020905b8154815290600101906020018083116108d757829003601f168201915b505092505050602060405180830381600087803b15801561091457600080fd5b505af1158015610928573d6000803e3d6000fd5b505050506040513d602081101561093e57600080fd5b50516005805434019081905590915081146109c9576040805160e560020a62461bcd02815260206004820152602660248201527f4f776e657220666565206d75737420657175616c206172626974726174696f6e60448201527f20636f73742e0000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6003600e5460ff1660048111156109dc57fe5b10610a57576040805160e560020a62461bcd02815260206004820152602260248201527f4120646973707574652068617320616c7265616479206265656e20726169736560448201527f642e000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b42600755600654811115610ab357600e80546002919060ff19166001835b0217905550604080516001815290517fba8db766b5582c21593909b57af48297714ea2c508bfff6c537ce36bb853e5689181900360200190a1610abc565b610abc816112a8565b50565b600254600160a060020a03163314610b0f576040805160e560020a62461bcd0281526020600482018190526024820152600080516020611411833981519152604482015290519081900360640190fd5b600d54811115610bb5576040805160e560020a62461bcd02815260206004820152604160248201527f54686520726573706f6e736520616d6f756e742068617320746f206265206c6560448201527f7373207468616e2074686520636c61696d206465706f73697420616d6f756e7460648201527f2e00000000000000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b600c819055600d54811415610c1b57600354604051600160a060020a039091169082156108fc029083906000818181858888f19350505050158015610bfe573d6000803e3d6000fd5b506000600a819055600955600e805460ff19166004179055610abc565b610abc6107e6565b600054600160a060020a031681565b60045481565b600d5481565b600a5481565b600b5481565b600254600160a060020a031681565b60075481565b600354600090600160a060020a03163314610cea576040805160e560020a62461bcd02815260206004820152602360248201527f43616e206f6e6c792062652063616c6c65642062792074686520636c61696d6160448201527f6e742e0000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6000546040517ff7434ea90000000000000000000000000000000000000000000000000000000081526020600482019081526001805460026000198284161561010002019091160460248401819052600160a060020a039094169363f7434ea993919291829160449091019084908015610da55780601f10610d7a57610100808354040283529160200191610da5565b820191906000526020600020905b815481529060010190602001808311610d8857829003601f168201915b505092505050602060405180830381600087803b158015610dc557600080fd5b505af1158015610dd9573d6000803e3d6000fd5b505050506040513d6020811015610def57600080fd5b5051600680543401908190559091508114610e7a576040805160e560020a62461bcd02815260206004820152602960248201527f436c61696d616e7420666565206d75737420657175616c20617262697472617460448201527f696f6e20636f73742e0000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6003600e5460ff166004811115610e8d57fe5b10610f08576040805160e560020a62461bcd02815260206004820152602260248201527f4120646973707574652068617320616c7265616479206265656e20726169736560448201527f642e000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b42600755600554811115610ab357600e80546001919060ff19168280610a75565b60095481565b60085481565b600254600160a060020a03163314610f85576040805160e560020a62461bcd0281526020600482018190526024820152600080516020611411833981519152604482015290519081900360640190fd5b6002600e5460ff166004811115610f9857fe5b14611013576040805160e560020a62461bcd02815260206004820152602d60248201527f54686520636f6e7472616374206973206e6f742077616974696e6720666f722060448201527f74686520636c61696d616e742e00000000000000000000000000000000000000606482015290519081900360840190fd5b60045460075401421015611071576040805160e560020a62461bcd02815260206004820152601b60248201527f4e6f7420656e6f7567682074696d6520686173207061737365642e0000000000604482015290519081900360640190fd5b60085461052a90600161111a565b600254600160a060020a031633146110cf576040805160e560020a62461bcd0281526020600482018190526024820152600080516020611411833981519152604482015290519081900360640190fd5b6009805434908101909155604051309180156108fc02916000818181858888f19350505050158015610abc573d6000803e3d6000fd5b600354600160a060020a031681565b60055481565b6008548214611173576040805160e560020a62461bcd02815260206004820152601160248201527f57726f6e6720646973707574652049442e000000000000000000000000000000604482015290519081900360640190fd5b60028111156111cc576040805160e560020a62461bcd02815260206004820152600f60248201527f496e76616c69642072756c696e672e0000000000000000000000000000000000604482015290519081900360640190fd5b600181141561125857600254600a54600954604051600160a060020a0390931692910180156108fc02916000818181858888f19350505050158015611215573d6000803e3d6000fd5b50600354600c54604051600160a060020a039092169181156108fc0291906000818181858888f19350505050158015611252573d6000803e3d6000fd5b5061129f565b600281141561129f57600354600954604051600160a060020a039092169181156108fc0291906000818181858888f1935050505015801561129d573d6000803e3d6000fd5b505b50506000600955565b600e805460ff19166003179055600054604080517fc13517e100000000000000000000000000000000000000000000000000000000815260026004820181815260248301938452600180546101008183161502600019011683900460448501819052600160a060020a039096169563c13517e19588959293929091606490910190849080156113785780601f1061134d57610100808354040283529160200191611378565b820191906000526020600020905b81548152906001019060200180831161135b57829003601f168201915b505093505050506020604051808303818588803b15801561139857600080fd5b505af11580156113ac573d6000803e3d6000fd5b50505050506040513d60208110156113c357600080fd5b50516008819055600080546040805192835251600160a060020a03909116917fc21357d76c2ee05713ed6e2edb9a5f60ab1e8748c56201385df30007f774f58d919081900360200190a350560043616e206f6e6c792062652063616c6c656420627920746865206f776e65722ea165627a7a7230582005b3cc5efffbd8ab0bc57b1b9ab5df22770f40a4a568834eab42122dbbabc8940029",
"deployedBytecode": "0x6080604052600436106101275763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166307c665c1811461012c5780630c7ac7b6146101435780631077f06c146101cd578063200d2ed2146101e55780632e7bb8d21461021e578063311a6c561461024557806360c1f8001461026057806361aab938146102685780636cc6cde11461028057806370dea79a146102b15780637c100247146102c6578063830953ab146102db578063898fdf94146102f05780638da5cb5b146103055780638f71a2651461031a578063a243437b1461032f578063aa8c217c14610337578063b0a1e2b41461034c578063ce008b9f14610361578063d0e30db014610376578063d28720af1461037e578063d5b2a01a14610393575b600080fd5b34801561013857600080fd5b506101416103a8565b005b34801561014f57600080fd5b5061015861052c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019257818101518382015260200161017a565b50505050905090810190601f1680156101bf5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d957600080fd5b506101416004356105b9565b3480156101f157600080fd5b506101fa61070a565b6040518082600481111561020a57fe5b60ff16815260200191505060405180910390f35b34801561022a57600080fd5b50610233610713565b60408051918252519081900360200190f35b34801561025157600080fd5b50610141600435602435610719565b6101416107e6565b34801561027457600080fd5b50610141600435610abf565b34801561028c57600080fd5b50610295610c23565b60408051600160a060020a039092168252519081900360200190f35b3480156102bd57600080fd5b50610233610c32565b3480156102d257600080fd5b50610233610c38565b3480156102e757600080fd5b50610233610c3e565b3480156102fc57600080fd5b50610233610c44565b34801561031157600080fd5b50610295610c4a565b34801561032657600080fd5b50610233610c59565b610141610c5f565b34801561034357600080fd5b50610233610f29565b34801561035857600080fd5b50610233610f2f565b34801561036d57600080fd5b50610141610f35565b61014161107f565b34801561038a57600080fd5b50610295611105565b34801561039f57600080fd5b50610233611114565b600354600160a060020a03163314610430576040805160e560020a62461bcd02815260206004820152602360248201527f43616e206f6e6c792062652063616c6c65642062792074686520636c61696d6160448201527f6e742e0000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6001600e5460ff16600481111561044357fe5b146104be576040805160e560020a62461bcd02815260206004820152602a60248201527f54686520636f6e7472616374206973206e6f742077616974696e6720666f722060448201527f746865206f776e65722e00000000000000000000000000000000000000000000606482015290519081900360840190fd5b6004546007540142101561051c576040805160e560020a62461bcd02815260206004820152601b60248201527f4e6f7420656e6f7567682074696d6520686173207061737365642e0000000000604482015290519081900360640190fd5b60085461052a90600261111a565b565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105b15780601f10610586576101008083540402835291602001916105b1565b820191906000526020600020905b81548152906001019060200180831161059457829003601f168201915b505050505081565b600254600160a060020a031633141561061c576040805160e560020a62461bcd02815260206004820152601e60248201527f43616e6e6f742062652063616c6c656420627920746865206f776e65722e0000604482015290519081900360640190fd5b60095481111561069c576040805160e560020a62461bcd02815260206004820152602960248201527f43616e6e6f7420636c61696d206d6f7265207468616e2077686174206973206460448201527f65706f73697465642e0000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6003805473ffffffffffffffffffffffffffffffffffffffff191633179055600a819055600b54606490820204600d819055604051309180156108fc02916000818181858888f193505050501580156106f9573d6000803e3d6000fd5b5050600e805460ff19166001179055565b600e5460ff1681565b60065481565b600054600160a060020a031633146107a1576040805160e560020a62461bcd02815260206004820152602560248201527f43616e206f6e6c792062652063616c6c6564206279207468652061726269747260448201527f61746f722e000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b604080518281529051839133917f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222769181900360200190a36107e2828261111a565b5050565b600254600090600160a060020a03163314610839576040805160e560020a62461bcd0281526020600482018190526024820152600080516020611411833981519152604482015290519081900360640190fd5b6000546040517ff7434ea90000000000000000000000000000000000000000000000000000000081526020600482019081526001805460026000198284161561010002019091160460248401819052600160a060020a039094169363f7434ea9939192918291604490910190849080156108f45780601f106108c9576101008083540402835291602001916108f4565b820191906000526020600020905b8154815290600101906020018083116108d757829003601f168201915b505092505050602060405180830381600087803b15801561091457600080fd5b505af1158015610928573d6000803e3d6000fd5b505050506040513d602081101561093e57600080fd5b50516005805434019081905590915081146109c9576040805160e560020a62461bcd02815260206004820152602660248201527f4f776e657220666565206d75737420657175616c206172626974726174696f6e60448201527f20636f73742e0000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6003600e5460ff1660048111156109dc57fe5b10610a57576040805160e560020a62461bcd02815260206004820152602260248201527f4120646973707574652068617320616c7265616479206265656e20726169736560448201527f642e000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b42600755600654811115610ab357600e80546002919060ff19166001835b0217905550604080516001815290517fba8db766b5582c21593909b57af48297714ea2c508bfff6c537ce36bb853e5689181900360200190a1610abc565b610abc816112a8565b50565b600254600160a060020a03163314610b0f576040805160e560020a62461bcd0281526020600482018190526024820152600080516020611411833981519152604482015290519081900360640190fd5b600d54811115610bb5576040805160e560020a62461bcd02815260206004820152604160248201527f54686520726573706f6e736520616d6f756e742068617320746f206265206c6560448201527f7373207468616e2074686520636c61696d206465706f73697420616d6f756e7460648201527f2e00000000000000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b600c819055600d54811415610c1b57600354604051600160a060020a039091169082156108fc029083906000818181858888f19350505050158015610bfe573d6000803e3d6000fd5b506000600a819055600955600e805460ff19166004179055610abc565b610abc6107e6565b600054600160a060020a031681565b60045481565b600d5481565b600a5481565b600b5481565b600254600160a060020a031681565b60075481565b600354600090600160a060020a03163314610cea576040805160e560020a62461bcd02815260206004820152602360248201527f43616e206f6e6c792062652063616c6c65642062792074686520636c61696d6160448201527f6e742e0000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6000546040517ff7434ea90000000000000000000000000000000000000000000000000000000081526020600482019081526001805460026000198284161561010002019091160460248401819052600160a060020a039094169363f7434ea993919291829160449091019084908015610da55780601f10610d7a57610100808354040283529160200191610da5565b820191906000526020600020905b815481529060010190602001808311610d8857829003601f168201915b505092505050602060405180830381600087803b158015610dc557600080fd5b505af1158015610dd9573d6000803e3d6000fd5b505050506040513d6020811015610def57600080fd5b5051600680543401908190559091508114610e7a576040805160e560020a62461bcd02815260206004820152602960248201527f436c61696d616e7420666565206d75737420657175616c20617262697472617460448201527f696f6e20636f73742e0000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6003600e5460ff166004811115610e8d57fe5b10610f08576040805160e560020a62461bcd02815260206004820152602260248201527f4120646973707574652068617320616c7265616479206265656e20726169736560448201527f642e000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b42600755600554811115610ab357600e80546001919060ff19168280610a75565b60095481565b60085481565b600254600160a060020a03163314610f85576040805160e560020a62461bcd0281526020600482018190526024820152600080516020611411833981519152604482015290519081900360640190fd5b6002600e5460ff166004811115610f9857fe5b14611013576040805160e560020a62461bcd02815260206004820152602d60248201527f54686520636f6e7472616374206973206e6f742077616974696e6720666f722060448201527f74686520636c61696d616e742e00000000000000000000000000000000000000606482015290519081900360840190fd5b60045460075401421015611071576040805160e560020a62461bcd02815260206004820152601b60248201527f4e6f7420656e6f7567682074696d6520686173207061737365642e0000000000604482015290519081900360640190fd5b60085461052a90600161111a565b600254600160a060020a031633146110cf576040805160e560020a62461bcd0281526020600482018190526024820152600080516020611411833981519152604482015290519081900360640190fd5b6009805434908101909155604051309180156108fc02916000818181858888f19350505050158015610abc573d6000803e3d6000fd5b600354600160a060020a031681565b60055481565b6008548214611173576040805160e560020a62461bcd02815260206004820152601160248201527f57726f6e6720646973707574652049442e000000000000000000000000000000604482015290519081900360640190fd5b60028111156111cc576040805160e560020a62461bcd02815260206004820152600f60248201527f496e76616c69642072756c696e672e0000000000000000000000000000000000604482015290519081900360640190fd5b600181141561125857600254600a54600954604051600160a060020a0390931692910180156108fc02916000818181858888f19350505050158015611215573d6000803e3d6000fd5b50600354600c54604051600160a060020a039092169181156108fc0291906000818181858888f19350505050158015611252573d6000803e3d6000fd5b5061129f565b600281141561129f57600354600954604051600160a060020a039092169181156108fc0291906000818181858888f1935050505015801561129d573d6000803e3d6000fd5b505b50506000600955565b600e805460ff19166003179055600054604080517fc13517e100000000000000000000000000000000000000000000000000000000815260026004820181815260248301938452600180546101008183161502600019011683900460448501819052600160a060020a039096169563c13517e19588959293929091606490910190849080156113785780601f1061134d57610100808354040283529160200191611378565b820191906000526020600020905b81548152906001019060200180831161135b57829003601f168201915b505093505050506020604051808303818588803b15801561139857600080fd5b505af11580156113ac573d6000803e3d6000fd5b50505050506040513d60208110156113c357600080fd5b50516008819055600080546040805192835251600160a060020a03909116917fc21357d76c2ee05713ed6e2edb9a5f60ab1e8748c56201385df30007f774f58d919081900360200190a350560043616e206f6e6c792062652063616c6c656420627920746865206f776e65722ea165627a7a7230582005b3cc5efffbd8ab0bc57b1b9ab5df22770f40a4a568834eab42122dbbabc8940029",
"sourceMap": "652:8183:3:-;;;2735:469;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2848:10:2;:24;;-1:-1:-1;;;;;;2848:24:2;-1:-1:-1;;;;;2848:24:2;;;;;2735:469:3;;;2882:42:2;;2735:469:3;;;;;;;;;;;;;2882:42:2;;-1:-1:-1;;2882:42:2;;;;:::i;:::-;-1:-1:-1;;;2970:7:3;:18;;;2998:9;:22;;;3030:6;:25;;-1:-1:-1;;3030:25:3;;;3065:6;:19;;3075:9;3065:19;;;;;-1:-1:-1;3094:18:3;;-1:-1:-1;;;;;;3094:18:3;3102:10;3094:18;;;3122:30;;3130:4;;3122:30;;;;;-1:-1:-1;3122:30:3;-1:-1:-1;3122:30:3;3065:19;3130:4;3122:30;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3122:30:3;3180:1;3167:30;3183:13;3167:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3167:30:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2735:469;;;;;652:8183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;652:8183:3;;;-1:-1:-1;652:8183:3;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;",
"deployedSourceMap": "652:8183:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7765:282;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7765:282:3;;;;;;691:32:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;691:32:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;691:32:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3593:371:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3593:371:3;;;;;1587:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1587:20:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;933:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;933:23:3;;;;;;;;;;;;;;;;;;;;3332:182:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3332:182:2;;;;;;;5017:888:3;;;;4168:501;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4168:501:3;;;;;657:28:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;657:28:2;;;;;;;;-1:-1:-1;;;;;657:28:2;;;;;;;;;;;;;;754:19:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;754:19:3;;;;1424:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1424:30:3;;;;1165:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1165:23:3;;;;1231:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1231:21:3;;;;699:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;699:20:3;;;;998:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;998:27:3;;;;6082:881;;;;1105:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1105:18:3;;;;1078:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1078:21:3;;;;7416:278;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7416:278:3;;;;3303:123;;;;725:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;725:23:3;;;;874:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;874:20:3;;;;7765:282;2132:8;;-1:-1:-1;;;;;2132:8:3;2110:10;:31;2102:79;;;;;-1:-1:-1;;;;;2102:79:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7842:19;7832:6;;;;:29;;;;;;;;;7824:84;;;;;-1:-1:-1;;;;;7824:84:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7951:7;;7933:15;;:25;7926:3;:32;;7918:72;;;;;-1:-1:-1;;;;;7918:72:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;8015:9;;8001:39;;1722:1;8001:13;:39::i;:::-;7765:282::o;691:32:2:-;;;;;;;;;;;;;;;-1:-1:-1;;691:32:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3593:371:3:-;2029:5;;-1:-1:-1;;;;;2029:5:3;2007:10;:28;;1999:71;;;;;-1:-1:-1;;;;;1999:71:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;3685:6;;3669:22;;;3661:76;;;;;-1:-1:-1;;;;;3661:76:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3747:8;:21;;-1:-1:-1;;3747:21:3;3758:10;3747:21;;;3778:11;:26;;;3851:9;;3864:3;;3836:24;;3835:32;3814:18;:53;;;3877:42;;3885:4;;3877:42;;;;;;;;;3835:32;3885:4;3877:42;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;3929:6:3;:28;;-1:-1:-1;;3929:28:3;3938:19;3929:28;;;3593:371::o;1587:20::-;;;;;;:::o;933:23::-;;;;:::o;3332:182:2:-;851:10;;-1:-1:-1;;;;;851:10:2;829;:33;821:83;;;;;-1:-1:-1;;;;;821:83:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3414:49;;;;;;;;3444:10;;3432;;3414:49;;;;;;;;;3474:33;3488:10;3499:7;3474:13;:33::i;:::-;3332:182;;:::o;5017:888:3:-;1924:5;;5087:20;;-1:-1:-1;;;;;1924:5:3;1902:10;:28;1894:73;;;;;-1:-1:-1;;;;;1894:73:3;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1894:73:3;;;;;;;;;;;;;;;5110:10;;:47;;;;;;;;;;;;:10;:47;;;-1:-1:-1;;5110:47:3;;;;:10;:47;;;;;;;;;;;;-1:-1:-1;;;;;5110:10:3;;;;:26;;:10;;:47;;;;;;;;:10;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5110:47:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5110:47:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5110:47:3;5167:8;:21;;5179:9;5167:21;;;;;5110:47;;-1:-1:-1;5275:27:3;;5267:78;;;;;-1:-1:-1;;;;;5267:78:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5372:21;5363:6;;;;:30;;;;;;;;;5355:77;;;;;-1:-1:-1;;;;;5355:77:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5510:3;5492:15;:21;5527:11;;:29;-1:-1:-1;5523:376:3;;;5690:6;:31;;5699:22;;5690:6;-1:-1:-1;;5690:31:3;;5699:22;5690:31;;;;;-1:-1:-1;5740:27:3;;;5752:14;5740:27;;;;;;;;;;;;;5523:376;;;5859:29;5872:15;5859:12;:29::i;:::-;5017:888;:::o;4168:501::-;1924:5;;-1:-1:-1;;;;;1924:5:3;1902:10;:28;1894:73;;;;;-1:-1:-1;;;;;1894:73:3;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1894:73:3;;;;;;;;;;;;;;;4267:18;;4248:37;;;4240:115;;;;;-1:-1:-1;;;;;4240:115:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4365:19;:37;;;4435:18;;4416:37;;4412:251;;;4469:8;;:34;;-1:-1:-1;;;;;4469:8:3;;;;:34;;;;;4487:15;;4469:8;:34;:8;:34;4487:15;4469:8;:34;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;4531:1:3;4517:11;:15;;;4546:6;:10;4570:6;:24;;-1:-1:-1;;4570:24:3;4579:15;4570:24;;;4412:251;;;4626:26;:24;:26::i;657:28:2:-;;;-1:-1:-1;;;;;657:28:2;;:::o;754:19:3:-;;;;:::o;1424:30::-;;;;:::o;1165:23::-;;;;:::o;1231:21::-;;;;:::o;699:20::-;;;-1:-1:-1;;;;;699:20:3;;:::o;998:27::-;;;;:::o;6082:881::-;2132:8;;6159:20;;-1:-1:-1;;;;;2132:8:3;2110:10;:31;2102:79;;;;;-1:-1:-1;;;;;2102:79:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6182:10;;:47;;;;;;;;;;;;:10;:47;;;-1:-1:-1;;6182:47:3;;;;:10;:47;;;;;;;;;;;;-1:-1:-1;;;;;6182:10:3;;;;:26;;:10;;:47;;;;;;;;:10;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6182:47:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6182:47:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6182:47:3;6239:11;:24;;6254:9;6239:24;;;;;6182:47;;-1:-1:-1;6350:30:3;;6342:84;;;;;-1:-1:-1;;;;;6342:84:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6453:21;6444:6;;;;:30;;;;;;;;;6436:77;;;;;-1:-1:-1;;;;;6436:77:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6591:3;6573:15;:21;6608:8;;:26;-1:-1:-1;6604:353:3;;;6754:6;:28;;6763:19;;6754:6;-1:-1:-1;;6754:28:3;6763:19;;6754:28;;1105:18;;;;:::o;1078:21::-;;;;:::o;7416:278::-;1924:5;;-1:-1:-1;;;;;1924:5:3;1902:10;:28;1894:73;;;;;-1:-1:-1;;;;;1894:73:3;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1894:73:3;;;;;;;;;;;;;;;7487:22;7477:6;;;;:32;;;;;;;;;7469:90;;;;;-1:-1:-1;;;;;7469:90:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7602:7;;7584:15;;:25;7577:3;:32;;7569:72;;;;;-1:-1:-1;;;;;7569:72:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;7666:9;;7652:35;;1684:1;7652:13;:35::i;3303:123::-;1924:5;;-1:-1:-1;;;;;1924:5:3;1902:10;:28;1894:73;;;;;-1:-1:-1;;;;;1894:73:3;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1894:73:3;;;;;;;;;;;;;;;3357:6;:19;;3367:9;3357:19;;;;;;3386:33;;3394:4;;3386:33;;;;;3357:6;3386:33;3357:6;3386:33;3367:9;3394:4;3386:33;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;725:23:3;;;-1:-1:-1;;;;;725:23:3;;:::o;874:20::-;;;;:::o;8390:443::-;8485:9;;8471:23;;8463:53;;;;;-1:-1:-1;;;;;8463:53:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;1649:1;8534:28;;;8526:56;;;;;-1:-1:-1;;;;;8526:56:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;1684:1;8597:21;;8593:213;;;8634:5;;8658:11;;8649:6;;8634:36;;-1:-1:-1;;;;;8634:5:3;;;;8649:20;;8634:36;;;;;:5;:36;:5;:36;8649:20;8634:5;:36;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;8684:8:3;;8702:19;;8684:38;;-1:-1:-1;;;;;8684:8:3;;;;:38;;;;;8702:19;8684:8;:38;:8;:38;8702:19;8684:8;:38;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8684:38:3;8593:213;;;1722:1;8743:24;;8739:67;;;8781:8;;8799:6;;8781:25;;-1:-1:-1;;;;;8781:8:3;;;;:25;;;;;8799:6;8781:8;:25;:8;:25;8799:6;8781:8;:25;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8781:25:3;8739:67;-1:-1:-1;;8825:1:3;8816:6;:10;8390:443::o;7081:258::-;7145:6;:30;;-1:-1:-1;;7145:30:3;7154:21;7145:30;;;-1:-1:-1;7197:10:3;:87;;;;;;1649:1;7197:87;;;;;;;;;;;;7145:30;7197:87;;:10;:87;;;;;-1:-1:-1;;7197:87:3;;;;;;;;;;;-1:-1:-1;;;;;7197:10:3;;;;:24;;7228:16;;7145:30;;7197:87;;;;;;;;7145:30;;7197:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7197:87:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7197:87:3;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7197:87:3;7185:9;:99;;;7307:10;;;7299:33;;;;;;;-1:-1:-1;;;;;7307:10:3;;;;7299:33;;;;;;7197:87;7299:33;;;7081:258;:::o",
"source": "/**\n * @title ArbitrableDeposit\n * @author Luke Hartman - <lhartman3@zagmail.gonzaga.edu>\n * Bug Bounties: This code hasn't undertaken a bug bounty program yet.\n */\n\n\npragma solidity ^0.4.15;\nimport \"./Arbitrable.sol\";\n\n\n/** @title Arbitrable Deposit\n * This is a a contract which allow for an owner deposit. Anyone besides the owner can seek arbitration/file a claim as a claimant.\n * To develop a contract inheriting from this one, you need to:\n * - Redefine RULING_OPTIONS to explain the consequences of the possible rulings.\n * - Redefine executeRuling while still calling super.executeRuling to implement the results of the arbitration.\n */\ncontract ArbitrableDeposit is Arbitrable {\n address public owner;\n address public claimant;\n uint public timeout; // Time in seconds a party can take before being considered unresponding and lose the dispute.\n uint public ownerFee; // Total fees paid by the owner.\n uint public claimantFee; // Total fees paid by the claimant.\n uint public lastInteraction; // Last interaction for the dispute procedure.\n uint public disputeID;\n uint public amount; // Total amount deposited by owner.\n uint public claimAmount; // Claim amount a claimant proposes.\n uint public claimRate; // Rate of a claim the claimant must deposit as an integer.\n uint internal claimResponseAmount; // Amount which the Owner responds to the claimant's asking claim.\n uint public claimDepositAmount; // Total amount a claimant must deposit.\n\n enum Status {NoDispute, WaitingOwner, WaitingClaimant, DisputeCreated, Resolved}\n Status public status;\n\n uint8 constant AMOUNT_OF_CHOICES = 2;\n uint8 constant OWNER_WINS = 1;\n uint8 constant CLAIMANT_WINS = 2;\n string constant RULING_OPTIONS = \"Owner wins;Claimant wins\"; // A plain English of what rulings do. Need to be redefined by the child class.\n\n modifier onlyOwner{require(msg.sender == address(owner), \"Can only be called by the owner.\"); _;}\n modifier onlyNotOwner{require(msg.sender != address(owner), \"Cannot be called by the owner.\"); _;}\n modifier onlyClaimant{require(msg.sender == address(claimant), \"Can only be called by the claimant.\"); _;}\n\n enum Party {Owner, Claimant}\n\n /** @dev Indicate that a party has to pay a fee or would otherwise be considered as loosing.\n * @param _party The party who has to pay.\n */\n event HasToPayFee(Party _party);\n\n /** @dev Constructor. Choose the arbitrator\n * @param _arbitrator The arbitrator of the contract.\n * @param _timeout Time after which a party automatically loose a dispute.\n * @param _arbitratorExtraData Extra data for the arbitrator.\n * @param _metaEvidence Link to the meta evidence.\n */\n constructor(\n Arbitrator _arbitrator,\n uint _timeout,\n bytes _arbitratorExtraData,\n uint _claimRate,\n string _metaEvidence\n ) Arbitrable(_arbitrator, _arbitratorExtraData) public payable {\n timeout = _timeout;\n claimRate = _claimRate;\n status = Status.NoDispute;\n amount += msg.value;\n owner = msg.sender;\n address(this).transfer(amount);\n emit MetaEvidence(0, _metaEvidence);\n }\n\n /** @dev Owner deposit to contract. To be called when the owner makes a deposit.\n */\n function deposit() public payable onlyOwner {\n amount += msg.value;\n address(this).transfer(msg.value);\n }\n\n /** @dev File a claim against owner. To be called when someone makes a claim.\n * @param _claimAmount The proposed claim amount by the claimant.\n */\n function makeClaim(uint _claimAmount) public onlyNotOwner {\n require(_claimAmount <= amount, \"Cannot claim more than what is deposited.\");\n claimant = msg.sender;\n claimAmount = _claimAmount;\n claimDepositAmount = (_claimAmount * claimRate) / 100;\n address(this).transfer(claimDepositAmount);\n status = Status.WaitingOwner;\n }\n\n /** @dev Owner response to claimant. To be called when the owner initates a\n * a response.\n * @param _responseAmount The counter-offer amount the Owner proposes to a claimant.\n */\n function claimResponse(uint _responseAmount) public onlyOwner {\n require(_responseAmount <= claimDepositAmount, \"The response amount has to be less than the claim deposit amount.\");\n claimResponseAmount = _responseAmount;\n if (_responseAmount == claimDepositAmount) {\n claimant.transfer(_responseAmount);\n claimAmount = 0;\n amount = 0;\n status = Status.Resolved;\n } else {\n payArbitrationFeeByOwner();\n }\n }\n\n /** @dev Pay the arbitration fee to raise a dispute. To be called by the owner. UNTRUSTED.\n * Note that the arbitrator can have createDispute throw, which will make this function throw and therefore lead to a party being timed-out.\n * This is not a vulnerability as the arbitrator can rule in favor of one party anyway.\n */\n function payArbitrationFeeByOwner() public payable onlyOwner{\n uint arbitrationCost = arbitrator.arbitrationCost(arbitratorExtraData);\n ownerFee += msg.value;\n // Require that the total pay at least the arbitration cost.\n require(ownerFee == arbitrationCost, \"Owner fee must equal arbitration cost.\");\n require(status < Status.DisputeCreated, \"A dispute has already been raised.\"); // Make sure a dispute has not been created yet.\n\n lastInteraction = now;\n if (claimantFee < arbitrationCost) { // The claimant still has to pay.\n // This can also happens if he has paid, but arbitrationCost has increased.\n status = Status.WaitingClaimant;\n emit HasToPayFee(Party.Claimant);\n } else { // The claimant has also paid the fee. We create the dispute\n raiseDispute(arbitrationCost);\n }\n }\n\n /** @dev Pay the arbitration fee to raise a dispute. To be called by the claimant. UNTRUSTED.\n * Note that this function mirror payArbitrationFeeByOwner.\n */\n function payArbitrationFeeByClaimant() public payable onlyClaimant {\n uint arbitrationCost = arbitrator.arbitrationCost(arbitratorExtraData);\n claimantFee += msg.value;\n // Require that the total pay at least the arbitration cost.\n require(claimantFee == arbitrationCost, \"Claimant fee must equal arbitration cost.\");\n require(status < Status.DisputeCreated, \"A dispute has already been raised.\"); // Make sure a dispute has not been created yet.\n\n lastInteraction = now;\n if (ownerFee < arbitrationCost) { // The owner still has to pay. This can also happens if he has paid, but arbitrationCost has increased.\n status = Status.WaitingOwner;\n emit HasToPayFee(Party.Claimant);\n } else { // The owner has also paid the fee. We create the dispute\n raiseDispute(arbitrationCost);\n }\n }\n\n /** @dev Create a dispute. UNTRUSTED.\n * @param _arbitrationCost Amount to pay the arbitrator.\n */\n function raiseDispute(uint _arbitrationCost) internal {\n status = Status.DisputeCreated;\n disputeID = arbitrator.createDispute.value(_arbitrationCost)(AMOUNT_OF_CHOICES,arbitratorExtraData);\n emit Dispute(arbitrator, disputeID, 0);\n }\n\n /** @dev Reimburse owner if claimant fails to pay the fee.\n */\n function timeOutByOwner() public onlyOwner {\n require(status == Status.WaitingClaimant, \"The contract is not waiting for the claimant.\");\n require(now >= lastInteraction + timeout, \"Not enough time has passed.\");\n\n executeRuling(disputeID,OWNER_WINS);\n }\n\n /** @dev Pay claimant if owner fails to pay the fee.\n */\n function timeOutByClaimant() public onlyClaimant {\n require(status == Status.WaitingOwner, \"The contract is not waiting for the owner.\");\n require(now >= lastInteraction + timeout, \"Not enough time has passed.\");\n\n executeRuling(disputeID, CLAIMANT_WINS);\n }\n\n /** @dev Execute a ruling of a dispute. Pays parties respective amounts based on ruling.\n * This needs to be extended by contract inheriting from it.\n * @param _disputeID ID of the dispute in the Arbitrator contract.\n * @param _ruling Ruling given by the arbitrator. 1 : Allow owner deposit. 2 : Pay claimant.\n */\n function executeRuling(uint _disputeID, uint _ruling) internal {\n require(_disputeID == disputeID, \"Wrong dispute ID.\");\n require(_ruling <= AMOUNT_OF_CHOICES, \"Invalid ruling.\");\n\n if (_ruling == OWNER_WINS) {\n owner.transfer(amount + claimAmount);\n claimant.transfer(claimResponseAmount);\n } else if (_ruling == CLAIMANT_WINS)\n claimant.transfer(amount);\n amount = 0;\n }\n}\n",
"sourcePath": "/private/tmp/kleros-interaction/contracts/standard/arbitration/ArbitrableDeposit.sol",
"ast": {
"absolutePath": "/private/tmp/kleros-interaction/contracts/standard/arbitration/ArbitrableDeposit.sol",
"exportedSymbols": {
"ArbitrableDeposit": [
1111
]
},
"id": 1112,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 597,
"literals": [
"solidity",
"^",
"0.4",
".15"
],
"nodeType": "PragmaDirective",
"src": "170:24:3"
},
{
"absolutePath": "/private/tmp/kleros-interaction/contracts/standard/arbitration/Arbitrable.sol",
"file": "./Arbitrable.sol",
"id": 598,
"nodeType": "ImportDirective",
"scope": 1112,
"sourceUnit": 596,
"src": "195:26:3",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 599,
"name": "Arbitrable",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 595,
"src": "682:10:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Arbitrable_$595",
"typeString": "contract Arbitrable"
}
},
"id": 600,
"nodeType": "InheritanceSpecifier",
"src": "682:10:3"
}
],
"contractDependencies": [
595
],
"contractKind": "contract",
"documentation": "@title Arbitrable Deposit\n This is a a contract which allow for an owner deposit. Anyone besides the owner can seek arbitration/file a claim as a claimant.\nTo develop a contract inheriting from this one, you need to:\n - Redefine RULING_OPTIONS to explain the consequences of the possible rulings.\n - Redefine executeRuling while still calling super.executeRuling to implement the results of the arbitration.",
"fullyImplemented": true,
"id": 1111,
"linearizedBaseContracts": [
1111,
595
],
"name": "ArbitrableDeposit",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 602,
"name": "owner",
"nodeType": "VariableDeclaration",
"scope": 1111,
"src": "699:20:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 601,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "699:7:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 604,
"name": "claimant",
"nodeType": "VariableDeclaration",
"scope": 1111,
"src": "725:23:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 603,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "725:7:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 606,
"name": "timeout",
"nodeType": "VariableDeclaration",
"scope": 1111,
"src": "754:19:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 605,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "754:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 608,
"name": "ownerFee",
"nodeType": "VariableDeclaration",
"scope": 1111,
"src": "874:20:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 607,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "874:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 610,
"name": "claimantFee",
"nodeType": "VariableDeclaration",
"scope": 1111,
"src": "933:23:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 609,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "933:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 612,
"name": "lastInteraction",
"nodeType": "VariableDeclaration",
"scope": 1111,
"src": "998:27:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 611,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "998:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 614,
"name": "disputeID",
"nodeType": "VariableDeclaration",
"scope": 1111,
"src": "1078:21:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 613,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "1078:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 616,
"name": "amount",
"nodeType": "VariableDeclaration",
"scope": 1111,
"src": "1105:18:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 615,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "1105:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 618,
"name": "claimAmount",
"nodeType": "VariableDeclaration",
"scope": 1111,
"src": "1165:23:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 617,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "1165:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 620,
"name": "claimRate",
"nodeType": "VariableDeclaration",
"scope": 1111,
"src": "1231:21:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 619,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "1231:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 622,
"name": "claimResponseAmount",
"nodeType": "VariableDeclaration",
"scope": 1111,
"src": "1318:33:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 621,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "1318:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 624,
"name": "claimDepositAmount",
"nodeType": "VariableDeclaration",
"scope": 1111,
"src": "1424:30:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 623,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "1424:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "public"
},
{
"canonicalName": "ArbitrableDeposit.Status",
"id": 630,
"members": [
{
"id": 625,
"name": "NoDispute",
"nodeType": "EnumValue",
"src": "1515:9:3"
},
{
"id": 626,
"name": "WaitingOwner",
"nodeType": "EnumValue",
"src": "1526:12:3"
},
{
"id": 627,
"name": "WaitingClaimant",
"nodeType": "EnumValue",
"src": "1540:15:3"
},
{
"id": 628,
"name": "DisputeCreated",
"nodeType": "EnumValue",
"src": "1557:14:3"
},
{
"id": 629,
"name": "Resolved",
"nodeType": "EnumValue",
"src": "1573:8:3"
}
],
"name": "Status",
"nodeType": "EnumDefinition",
"src": "1502:80:3"
},
{
"constant": false,
"id": 632,
"name": "status",
"nodeType": "VariableDeclaration",
"scope": 1111,
"src": "1587:20:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
},
"typeName": {
"contractScope": null,
"id": 631,
"name": "Status",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 630,
"src": "1587:6:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"value": null,
"visibility": "public"
},
{
"constant": true,
"id": 635,
"name": "AMOUNT_OF_CHOICES",
"nodeType": "VariableDeclaration",
"scope": 1111,
"src": "1614:36:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 633,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "1614:5:3",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": {
"argumentTypes": null,
"hexValue": "32",
"id": 634,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1649:1:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_2_by_1",
"typeString": "int_const 2"
},
"value": "2"
},
"visibility": "internal"
},
{
"constant": true,
"id": 638,
"name": "OWNER_WINS",
"nodeType": "VariableDeclaration",
"scope": 1111,
"src": "1656:29:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 636,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "1656:5:3",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": {
"argumentTypes": null,
"hexValue": "31",
"id": 637,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1684:1:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
},
"value": "1"
},
"visibility": "internal"
},
{
"constant": true,
"id": 641,
"name": "CLAIMANT_WINS",
"nodeType": "VariableDeclaration",
"scope": 1111,
"src": "1691:32:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 639,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "1691:5:3",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": {
"argumentTypes": null,
"hexValue": "32",
"id": 640,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1722:1:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_2_by_1",
"typeString": "int_const 2"
},
"value": "2"
},
"visibility": "internal"
},
{
"constant": true,
"id": 644,
"name": "RULING_OPTIONS",
"nodeType": "VariableDeclaration",
"scope": 1111,
"src": "1729:59:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory",
"typeString": "string"
},
"typeName": {
"id": 642,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "1729:6:3",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": {
"argumentTypes": null,
"hexValue": "4f776e65722077696e733b436c61696d616e742077696e73",
"id": 643,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1762:26:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_033cfec2fb1157f3298b564805cb381aa5a1e85b2c8b3664c638fe2c07222023",
"typeString": "literal_string \"Owner wins;Claimant wins\""
},
"value": "Owner wins;Claimant wins"
},
"visibility": "internal"
},
{
"body": {
"id": 657,
"nodeType": "Block",
"src": "1893:79:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 652,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 647,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20639,
"src": "1902:3:3",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 648,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "1902:10:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 650,
"name": "owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 602,
"src": "1924:5:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 649,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1916:7:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": "address"
},
"id": 651,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1916:14:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "1902:28:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "43616e206f6e6c792062652063616c6c656420627920746865206f776e65722e",
"id": 653,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1932:34:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_bf33d29683e5562cfb7e5d7016dc68533d604c99c45e8c622ac0ad8361611bfa",
"typeString": "literal_string \"Can only be called by the owner.\""
},
"value": "Can only be called by the owner."
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_bf33d29683e5562cfb7e5d7016dc68533d604c99c45e8c622ac0ad8361611bfa",
"typeString": "literal_string \"Can only be called by the owner.\""
}
],
"id": 646,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
20642,
20643
],
"referencedDeclaration": 20643,
"src": "1894:7:3",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 654,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1894:73:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 655,
"nodeType": "ExpressionStatement",
"src": "1894:73:3"
},
{
"id": 656,
"nodeType": "PlaceholderStatement",
"src": "1969:1:3"
}
]
},
"documentation": null,
"id": 658,
"name": "onlyOwner",
"nodeType": "ModifierDefinition",
"parameters": {
"id": 645,
"nodeType": "ParameterList",
"parameters": [],
"src": "1893:0:3"
},
"src": "1875:97:3",
"visibility": "internal"
},
{
"body": {
"id": 671,
"nodeType": "Block",
"src": "1998:77:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 666,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 661,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20639,
"src": "2007:3:3",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 662,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "2007:10:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 664,
"name": "owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 602,
"src": "2029:5:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 663,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "2021:7:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": "address"
},
"id": 665,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2021:14:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "2007:28:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "43616e6e6f742062652063616c6c656420627920746865206f776e65722e",
"id": 667,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "2037:32:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_aa3392aa480c454b8b1a0d19741803a12190550f200b3e3e4ec8ff7885026a89",
"typeString": "literal_string \"Cannot be called by the owner.\""
},
"value": "Cannot be called by the owner."
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_aa3392aa480c454b8b1a0d19741803a12190550f200b3e3e4ec8ff7885026a89",
"typeString": "literal_string \"Cannot be called by the owner.\""
}
],
"id": 660,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
20642,
20643
],
"referencedDeclaration": 20643,
"src": "1999:7:3",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 668,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1999:71:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 669,
"nodeType": "ExpressionStatement",
"src": "1999:71:3"
},
{
"id": 670,
"nodeType": "PlaceholderStatement",
"src": "2072:1:3"
}
]
},
"documentation": null,
"id": 672,
"name": "onlyNotOwner",
"nodeType": "ModifierDefinition",
"parameters": {
"id": 659,
"nodeType": "ParameterList",
"parameters": [],
"src": "1998:0:3"
},
"src": "1977:98:3",
"visibility": "internal"
},
{
"body": {
"id": 685,
"nodeType": "Block",
"src": "2101:85:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 680,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 675,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20639,
"src": "2110:3:3",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 676,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "2110:10:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 678,
"name": "claimant",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 604,
"src": "2132:8:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 677,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "2124:7:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": "address"
},
"id": 679,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2124:17:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "2110:31:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "43616e206f6e6c792062652063616c6c65642062792074686520636c61696d616e742e",
"id": 681,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "2143:37:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_3e97f4d228b984a36b6e8f7c72acb391612cfef6f8cd2c327c99d410920a50d8",
"typeString": "literal_string \"Can only be called by the claimant.\""
},
"value": "Can only be called by the claimant."
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_3e97f4d228b984a36b6e8f7c72acb391612cfef6f8cd2c327c99d410920a50d8",
"typeString": "literal_string \"Can only be called by the claimant.\""
}
],
"id": 674,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
20642,
20643
],
"referencedDeclaration": 20643,
"src": "2102:7:3",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 682,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2102:79:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 683,
"nodeType": "ExpressionStatement",
"src": "2102:79:3"
},
{
"id": 684,
"nodeType": "PlaceholderStatement",
"src": "2183:1:3"
}
]
},
"documentation": null,
"id": 686,
"name": "onlyClaimant",
"nodeType": "ModifierDefinition",
"parameters": {
"id": 673,
"nodeType": "ParameterList",
"parameters": [],
"src": "2101:0:3"
},
"src": "2080:106:3",
"visibility": "internal"
},
{
"canonicalName": "ArbitrableDeposit.Party",
"id": 689,
"members": [
{
"id": 687,
"name": "Owner",
"nodeType": "EnumValue",
"src": "2204:5:3"
},
{
"id": 688,
"name": "Claimant",
"nodeType": "EnumValue",
"src": "2211:8:3"
}
],
"name": "Party",
"nodeType": "EnumDefinition",
"src": "2192:28:3"
},
{
"anonymous": false,
"documentation": "@dev Indicate that a party has to pay a fee or would otherwise be considered as loosing.\n @param _party The party who has to pay.",
"id": 693,
"name": "HasToPayFee",
"nodeType": "EventDefinition",
"parameters": {
"id": 692,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 691,
"indexed": false,
"name": "_party",
"nodeType": "VariableDeclaration",
"scope": 693,
"src": "2397:12:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Party_$689",
"typeString": "enum ArbitrableDeposit.Party"
},
"typeName": {
"contractScope": null,
"id": 690,
"name": "Party",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 689,
"src": "2397:5:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Party_$689",
"typeString": "enum ArbitrableDeposit.Party"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2396:14:3"
},
"src": "2379:32:3"
},
{
"body": {
"id": 745,
"nodeType": "Block",
"src": "2960:244:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 712,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 710,
"name": "timeout",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 606,
"src": "2970:7:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 711,
"name": "_timeout",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 697,
"src": "2980:8:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "2970:18:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 713,
"nodeType": "ExpressionStatement",
"src": "2970:18:3"
},
{
"expression": {
"argumentTypes": null,
"id": 716,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 714,
"name": "claimRate",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 620,
"src": "2998:9:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 715,
"name": "_claimRate",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 701,
"src": "3010:10:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "2998:22:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 717,
"nodeType": "ExpressionStatement",
"src": "2998:22:3"
},
{
"expression": {
"argumentTypes": null,
"id": 721,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 718,
"name": "status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 632,
"src": "3030:6:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 719,
"name": "Status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 630,
"src": "3039:6:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_enum$_Status_$630_$",
"typeString": "type(enum ArbitrableDeposit.Status)"
}
},
"id": 720,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "NoDispute",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "3039:16:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"src": "3030:25:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"id": 722,
"nodeType": "ExpressionStatement",
"src": "3030:25:3"
},
{
"expression": {
"argumentTypes": null,
"id": 726,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 723,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 616,
"src": "3065:6:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "+=",
"rightHandSide": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 724,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20639,
"src": "3075:3:3",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 725,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "value",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "3075:9:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "3065:19:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 727,
"nodeType": "ExpressionStatement",
"src": "3065:19:3"
},
{
"expression": {
"argumentTypes": null,
"id": 731,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 728,
"name": "owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 602,
"src": "3094:5:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 729,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20639,
"src": "3102:3:3",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 730,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "3102:10:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "3094:18:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 732,
"nodeType": "ExpressionStatement",
"src": "3094:18:3"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 737,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 616,
"src": "3145:6:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 734,
"name": "this",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20662,
"src": "3130:4:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ArbitrableDeposit_$1111",
"typeString": "contract ArbitrableDeposit"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_ArbitrableDeposit_$1111",
"typeString": "contract ArbitrableDeposit"
}
],
"id": 733,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "3122:7:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": "address"
},
"id": 735,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3122:13:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 736,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "transfer",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "3122:22:3",
"typeDescriptions": {
"typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
"typeString": "function (uint256)"
}
},
"id": 738,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3122:30:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 739,
"nodeType": "ExpressionStatement",
"src": "3122:30:3"
},
{
"eventCall": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "30",
"id": 741,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "3180:1:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
{
"argumentTypes": null,
"id": 742,
"name": "_metaEvidence",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 703,
"src": "3183:13:3",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"id": 740,
"name": "MetaEvidence",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 521,
"src": "3167:12:3",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (uint256,string memory)"
}
},
"id": 743,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3167:30:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 744,
"nodeType": "EmitStatement",
"src": "3162:35:3"
}
]
},
"documentation": "@dev Constructor. Choose the arbitrator\n @param _arbitrator The arbitrator of the contract.\n @param _timeout Time after which a party automatically loose a dispute.\n @param _arbitratorExtraData Extra data for the arbitrator.\n @param _metaEvidence Link to the meta evidence.",
"id": 746,
"implemented": true,
"isConstructor": true,
"isDeclaredConst": false,
"modifiers": [
{
"arguments": [
{
"argumentTypes": null,
"id": 706,
"name": "_arbitrator",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 695,
"src": "2910:11:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Arbitrator_$4021",
"typeString": "contract Arbitrator"
}
},
{
"argumentTypes": null,
"id": 707,
"name": "_arbitratorExtraData",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 699,
"src": "2923:20:3",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"id": 708,
"modifierName": {
"argumentTypes": null,
"id": 705,
"name": "Arbitrable",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 595,
"src": "2899:10:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Arbitrable_$595_$",
"typeString": "type(contract Arbitrable)"
}
},
"nodeType": "ModifierInvocation",
"src": "2899:45:3"
}
],
"name": "",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 704,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 695,
"name": "_arbitrator",
"nodeType": "VariableDeclaration",
"scope": 746,
"src": "2756:22:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Arbitrator_$4021",
"typeString": "contract Arbitrator"
},
"typeName": {
"contractScope": null,
"id": 694,
"name": "Arbitrator",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 4021,
"src": "2756:10:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Arbitrator_$4021",
"typeString": "contract Arbitrator"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 697,
"name": "_timeout",
"nodeType": "VariableDeclaration",
"scope": 746,
"src": "2788:13:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 696,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "2788:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 699,
"name": "_arbitratorExtraData",
"nodeType": "VariableDeclaration",
"scope": 746,
"src": "2811:26:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 698,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "2811:5:3",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 701,
"name": "_claimRate",
"nodeType": "VariableDeclaration",
"scope": 746,
"src": "2847:15:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 700,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "2847:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 703,
"name": "_metaEvidence",
"nodeType": "VariableDeclaration",
"scope": 746,
"src": "2872:20:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 702,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "2872:6:3",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2746:152:3"
},
"payable": true,
"returnParameters": {
"id": 709,
"nodeType": "ParameterList",
"parameters": [],
"src": "2960:0:3"
},
"scope": 1111,
"src": "2735:469:3",
"stateMutability": "payable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 764,
"nodeType": "Block",
"src": "3347:79:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 754,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 751,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 616,
"src": "3357:6:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "+=",
"rightHandSide": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 752,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20639,
"src": "3367:3:3",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 753,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "value",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "3367:9:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "3357:19:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 755,
"nodeType": "ExpressionStatement",
"src": "3357:19:3"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 760,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20639,
"src": "3409:3:3",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 761,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "value",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "3409:9:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 757,
"name": "this",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20662,
"src": "3394:4:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ArbitrableDeposit_$1111",
"typeString": "contract ArbitrableDeposit"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_ArbitrableDeposit_$1111",
"typeString": "contract ArbitrableDeposit"
}
],
"id": 756,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "3386:7:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": "address"
},
"id": 758,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3386:13:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 759,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "transfer",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "3386:22:3",
"typeDescriptions": {
"typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
"typeString": "function (uint256)"
}
},
"id": 762,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3386:33:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 763,
"nodeType": "ExpressionStatement",
"src": "3386:33:3"
}
]
},
"documentation": "@dev Owner deposit to contract. To be called when the owner makes a deposit.",
"id": 765,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [
{
"arguments": null,
"id": 749,
"modifierName": {
"argumentTypes": null,
"id": 748,
"name": "onlyOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 658,
"src": "3337:9:3",
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
"src": "3337:9:3"
}
],
"name": "deposit",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 747,
"nodeType": "ParameterList",
"parameters": [],
"src": "3319:2:3"
},
"payable": true,
"returnParameters": {
"id": 750,
"nodeType": "ParameterList",
"parameters": [],
"src": "3347:0:3"
},
"scope": 1111,
"src": "3303:123:3",
"stateMutability": "payable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 809,
"nodeType": "Block",
"src": "3651:313:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 775,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 773,
"name": "_claimAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 767,
"src": "3669:12:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<=",
"rightExpression": {
"argumentTypes": null,
"id": 774,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 616,
"src": "3685:6:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "3669:22:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "43616e6e6f7420636c61696d206d6f7265207468616e2077686174206973206465706f73697465642e",
"id": 776,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "3693:43:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_3bc51fea8893edce1bb0bf2d7870a353e6097d76d80c508369402dac4e6ca908",
"typeString": "literal_string \"Cannot claim more than what is deposited.\""
},
"value": "Cannot claim more than what is deposited."
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_3bc51fea8893edce1bb0bf2d7870a353e6097d76d80c508369402dac4e6ca908",
"typeString": "literal_string \"Cannot claim more than what is deposited.\""
}
],
"id": 772,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
20642,
20643
],
"referencedDeclaration": 20643,
"src": "3661:7:3",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 777,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3661:76:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 778,
"nodeType": "ExpressionStatement",
"src": "3661:76:3"
},
{
"expression": {
"argumentTypes": null,
"id": 782,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 779,
"name": "claimant",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 604,
"src": "3747:8:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 780,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20639,
"src": "3758:3:3",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 781,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "3758:10:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "3747:21:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 783,
"nodeType": "ExpressionStatement",
"src": "3747:21:3"
},
{
"expression": {
"argumentTypes": null,
"id": 786,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 784,
"name": "claimAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 618,
"src": "3778:11:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 785,
"name": "_claimAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 767,
"src": "3792:12:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "3778:26:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 787,
"nodeType": "ExpressionStatement",
"src": "3778:26:3"
},
{
"expression": {
"argumentTypes": null,
"id": 795,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 788,
"name": "claimDepositAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 624,
"src": "3814:18:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 794,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"components": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 791,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 789,
"name": "_claimAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 767,
"src": "3836:12:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "*",
"rightExpression": {
"argumentTypes": null,
"id": 790,
"name": "claimRate",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 620,
"src": "3851:9:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "3836:24:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"id": 792,
"isConstant": false,
"isInlineArray": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "TupleExpression",
"src": "3835:26:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "/",
"rightExpression": {
"argumentTypes": null,
"hexValue": "313030",
"id": 793,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "3864:3:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_100_by_1",
"typeString": "int_const 100"
},
"value": "100"
},
"src": "3835:32:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "3814:53:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 796,
"nodeType": "ExpressionStatement",
"src": "3814:53:3"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 801,
"name": "claimDepositAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 624,
"src": "3900:18:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 798,
"name": "this",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20662,
"src": "3885:4:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ArbitrableDeposit_$1111",
"typeString": "contract ArbitrableDeposit"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_ArbitrableDeposit_$1111",
"typeString": "contract ArbitrableDeposit"
}
],
"id": 797,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "3877:7:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": "address"
},
"id": 799,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3877:13:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 800,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "transfer",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "3877:22:3",
"typeDescriptions": {
"typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
"typeString": "function (uint256)"
}
},
"id": 802,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3877:42:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 803,
"nodeType": "ExpressionStatement",
"src": "3877:42:3"
},
{
"expression": {
"argumentTypes": null,
"id": 807,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 804,
"name": "status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 632,
"src": "3929:6:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 805,
"name": "Status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 630,
"src": "3938:6:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_enum$_Status_$630_$",
"typeString": "type(enum ArbitrableDeposit.Status)"
}
},
"id": 806,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "WaitingOwner",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "3938:19:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"src": "3929:28:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"id": 808,
"nodeType": "ExpressionStatement",
"src": "3929:28:3"
}
]
},
"documentation": "@dev File a claim against owner. To be called when someone makes a claim.\n @param _claimAmount The proposed claim amount by the claimant.",
"id": 810,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [
{
"arguments": null,
"id": 770,
"modifierName": {
"argumentTypes": null,
"id": 769,
"name": "onlyNotOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 672,
"src": "3638:12:3",
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
"src": "3638:12:3"
}
],
"name": "makeClaim",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 768,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 767,
"name": "_claimAmount",
"nodeType": "VariableDeclaration",
"scope": 810,
"src": "3612:17:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 766,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "3612:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "3611:19:3"
},
"payable": false,
"returnParameters": {
"id": 771,
"nodeType": "ParameterList",
"parameters": [],
"src": "3651:0:3"
},
"scope": 1111,
"src": "3593:371:3",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 856,
"nodeType": "Block",
"src": "4230:439:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 820,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 818,
"name": "_responseAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 812,
"src": "4248:15:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<=",
"rightExpression": {
"argumentTypes": null,
"id": 819,
"name": "claimDepositAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 624,
"src": "4267:18:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "4248:37:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "54686520726573706f6e736520616d6f756e742068617320746f206265206c657373207468616e2074686520636c61696d206465706f73697420616d6f756e742e",
"id": 821,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "4287:67:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_5156c7ae1f4fbb45fb3ada1c6259b36702f8ee523444c8c1192cd015a8c46ba8",
"typeString": "literal_string \"The response amount has to be less than the claim deposit amount.\""
},
"value": "The response amount has to be less than the claim deposit amount."
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_5156c7ae1f4fbb45fb3ada1c6259b36702f8ee523444c8c1192cd015a8c46ba8",
"typeString": "literal_string \"The response amount has to be less than the claim deposit amount.\""
}
],
"id": 817,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
20642,
20643
],
"referencedDeclaration": 20643,
"src": "4240:7:3",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 822,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "4240:115:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 823,
"nodeType": "ExpressionStatement",
"src": "4240:115:3"
},
{
"expression": {
"argumentTypes": null,
"id": 826,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 824,
"name": "claimResponseAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 622,
"src": "4365:19:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 825,
"name": "_responseAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 812,
"src": "4387:15:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "4365:37:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 827,
"nodeType": "ExpressionStatement",
"src": "4365:37:3"
},
{
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 830,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 828,
"name": "_responseAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 812,
"src": "4416:15:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"id": 829,
"name": "claimDepositAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 624,
"src": "4435:18:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "4416:37:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": {
"id": 854,
"nodeType": "Block",
"src": "4612:51:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"id": 851,
"name": "payArbitrationFeeByOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 914,
"src": "4626:24:3",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
"typeString": "function ()"
}
},
"id": 852,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "4626:26:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 853,
"nodeType": "ExpressionStatement",
"src": "4626:26:3"
}
]
},
"id": 855,
"nodeType": "IfStatement",
"src": "4412:251:3",
"trueBody": {
"id": 850,
"nodeType": "Block",
"src": "4455:150:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 834,
"name": "_responseAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 812,
"src": "4487:15:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"id": 831,
"name": "claimant",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 604,
"src": "4469:8:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 833,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "transfer",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "4469:17:3",
"typeDescriptions": {
"typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
"typeString": "function (uint256)"
}
},
"id": 835,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "4469:34:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 836,
"nodeType": "ExpressionStatement",
"src": "4469:34:3"
},
{
"expression": {
"argumentTypes": null,
"id": 839,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 837,
"name": "claimAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 618,
"src": "4517:11:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "30",
"id": 838,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "4531:1:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "4517:15:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 840,
"nodeType": "ExpressionStatement",
"src": "4517:15:3"
},
{
"expression": {
"argumentTypes": null,
"id": 843,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 841,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 616,
"src": "4546:6:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "30",
"id": 842,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "4555:1:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "4546:10:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 844,
"nodeType": "ExpressionStatement",
"src": "4546:10:3"
},
{
"expression": {
"argumentTypes": null,
"id": 848,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 845,
"name": "status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 632,
"src": "4570:6:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 846,
"name": "Status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 630,
"src": "4579:6:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_enum$_Status_$630_$",
"typeString": "type(enum ArbitrableDeposit.Status)"
}
},
"id": 847,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "Resolved",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "4579:15:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"src": "4570:24:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"id": 849,
"nodeType": "ExpressionStatement",
"src": "4570:24:3"
}
]
}
}
]
},
"documentation": "@dev Owner response to claimant. To be called when the owner initates a\n a response.\n @param _responseAmount The counter-offer amount the Owner proposes to a claimant.",
"id": 857,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [
{
"arguments": null,
"id": 815,
"modifierName": {
"argumentTypes": null,
"id": 814,
"name": "onlyOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 658,
"src": "4220:9:3",
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
"src": "4220:9:3"
}
],
"name": "claimResponse",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 813,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 812,
"name": "_responseAmount",
"nodeType": "VariableDeclaration",
"scope": 857,
"src": "4191:20:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 811,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "4191:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "4190:22:3"
},
"payable": false,
"returnParameters": {
"id": 816,
"nodeType": "ParameterList",
"parameters": [],
"src": "4230:0:3"
},
"scope": 1111,
"src": "4168:501:3",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 913,
"nodeType": "Block",
"src": "5077:828:3",
"statements": [
{
"assignments": [
863
],
"declarations": [
{
"constant": false,
"id": 863,
"name": "arbitrationCost",
"nodeType": "VariableDeclaration",
"scope": 914,
"src": "5087:20:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 862,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "5087:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 868,
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 866,
"name": "arbitratorExtraData",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 501,
"src": "5137:19:3",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage",
"typeString": "bytes storage ref"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_storage",
"typeString": "bytes storage ref"
}
],
"expression": {
"argumentTypes": null,
"id": 864,
"name": "arbitrator",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 499,
"src": "5110:10:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Arbitrator_$4021",
"typeString": "contract Arbitrator"
}
},
"id": 865,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "arbitrationCost",
"nodeType": "MemberAccess",
"referencedDeclaration": 3967,
"src": "5110:26:3",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_bytes_memory_ptr_$returns$_t_uint256_$",
"typeString": "function (bytes memory) view external returns (uint256)"
}
},
"id": 867,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "5110:47:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "5087:70:3"
},
{
"expression": {
"argumentTypes": null,
"id": 872,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 869,
"name": "ownerFee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 608,
"src": "5167:8:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "+=",
"rightHandSide": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 870,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20639,
"src": "5179:3:3",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 871,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "value",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "5179:9:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "5167:21:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 873,
"nodeType": "ExpressionStatement",
"src": "5167:21:3"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 877,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 875,
"name": "ownerFee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 608,
"src": "5275:8:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"id": 876,
"name": "arbitrationCost",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 863,
"src": "5287:15:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "5275:27:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "4f776e657220666565206d75737420657175616c206172626974726174696f6e20636f73742e",
"id": 878,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "5304:40:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_9831126b72244114f7837bc06172a82965c308e27cdb7446fde66d61614e2574",
"typeString": "literal_string \"Owner fee must equal arbitration cost.\""
},
"value": "Owner fee must equal arbitration cost."
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_9831126b72244114f7837bc06172a82965c308e27cdb7446fde66d61614e2574",
"typeString": "literal_string \"Owner fee must equal arbitration cost.\""
}
],
"id": 874,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
20642,
20643
],
"referencedDeclaration": 20643,
"src": "5267:7:3",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 879,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "5267:78:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 880,
"nodeType": "ExpressionStatement",
"src": "5267:78:3"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
},
"id": 885,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 882,
"name": "status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 632,
"src": "5363:6:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"nodeType": "BinaryOperation",
"operator": "<",
"rightExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 883,
"name": "Status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 630,
"src": "5372:6:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_enum$_Status_$630_$",
"typeString": "type(enum ArbitrableDeposit.Status)"
}
},
"id": 884,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "DisputeCreated",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "5372:21:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"src": "5363:30:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "4120646973707574652068617320616c7265616479206265656e207261697365642e",
"id": 886,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "5395:36:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_cd25b0583f349894c37fe84c669b30ee451bf08d7934ced553907853a263b0fb",
"typeString": "literal_string \"A dispute has already been raised.\""
},
"value": "A dispute has already been raised."
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_cd25b0583f349894c37fe84c669b30ee451bf08d7934ced553907853a263b0fb",
"typeString": "literal_string \"A dispute has already been raised.\""
}
],
"id": 881,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
20642,
20643
],
"referencedDeclaration": 20643,
"src": "5355:7:3",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 887,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "5355:77:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 888,
"nodeType": "ExpressionStatement",
"src": "5355:77:3"
},
{
"expression": {
"argumentTypes": null,
"id": 891,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 889,
"name": "lastInteraction",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 612,
"src": "5492:15:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 890,
"name": "now",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20641,
"src": "5510:3:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "5492:21:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 892,
"nodeType": "ExpressionStatement",
"src": "5492:21:3"
},
{
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 895,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 893,
"name": "claimantFee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 610,
"src": "5527:11:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<",
"rightExpression": {
"argumentTypes": null,
"id": 894,
"name": "arbitrationCost",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 863,
"src": "5541:15:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "5527:29:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": {
"id": 911,
"nodeType": "Block",
"src": "5784:115:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 908,
"name": "arbitrationCost",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 863,
"src": "5872:15:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 907,
"name": "raiseDispute",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 999,
"src": "5859:12:3",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$",
"typeString": "function (uint256)"
}
},
"id": 909,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "5859:29:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 910,
"nodeType": "ExpressionStatement",
"src": "5859:29:3"
}
]
},
"id": 912,
"nodeType": "IfStatement",
"src": "5523:376:3",
"trueBody": {
"id": 906,
"nodeType": "Block",
"src": "5558:220:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 899,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 896,
"name": "status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 632,
"src": "5690:6:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 897,
"name": "Status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 630,
"src": "5699:6:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_enum$_Status_$630_$",
"typeString": "type(enum ArbitrableDeposit.Status)"
}
},
"id": 898,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "WaitingClaimant",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "5699:22:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"src": "5690:31:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"id": 900,
"nodeType": "ExpressionStatement",
"src": "5690:31:3"
},
{
"eventCall": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 902,
"name": "Party",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 689,
"src": "5752:5:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_enum$_Party_$689_$",
"typeString": "type(enum ArbitrableDeposit.Party)"
}
},
"id": 903,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "Claimant",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "5752:14:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Party_$689",
"typeString": "enum ArbitrableDeposit.Party"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_enum$_Party_$689",
"typeString": "enum ArbitrableDeposit.Party"
}
],
"id": 901,
"name": "HasToPayFee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 693,
"src": "5740:11:3",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_enum$_Party_$689_$returns$__$",
"typeString": "function (enum ArbitrableDeposit.Party)"
}
},
"id": 904,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "5740:27:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 905,
"nodeType": "EmitStatement",
"src": "5735:32:3"
}
]
}
}
]
},
"documentation": "@dev Pay the arbitration fee to raise a dispute. To be called by the owner. UNTRUSTED.\n Note that the arbitrator can have createDispute throw, which will make this function throw and therefore lead to a party being timed-out.\n This is not a vulnerability as the arbitrator can rule in favor of one party anyway.",
"id": 914,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [
{
"arguments": null,
"id": 860,
"modifierName": {
"argumentTypes": null,
"id": 859,
"name": "onlyOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 658,
"src": "5068:9:3",
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
"src": "5068:9:3"
}
],
"name": "payArbitrationFeeByOwner",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 858,
"nodeType": "ParameterList",
"parameters": [],
"src": "5050:2:3"
},
"payable": true,
"returnParameters": {
"id": 861,
"nodeType": "ParameterList",
"parameters": [],
"src": "5077:0:3"
},
"scope": 1111,
"src": "5017:888:3",
"stateMutability": "payable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 970,
"nodeType": "Block",
"src": "6149:814:3",
"statements": [
{
"assignments": [
920
],
"declarations": [
{
"constant": false,
"id": 920,
"name": "arbitrationCost",
"nodeType": "VariableDeclaration",
"scope": 971,
"src": "6159:20:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 919,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "6159:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 925,
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 923,
"name": "arbitratorExtraData",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 501,
"src": "6209:19:3",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage",
"typeString": "bytes storage ref"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_storage",
"typeString": "bytes storage ref"
}
],
"expression": {
"argumentTypes": null,
"id": 921,
"name": "arbitrator",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 499,
"src": "6182:10:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Arbitrator_$4021",
"typeString": "contract Arbitrator"
}
},
"id": 922,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "arbitrationCost",
"nodeType": "MemberAccess",
"referencedDeclaration": 3967,
"src": "6182:26:3",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_bytes_memory_ptr_$returns$_t_uint256_$",
"typeString": "function (bytes memory) view external returns (uint256)"
}
},
"id": 924,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "6182:47:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "6159:70:3"
},
{
"expression": {
"argumentTypes": null,
"id": 929,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 926,
"name": "claimantFee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 610,
"src": "6239:11:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "+=",
"rightHandSide": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 927,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20639,
"src": "6254:3:3",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 928,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "value",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "6254:9:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "6239:24:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 930,
"nodeType": "ExpressionStatement",
"src": "6239:24:3"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 934,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 932,
"name": "claimantFee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 610,
"src": "6350:11:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"id": 933,
"name": "arbitrationCost",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 920,
"src": "6365:15:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "6350:30:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "436c61696d616e7420666565206d75737420657175616c206172626974726174696f6e20636f73742e",
"id": 935,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "6382:43:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_e18bf52e854b8d33141fbc503b1fd3789455323333b5e3ee89412dcfe3f046b7",
"typeString": "literal_string \"Claimant fee must equal arbitration cost.\""
},
"value": "Claimant fee must equal arbitration cost."
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_e18bf52e854b8d33141fbc503b1fd3789455323333b5e3ee89412dcfe3f046b7",
"typeString": "literal_string \"Claimant fee must equal arbitration cost.\""
}
],
"id": 931,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
20642,
20643
],
"referencedDeclaration": 20643,
"src": "6342:7:3",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 936,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "6342:84:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 937,
"nodeType": "ExpressionStatement",
"src": "6342:84:3"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
},
"id": 942,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 939,
"name": "status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 632,
"src": "6444:6:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"nodeType": "BinaryOperation",
"operator": "<",
"rightExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 940,
"name": "Status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 630,
"src": "6453:6:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_enum$_Status_$630_$",
"typeString": "type(enum ArbitrableDeposit.Status)"
}
},
"id": 941,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "DisputeCreated",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "6453:21:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"src": "6444:30:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "4120646973707574652068617320616c7265616479206265656e207261697365642e",
"id": 943,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "6476:36:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_cd25b0583f349894c37fe84c669b30ee451bf08d7934ced553907853a263b0fb",
"typeString": "literal_string \"A dispute has already been raised.\""
},
"value": "A dispute has already been raised."
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_cd25b0583f349894c37fe84c669b30ee451bf08d7934ced553907853a263b0fb",
"typeString": "literal_string \"A dispute has already been raised.\""
}
],
"id": 938,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
20642,
20643
],
"referencedDeclaration": 20643,
"src": "6436:7:3",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 944,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "6436:77:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 945,
"nodeType": "ExpressionStatement",
"src": "6436:77:3"
},
{
"expression": {
"argumentTypes": null,
"id": 948,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 946,
"name": "lastInteraction",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 612,
"src": "6573:15:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 947,
"name": "now",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20641,
"src": "6591:3:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "6573:21:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 949,
"nodeType": "ExpressionStatement",
"src": "6573:21:3"
},
{
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 952,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 950,
"name": "ownerFee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 608,
"src": "6608:8:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<",
"rightExpression": {
"argumentTypes": null,
"id": 951,
"name": "arbitrationCost",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 920,
"src": "6619:15:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "6608:26:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": {
"id": 968,
"nodeType": "Block",
"src": "6845:112:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 965,
"name": "arbitrationCost",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 920,
"src": "6930:15:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 964,
"name": "raiseDispute",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 999,
"src": "6917:12:3",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$",
"typeString": "function (uint256)"
}
},
"id": 966,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "6917:29:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 967,
"nodeType": "ExpressionStatement",
"src": "6917:29:3"
}
]
},
"id": 969,
"nodeType": "IfStatement",
"src": "6604:353:3",
"trueBody": {
"id": 963,
"nodeType": "Block",
"src": "6636:203:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 956,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 953,
"name": "status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 632,
"src": "6754:6:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 954,
"name": "Status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 630,
"src": "6763:6:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_enum$_Status_$630_$",
"typeString": "type(enum ArbitrableDeposit.Status)"
}
},
"id": 955,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "WaitingOwner",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "6763:19:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"src": "6754:28:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"id": 957,
"nodeType": "ExpressionStatement",
"src": "6754:28:3"
},
{
"eventCall": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 959,
"name": "Party",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 689,
"src": "6813:5:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_enum$_Party_$689_$",
"typeString": "type(enum ArbitrableDeposit.Party)"
}
},
"id": 960,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "Claimant",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "6813:14:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Party_$689",
"typeString": "enum ArbitrableDeposit.Party"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_enum$_Party_$689",
"typeString": "enum ArbitrableDeposit.Party"
}
],
"id": 958,
"name": "HasToPayFee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 693,
"src": "6801:11:3",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_enum$_Party_$689_$returns$__$",
"typeString": "function (enum ArbitrableDeposit.Party)"
}
},
"id": 961,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "6801:27:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 962,
"nodeType": "EmitStatement",
"src": "6796:32:3"
}
]
}
}
]
},
"documentation": "@dev Pay the arbitration fee to raise a dispute. To be called by the claimant. UNTRUSTED.\n Note that this function mirror payArbitrationFeeByOwner.",
"id": 971,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [
{
"arguments": null,
"id": 917,
"modifierName": {
"argumentTypes": null,
"id": 916,
"name": "onlyClaimant",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 686,
"src": "6136:12:3",
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
"src": "6136:12:3"
}
],
"name": "payArbitrationFeeByClaimant",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 915,
"nodeType": "ParameterList",
"parameters": [],
"src": "6118:2:3"
},
"payable": true,
"returnParameters": {
"id": 918,
"nodeType": "ParameterList",
"parameters": [],
"src": "6149:0:3"
},
"scope": 1111,
"src": "6082:881:3",
"stateMutability": "payable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 998,
"nodeType": "Block",
"src": "7135:204:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 979,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 976,
"name": "status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 632,
"src": "7145:6:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 977,
"name": "Status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 630,
"src": "7154:6:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_enum$_Status_$630_$",
"typeString": "type(enum ArbitrableDeposit.Status)"
}
},
"id": 978,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "DisputeCreated",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "7154:21:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"src": "7145:30:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"id": 980,
"nodeType": "ExpressionStatement",
"src": "7145:30:3"
},
{
"expression": {
"argumentTypes": null,
"id": 990,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 981,
"name": "disputeID",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 614,
"src": "7185:9:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 987,
"name": "AMOUNT_OF_CHOICES",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 635,
"src": "7246:17:3",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
{
"argumentTypes": null,
"id": 988,
"name": "arbitratorExtraData",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 501,
"src": "7264:19:3",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage",
"typeString": "bytes storage ref"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
{
"typeIdentifier": "t_bytes_storage",
"typeString": "bytes storage ref"
}
],
"arguments": [
{
"argumentTypes": null,
"id": 985,
"name": "_arbitrationCost",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 973,
"src": "7228:16:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 982,
"name": "arbitrator",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 499,
"src": "7197:10:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Arbitrator_$4021",
"typeString": "contract Arbitrator"
}
},
"id": 983,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "createDispute",
"nodeType": "MemberAccess",
"referencedDeclaration": 3960,
"src": "7197:24:3",
"typeDescriptions": {
"typeIdentifier": "t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$",
"typeString": "function (uint256,bytes memory) payable external returns (uint256)"
}
},
"id": 984,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "value",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "7197:30:3",
"typeDescriptions": {
"typeIdentifier": "t_function_setvalue_nonpayable$_t_uint256_$returns$_t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$value_$",
"typeString": "function (uint256) returns (function (uint256,bytes memory) payable external returns (uint256))"
}
},
"id": 986,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "7197:48:3",
"typeDescriptions": {
"typeIdentifier": "t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$value",
"typeString": "function (uint256,bytes memory) payable external returns (uint256)"
}
},
"id": 989,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "7197:87:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "7185:99:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 991,
"nodeType": "ExpressionStatement",
"src": "7185:99:3"
},
{
"eventCall": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 993,
"name": "arbitrator",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 499,
"src": "7307:10:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Arbitrator_$4021",
"typeString": "contract Arbitrator"
}
},
{
"argumentTypes": null,
"id": 994,
"name": "disputeID",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 614,
"src": "7319:9:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"argumentTypes": null,
"hexValue": "30",
"id": 995,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "7330:1:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_Arbitrator_$4021",
"typeString": "contract Arbitrator"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
{
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
}
],
"id": 992,
"name": "Dispute",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 529,
"src": "7299:7:3",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_contract$_Arbitrator_$4021_$_t_uint256_$_t_uint256_$returns$__$",
"typeString": "function (contract Arbitrator,uint256,uint256)"
}
},
"id": 996,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "7299:33:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 997,
"nodeType": "EmitStatement",
"src": "7294:38:3"
}
]
},
"documentation": "@dev Create a dispute. UNTRUSTED.\n @param _arbitrationCost Amount to pay the arbitrator.",
"id": 999,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "raiseDispute",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 974,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 973,
"name": "_arbitrationCost",
"nodeType": "VariableDeclaration",
"scope": 999,
"src": "7103:21:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 972,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "7103:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "7102:23:3"
},
"payable": false,
"returnParameters": {
"id": 975,
"nodeType": "ParameterList",
"parameters": [],
"src": "7135:0:3"
},
"scope": 1111,
"src": "7081:258:3",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "internal"
},
{
"body": {
"id": 1026,
"nodeType": "Block",
"src": "7459:235:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
},
"id": 1008,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 1005,
"name": "status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 632,
"src": "7477:6:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 1006,
"name": "Status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 630,
"src": "7487:6:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_enum$_Status_$630_$",
"typeString": "type(enum ArbitrableDeposit.Status)"
}
},
"id": 1007,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "WaitingClaimant",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "7487:22:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"src": "7477:32:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "54686520636f6e7472616374206973206e6f742077616974696e6720666f722074686520636c61696d616e742e",
"id": 1009,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "7511:47:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_aa0c0b28187bbc4f1c5ba5bb65c72e243da4b01ba59808d051976f43445793ec",
"typeString": "literal_string \"The contract is not waiting for the claimant.\""
},
"value": "The contract is not waiting for the claimant."
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_aa0c0b28187bbc4f1c5ba5bb65c72e243da4b01ba59808d051976f43445793ec",
"typeString": "literal_string \"The contract is not waiting for the claimant.\""
}
],
"id": 1004,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
20642,
20643
],
"referencedDeclaration": 20643,
"src": "7469:7:3",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 1010,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "7469:90:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 1011,
"nodeType": "ExpressionStatement",
"src": "7469:90:3"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 1017,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 1013,
"name": "now",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20641,
"src": "7577:3:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": ">=",
"rightExpression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 1016,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 1014,
"name": "lastInteraction",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 612,
"src": "7584:15:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"argumentTypes": null,
"id": 1015,
"name": "timeout",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 606,
"src": "7602:7:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "7584:25:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "7577:32:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "4e6f7420656e6f7567682074696d6520686173207061737365642e",
"id": 1018,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "7611:29:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_6d13d09cee50087e5f45903da820ea9812be078246f60214c341c2cfc013bf37",
"typeString": "literal_string \"Not enough time has passed.\""
},
"value": "Not enough time has passed."
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_6d13d09cee50087e5f45903da820ea9812be078246f60214c341c2cfc013bf37",
"typeString": "literal_string \"Not enough time has passed.\""
}
],
"id": 1012,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
20642,
20643
],
"referencedDeclaration": 20643,
"src": "7569:7:3",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 1019,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "7569:72:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 1020,
"nodeType": "ExpressionStatement",
"src": "7569:72:3"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 1022,
"name": "disputeID",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 614,
"src": "7666:9:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"argumentTypes": null,
"id": 1023,
"name": "OWNER_WINS",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 638,
"src": "7676:10:3",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
],
"id": 1021,
"name": "executeRuling",
"nodeType": "Identifier",
"overloadedDeclarations": [
1110
],
"referencedDeclaration": 1110,
"src": "7652:13:3",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$",
"typeString": "function (uint256,uint256)"
}
},
"id": 1024,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "7652:35:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 1025,
"nodeType": "ExpressionStatement",
"src": "7652:35:3"
}
]
},
"documentation": "@dev Reimburse owner if claimant fails to pay the fee.",
"id": 1027,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [
{
"arguments": null,
"id": 1002,
"modifierName": {
"argumentTypes": null,
"id": 1001,
"name": "onlyOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 658,
"src": "7449:9:3",
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
"src": "7449:9:3"
}
],
"name": "timeOutByOwner",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1000,
"nodeType": "ParameterList",
"parameters": [],
"src": "7439:2:3"
},
"payable": false,
"returnParameters": {
"id": 1003,
"nodeType": "ParameterList",
"parameters": [],
"src": "7459:0:3"
},
"scope": 1111,
"src": "7416:278:3",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 1054,
"nodeType": "Block",
"src": "7814:233:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
},
"id": 1036,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 1033,
"name": "status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 632,
"src": "7832:6:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 1034,
"name": "Status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 630,
"src": "7842:6:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_enum$_Status_$630_$",
"typeString": "type(enum ArbitrableDeposit.Status)"
}
},
"id": 1035,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "WaitingOwner",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "7842:19:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"src": "7832:29:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "54686520636f6e7472616374206973206e6f742077616974696e6720666f7220746865206f776e65722e",
"id": 1037,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "7863:44:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_592fca79757d20861bffaa87906ec11fa717736b6fbf2b1500b5ce94df48c3aa",
"typeString": "literal_string \"The contract is not waiting for the owner.\""
},
"value": "The contract is not waiting for the owner."
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_592fca79757d20861bffaa87906ec11fa717736b6fbf2b1500b5ce94df48c3aa",
"typeString": "literal_string \"The contract is not waiting for the owner.\""
}
],
"id": 1032,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
20642,
20643
],
"referencedDeclaration": 20643,
"src": "7824:7:3",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 1038,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "7824:84:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 1039,
"nodeType": "ExpressionStatement",
"src": "7824:84:3"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 1045,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 1041,
"name": "now",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20641,
"src": "7926:3:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": ">=",
"rightExpression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 1044,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 1042,
"name": "lastInteraction",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 612,
"src": "7933:15:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"argumentTypes": null,
"id": 1043,
"name": "timeout",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 606,
"src": "7951:7:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "7933:25:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "7926:32:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "4e6f7420656e6f7567682074696d6520686173207061737365642e",
"id": 1046,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "7960:29:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_6d13d09cee50087e5f45903da820ea9812be078246f60214c341c2cfc013bf37",
"typeString": "literal_string \"Not enough time has passed.\""
},
"value": "Not enough time has passed."
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_6d13d09cee50087e5f45903da820ea9812be078246f60214c341c2cfc013bf37",
"typeString": "literal_string \"Not enough time has passed.\""
}
],
"id": 1040,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
20642,
20643
],
"referencedDeclaration": 20643,
"src": "7918:7:3",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 1047,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "7918:72:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 1048,
"nodeType": "ExpressionStatement",
"src": "7918:72:3"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 1050,
"name": "disputeID",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 614,
"src": "8015:9:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"argumentTypes": null,
"id": 1051,
"name": "CLAIMANT_WINS",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 641,
"src": "8026:13:3",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
],
"id": 1049,
"name": "executeRuling",
"nodeType": "Identifier",
"overloadedDeclarations": [
1110
],
"referencedDeclaration": 1110,
"src": "8001:13:3",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$",
"typeString": "function (uint256,uint256)"
}
},
"id": 1052,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "8001:39:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 1053,
"nodeType": "ExpressionStatement",
"src": "8001:39:3"
}
]
},
"documentation": "@dev Pay claimant if owner fails to pay the fee.",
"id": 1055,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [
{
"arguments": null,
"id": 1030,
"modifierName": {
"argumentTypes": null,
"id": 1029,
"name": "onlyClaimant",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 686,
"src": "7801:12:3",
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
"src": "7801:12:3"
}
],
"name": "timeOutByClaimant",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1028,
"nodeType": "ParameterList",
"parameters": [],
"src": "7791:2:3"
},
"payable": false,
"returnParameters": {
"id": 1031,
"nodeType": "ParameterList",
"parameters": [],
"src": "7814:0:3"
},
"scope": 1111,
"src": "7765:282:3",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 1109,
"nodeType": "Block",
"src": "8453:380:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 1065,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 1063,
"name": "_disputeID",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1057,
"src": "8471:10:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"id": 1064,
"name": "disputeID",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 614,
"src": "8485:9:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "8471:23:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "57726f6e6720646973707574652049442e",
"id": 1066,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8496:19:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_592f5101973b6cc3d369ba410fae1f41cd87e7dce28c818774c5095e76af8c1e",
"typeString": "literal_string \"Wrong dispute ID.\""
},
"value": "Wrong dispute ID."
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_592f5101973b6cc3d369ba410fae1f41cd87e7dce28c818774c5095e76af8c1e",
"typeString": "literal_string \"Wrong dispute ID.\""
}
],
"id": 1062,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
20642,
20643
],
"referencedDeclaration": 20643,
"src": "8463:7:3",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 1067,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "8463:53:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 1068,
"nodeType": "ExpressionStatement",
"src": "8463:53:3"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 1072,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 1070,
"name": "_ruling",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1059,
"src": "8534:7:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<=",
"rightExpression": {
"argumentTypes": null,
"id": 1071,
"name": "AMOUNT_OF_CHOICES",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 635,
"src": "8545:17:3",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"src": "8534:28:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "496e76616c69642072756c696e672e",
"id": 1073,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8564:17:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_30a1efd31034a387a6ecd17203195002f6ea4f4b6af4307c4b0d6824823a3ea6",
"typeString": "literal_string \"Invalid ruling.\""
},
"value": "Invalid ruling."
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_30a1efd31034a387a6ecd17203195002f6ea4f4b6af4307c4b0d6824823a3ea6",
"typeString": "literal_string \"Invalid ruling.\""
}
],
"id": 1069,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
20642,
20643
],
"referencedDeclaration": 20643,
"src": "8526:7:3",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 1074,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "8526:56:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 1075,
"nodeType": "ExpressionStatement",
"src": "8526:56:3"
},
{
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 1078,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 1076,
"name": "_ruling",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1059,
"src": "8597:7:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"id": 1077,
"name": "OWNER_WINS",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 638,
"src": "8608:10:3",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"src": "8597:21:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": {
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 1096,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 1094,
"name": "_ruling",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1059,
"src": "8743:7:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"id": 1095,
"name": "CLAIMANT_WINS",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 641,
"src": "8754:13:3",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"src": "8743:24:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": null,
"id": 1103,
"nodeType": "IfStatement",
"src": "8739:67:3",
"trueBody": {
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 1100,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 616,
"src": "8799:6:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"id": 1097,
"name": "claimant",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 604,
"src": "8781:8:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 1099,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "transfer",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "8781:17:3",
"typeDescriptions": {
"typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
"typeString": "function (uint256)"
}
},
"id": 1101,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "8781:25:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 1102,
"nodeType": "ExpressionStatement",
"src": "8781:25:3"
}
},
"id": 1104,
"nodeType": "IfStatement",
"src": "8593:213:3",
"trueBody": {
"id": 1093,
"nodeType": "Block",
"src": "8620:113:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 1084,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 1082,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 616,
"src": "8649:6:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"argumentTypes": null,
"id": 1083,
"name": "claimAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 618,
"src": "8658:11:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "8649:20:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"id": 1079,
"name": "owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 602,
"src": "8634:5:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 1081,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "transfer",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "8634:14:3",
"typeDescriptions": {
"typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
"typeString": "function (uint256)"
}
},
"id": 1085,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "8634:36:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 1086,
"nodeType": "ExpressionStatement",
"src": "8634:36:3"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 1090,
"name": "claimResponseAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 622,
"src": "8702:19:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"id": 1087,
"name": "claimant",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 604,
"src": "8684:8:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 1089,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "transfer",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "8684:17:3",
"typeDescriptions": {
"typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
"typeString": "function (uint256)"
}
},
"id": 1091,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "8684:38:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 1092,
"nodeType": "ExpressionStatement",
"src": "8684:38:3"
}
]
}
},
{
"expression": {
"argumentTypes": null,
"id": 1107,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 1105,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 616,
"src": "8816:6:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "30",
"id": 1106,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8825:1:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "8816:10:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 1108,
"nodeType": "ExpressionStatement",
"src": "8816:10:3"
}
]
},
"documentation": "@dev Execute a ruling of a dispute. Pays parties respective amounts based on ruling.\n This needs to be extended by contract inheriting from it.\n @param _disputeID ID of the dispute in the Arbitrator contract.\n @param _ruling Ruling given by the arbitrator. 1 : Allow owner deposit. 2 : Pay claimant.",
"id": 1110,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "executeRuling",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1060,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1057,
"name": "_disputeID",
"nodeType": "VariableDeclaration",
"scope": 1110,
"src": "8413:15:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 1056,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "8413:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 1059,
"name": "_ruling",
"nodeType": "VariableDeclaration",
"scope": 1110,
"src": "8430:12:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 1058,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "8430:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "8412:31:3"
},
"payable": false,
"returnParameters": {
"id": 1061,
"nodeType": "ParameterList",
"parameters": [],
"src": "8453:0:3"
},
"scope": 1111,
"src": "8390:443:3",
"stateMutability": "nonpayable",
"superFunction": 594,
"visibility": "internal"
}
],
"scope": 1112,
"src": "652:8183:3"
}
],
"src": "170:8666:3"
},
"legacyAST": {
"absolutePath": "/private/tmp/kleros-interaction/contracts/standard/arbitration/ArbitrableDeposit.sol",
"exportedSymbols": {
"ArbitrableDeposit": [
1111
]
},
"id": 1112,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 597,
"literals": [
"solidity",
"^",
"0.4",
".15"
],
"nodeType": "PragmaDirective",
"src": "170:24:3"
},
{
"absolutePath": "/private/tmp/kleros-interaction/contracts/standard/arbitration/Arbitrable.sol",
"file": "./Arbitrable.sol",
"id": 598,
"nodeType": "ImportDirective",
"scope": 1112,
"sourceUnit": 596,
"src": "195:26:3",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 599,
"name": "Arbitrable",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 595,
"src": "682:10:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Arbitrable_$595",
"typeString": "contract Arbitrable"
}
},
"id": 600,
"nodeType": "InheritanceSpecifier",
"src": "682:10:3"
}
],
"contractDependencies": [
595
],
"contractKind": "contract",
"documentation": "@title Arbitrable Deposit\n This is a a contract which allow for an owner deposit. Anyone besides the owner can seek arbitration/file a claim as a claimant.\nTo develop a contract inheriting from this one, you need to:\n - Redefine RULING_OPTIONS to explain the consequences of the possible rulings.\n - Redefine executeRuling while still calling super.executeRuling to implement the results of the arbitration.",
"fullyImplemented": true,
"id": 1111,
"linearizedBaseContracts": [
1111,
595
],
"name": "ArbitrableDeposit",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 602,
"name": "owner",
"nodeType": "VariableDeclaration",
"scope": 1111,
"src": "699:20:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 601,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "699:7:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 604,
"name": "claimant",
"nodeType": "VariableDeclaration",
"scope": 1111,
"src": "725:23:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 603,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "725:7:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 606,
"name": "timeout",
"nodeType": "VariableDeclaration",
"scope": 1111,
"src": "754:19:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 605,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "754:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 608,
"name": "ownerFee",
"nodeType": "VariableDeclaration",
"scope": 1111,
"src": "874:20:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 607,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "874:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 610,
"name": "claimantFee",
"nodeType": "VariableDeclaration",
"scope": 1111,
"src": "933:23:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 609,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "933:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 612,
"name": "lastInteraction",
"nodeType": "VariableDeclaration",
"scope": 1111,
"src": "998:27:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 611,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "998:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 614,
"name": "disputeID",
"nodeType": "VariableDeclaration",
"scope": 1111,
"src": "1078:21:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 613,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "1078:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 616,
"name": "amount",
"nodeType": "VariableDeclaration",
"scope": 1111,
"src": "1105:18:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 615,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "1105:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 618,
"name": "claimAmount",
"nodeType": "VariableDeclaration",
"scope": 1111,
"src": "1165:23:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 617,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "1165:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 620,
"name": "claimRate",
"nodeType": "VariableDeclaration",
"scope": 1111,
"src": "1231:21:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 619,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "1231:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 622,
"name": "claimResponseAmount",
"nodeType": "VariableDeclaration",
"scope": 1111,
"src": "1318:33:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 621,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "1318:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 624,
"name": "claimDepositAmount",
"nodeType": "VariableDeclaration",
"scope": 1111,
"src": "1424:30:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 623,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "1424:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "public"
},
{
"canonicalName": "ArbitrableDeposit.Status",
"id": 630,
"members": [
{
"id": 625,
"name": "NoDispute",
"nodeType": "EnumValue",
"src": "1515:9:3"
},
{
"id": 626,
"name": "WaitingOwner",
"nodeType": "EnumValue",
"src": "1526:12:3"
},
{
"id": 627,
"name": "WaitingClaimant",
"nodeType": "EnumValue",
"src": "1540:15:3"
},
{
"id": 628,
"name": "DisputeCreated",
"nodeType": "EnumValue",
"src": "1557:14:3"
},
{
"id": 629,
"name": "Resolved",
"nodeType": "EnumValue",
"src": "1573:8:3"
}
],
"name": "Status",
"nodeType": "EnumDefinition",
"src": "1502:80:3"
},
{
"constant": false,
"id": 632,
"name": "status",
"nodeType": "VariableDeclaration",
"scope": 1111,
"src": "1587:20:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
},
"typeName": {
"contractScope": null,
"id": 631,
"name": "Status",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 630,
"src": "1587:6:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"value": null,
"visibility": "public"
},
{
"constant": true,
"id": 635,
"name": "AMOUNT_OF_CHOICES",
"nodeType": "VariableDeclaration",
"scope": 1111,
"src": "1614:36:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 633,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "1614:5:3",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": {
"argumentTypes": null,
"hexValue": "32",
"id": 634,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1649:1:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_2_by_1",
"typeString": "int_const 2"
},
"value": "2"
},
"visibility": "internal"
},
{
"constant": true,
"id": 638,
"name": "OWNER_WINS",
"nodeType": "VariableDeclaration",
"scope": 1111,
"src": "1656:29:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 636,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "1656:5:3",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": {
"argumentTypes": null,
"hexValue": "31",
"id": 637,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1684:1:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
},
"value": "1"
},
"visibility": "internal"
},
{
"constant": true,
"id": 641,
"name": "CLAIMANT_WINS",
"nodeType": "VariableDeclaration",
"scope": 1111,
"src": "1691:32:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 639,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "1691:5:3",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": {
"argumentTypes": null,
"hexValue": "32",
"id": 640,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1722:1:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_2_by_1",
"typeString": "int_const 2"
},
"value": "2"
},
"visibility": "internal"
},
{
"constant": true,
"id": 644,
"name": "RULING_OPTIONS",
"nodeType": "VariableDeclaration",
"scope": 1111,
"src": "1729:59:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory",
"typeString": "string"
},
"typeName": {
"id": 642,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "1729:6:3",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": {
"argumentTypes": null,
"hexValue": "4f776e65722077696e733b436c61696d616e742077696e73",
"id": 643,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1762:26:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_033cfec2fb1157f3298b564805cb381aa5a1e85b2c8b3664c638fe2c07222023",
"typeString": "literal_string \"Owner wins;Claimant wins\""
},
"value": "Owner wins;Claimant wins"
},
"visibility": "internal"
},
{
"body": {
"id": 657,
"nodeType": "Block",
"src": "1893:79:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 652,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 647,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20639,
"src": "1902:3:3",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 648,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "1902:10:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 650,
"name": "owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 602,
"src": "1924:5:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 649,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1916:7:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": "address"
},
"id": 651,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1916:14:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "1902:28:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "43616e206f6e6c792062652063616c6c656420627920746865206f776e65722e",
"id": 653,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1932:34:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_bf33d29683e5562cfb7e5d7016dc68533d604c99c45e8c622ac0ad8361611bfa",
"typeString": "literal_string \"Can only be called by the owner.\""
},
"value": "Can only be called by the owner."
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_bf33d29683e5562cfb7e5d7016dc68533d604c99c45e8c622ac0ad8361611bfa",
"typeString": "literal_string \"Can only be called by the owner.\""
}
],
"id": 646,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
20642,
20643
],
"referencedDeclaration": 20643,
"src": "1894:7:3",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 654,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1894:73:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 655,
"nodeType": "ExpressionStatement",
"src": "1894:73:3"
},
{
"id": 656,
"nodeType": "PlaceholderStatement",
"src": "1969:1:3"
}
]
},
"documentation": null,
"id": 658,
"name": "onlyOwner",
"nodeType": "ModifierDefinition",
"parameters": {
"id": 645,
"nodeType": "ParameterList",
"parameters": [],
"src": "1893:0:3"
},
"src": "1875:97:3",
"visibility": "internal"
},
{
"body": {
"id": 671,
"nodeType": "Block",
"src": "1998:77:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 666,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 661,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20639,
"src": "2007:3:3",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 662,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "2007:10:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 664,
"name": "owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 602,
"src": "2029:5:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 663,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "2021:7:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": "address"
},
"id": 665,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2021:14:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "2007:28:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "43616e6e6f742062652063616c6c656420627920746865206f776e65722e",
"id": 667,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "2037:32:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_aa3392aa480c454b8b1a0d19741803a12190550f200b3e3e4ec8ff7885026a89",
"typeString": "literal_string \"Cannot be called by the owner.\""
},
"value": "Cannot be called by the owner."
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_aa3392aa480c454b8b1a0d19741803a12190550f200b3e3e4ec8ff7885026a89",
"typeString": "literal_string \"Cannot be called by the owner.\""
}
],
"id": 660,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
20642,
20643
],
"referencedDeclaration": 20643,
"src": "1999:7:3",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 668,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1999:71:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 669,
"nodeType": "ExpressionStatement",
"src": "1999:71:3"
},
{
"id": 670,
"nodeType": "PlaceholderStatement",
"src": "2072:1:3"
}
]
},
"documentation": null,
"id": 672,
"name": "onlyNotOwner",
"nodeType": "ModifierDefinition",
"parameters": {
"id": 659,
"nodeType": "ParameterList",
"parameters": [],
"src": "1998:0:3"
},
"src": "1977:98:3",
"visibility": "internal"
},
{
"body": {
"id": 685,
"nodeType": "Block",
"src": "2101:85:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 680,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 675,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20639,
"src": "2110:3:3",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 676,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "2110:10:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 678,
"name": "claimant",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 604,
"src": "2132:8:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 677,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "2124:7:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": "address"
},
"id": 679,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2124:17:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "2110:31:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "43616e206f6e6c792062652063616c6c65642062792074686520636c61696d616e742e",
"id": 681,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "2143:37:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_3e97f4d228b984a36b6e8f7c72acb391612cfef6f8cd2c327c99d410920a50d8",
"typeString": "literal_string \"Can only be called by the claimant.\""
},
"value": "Can only be called by the claimant."
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_3e97f4d228b984a36b6e8f7c72acb391612cfef6f8cd2c327c99d410920a50d8",
"typeString": "literal_string \"Can only be called by the claimant.\""
}
],
"id": 674,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
20642,
20643
],
"referencedDeclaration": 20643,
"src": "2102:7:3",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 682,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2102:79:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 683,
"nodeType": "ExpressionStatement",
"src": "2102:79:3"
},
{
"id": 684,
"nodeType": "PlaceholderStatement",
"src": "2183:1:3"
}
]
},
"documentation": null,
"id": 686,
"name": "onlyClaimant",
"nodeType": "ModifierDefinition",
"parameters": {
"id": 673,
"nodeType": "ParameterList",
"parameters": [],
"src": "2101:0:3"
},
"src": "2080:106:3",
"visibility": "internal"
},
{
"canonicalName": "ArbitrableDeposit.Party",
"id": 689,
"members": [
{
"id": 687,
"name": "Owner",
"nodeType": "EnumValue",
"src": "2204:5:3"
},
{
"id": 688,
"name": "Claimant",
"nodeType": "EnumValue",
"src": "2211:8:3"
}
],
"name": "Party",
"nodeType": "EnumDefinition",
"src": "2192:28:3"
},
{
"anonymous": false,
"documentation": "@dev Indicate that a party has to pay a fee or would otherwise be considered as loosing.\n @param _party The party who has to pay.",
"id": 693,
"name": "HasToPayFee",
"nodeType": "EventDefinition",
"parameters": {
"id": 692,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 691,
"indexed": false,
"name": "_party",
"nodeType": "VariableDeclaration",
"scope": 693,
"src": "2397:12:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Party_$689",
"typeString": "enum ArbitrableDeposit.Party"
},
"typeName": {
"contractScope": null,
"id": 690,
"name": "Party",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 689,
"src": "2397:5:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Party_$689",
"typeString": "enum ArbitrableDeposit.Party"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2396:14:3"
},
"src": "2379:32:3"
},
{
"body": {
"id": 745,
"nodeType": "Block",
"src": "2960:244:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 712,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 710,
"name": "timeout",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 606,
"src": "2970:7:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 711,
"name": "_timeout",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 697,
"src": "2980:8:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "2970:18:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 713,
"nodeType": "ExpressionStatement",
"src": "2970:18:3"
},
{
"expression": {
"argumentTypes": null,
"id": 716,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 714,
"name": "claimRate",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 620,
"src": "2998:9:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 715,
"name": "_claimRate",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 701,
"src": "3010:10:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "2998:22:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 717,
"nodeType": "ExpressionStatement",
"src": "2998:22:3"
},
{
"expression": {
"argumentTypes": null,
"id": 721,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 718,
"name": "status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 632,
"src": "3030:6:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 719,
"name": "Status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 630,
"src": "3039:6:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_enum$_Status_$630_$",
"typeString": "type(enum ArbitrableDeposit.Status)"
}
},
"id": 720,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "NoDispute",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "3039:16:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"src": "3030:25:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"id": 722,
"nodeType": "ExpressionStatement",
"src": "3030:25:3"
},
{
"expression": {
"argumentTypes": null,
"id": 726,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 723,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 616,
"src": "3065:6:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "+=",
"rightHandSide": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 724,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20639,
"src": "3075:3:3",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 725,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "value",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "3075:9:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "3065:19:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 727,
"nodeType": "ExpressionStatement",
"src": "3065:19:3"
},
{
"expression": {
"argumentTypes": null,
"id": 731,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 728,
"name": "owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 602,
"src": "3094:5:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 729,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20639,
"src": "3102:3:3",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 730,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "3102:10:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "3094:18:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 732,
"nodeType": "ExpressionStatement",
"src": "3094:18:3"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 737,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 616,
"src": "3145:6:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 734,
"name": "this",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20662,
"src": "3130:4:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ArbitrableDeposit_$1111",
"typeString": "contract ArbitrableDeposit"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_ArbitrableDeposit_$1111",
"typeString": "contract ArbitrableDeposit"
}
],
"id": 733,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "3122:7:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": "address"
},
"id": 735,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3122:13:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 736,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "transfer",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "3122:22:3",
"typeDescriptions": {
"typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
"typeString": "function (uint256)"
}
},
"id": 738,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3122:30:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 739,
"nodeType": "ExpressionStatement",
"src": "3122:30:3"
},
{
"eventCall": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "30",
"id": 741,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "3180:1:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
{
"argumentTypes": null,
"id": 742,
"name": "_metaEvidence",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 703,
"src": "3183:13:3",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"id": 740,
"name": "MetaEvidence",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 521,
"src": "3167:12:3",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (uint256,string memory)"
}
},
"id": 743,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3167:30:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 744,
"nodeType": "EmitStatement",
"src": "3162:35:3"
}
]
},
"documentation": "@dev Constructor. Choose the arbitrator\n @param _arbitrator The arbitrator of the contract.\n @param _timeout Time after which a party automatically loose a dispute.\n @param _arbitratorExtraData Extra data for the arbitrator.\n @param _metaEvidence Link to the meta evidence.",
"id": 746,
"implemented": true,
"isConstructor": true,
"isDeclaredConst": false,
"modifiers": [
{
"arguments": [
{
"argumentTypes": null,
"id": 706,
"name": "_arbitrator",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 695,
"src": "2910:11:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Arbitrator_$4021",
"typeString": "contract Arbitrator"
}
},
{
"argumentTypes": null,
"id": 707,
"name": "_arbitratorExtraData",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 699,
"src": "2923:20:3",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"id": 708,
"modifierName": {
"argumentTypes": null,
"id": 705,
"name": "Arbitrable",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 595,
"src": "2899:10:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Arbitrable_$595_$",
"typeString": "type(contract Arbitrable)"
}
},
"nodeType": "ModifierInvocation",
"src": "2899:45:3"
}
],
"name": "",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 704,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 695,
"name": "_arbitrator",
"nodeType": "VariableDeclaration",
"scope": 746,
"src": "2756:22:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Arbitrator_$4021",
"typeString": "contract Arbitrator"
},
"typeName": {
"contractScope": null,
"id": 694,
"name": "Arbitrator",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 4021,
"src": "2756:10:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Arbitrator_$4021",
"typeString": "contract Arbitrator"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 697,
"name": "_timeout",
"nodeType": "VariableDeclaration",
"scope": 746,
"src": "2788:13:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 696,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "2788:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 699,
"name": "_arbitratorExtraData",
"nodeType": "VariableDeclaration",
"scope": 746,
"src": "2811:26:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 698,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "2811:5:3",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 701,
"name": "_claimRate",
"nodeType": "VariableDeclaration",
"scope": 746,
"src": "2847:15:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 700,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "2847:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 703,
"name": "_metaEvidence",
"nodeType": "VariableDeclaration",
"scope": 746,
"src": "2872:20:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 702,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "2872:6:3",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2746:152:3"
},
"payable": true,
"returnParameters": {
"id": 709,
"nodeType": "ParameterList",
"parameters": [],
"src": "2960:0:3"
},
"scope": 1111,
"src": "2735:469:3",
"stateMutability": "payable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 764,
"nodeType": "Block",
"src": "3347:79:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 754,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 751,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 616,
"src": "3357:6:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "+=",
"rightHandSide": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 752,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20639,
"src": "3367:3:3",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 753,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "value",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "3367:9:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "3357:19:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 755,
"nodeType": "ExpressionStatement",
"src": "3357:19:3"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 760,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20639,
"src": "3409:3:3",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 761,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "value",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "3409:9:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 757,
"name": "this",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20662,
"src": "3394:4:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ArbitrableDeposit_$1111",
"typeString": "contract ArbitrableDeposit"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_ArbitrableDeposit_$1111",
"typeString": "contract ArbitrableDeposit"
}
],
"id": 756,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "3386:7:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": "address"
},
"id": 758,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3386:13:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 759,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "transfer",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "3386:22:3",
"typeDescriptions": {
"typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
"typeString": "function (uint256)"
}
},
"id": 762,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3386:33:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 763,
"nodeType": "ExpressionStatement",
"src": "3386:33:3"
}
]
},
"documentation": "@dev Owner deposit to contract. To be called when the owner makes a deposit.",
"id": 765,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [
{
"arguments": null,
"id": 749,
"modifierName": {
"argumentTypes": null,
"id": 748,
"name": "onlyOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 658,
"src": "3337:9:3",
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
"src": "3337:9:3"
}
],
"name": "deposit",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 747,
"nodeType": "ParameterList",
"parameters": [],
"src": "3319:2:3"
},
"payable": true,
"returnParameters": {
"id": 750,
"nodeType": "ParameterList",
"parameters": [],
"src": "3347:0:3"
},
"scope": 1111,
"src": "3303:123:3",
"stateMutability": "payable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 809,
"nodeType": "Block",
"src": "3651:313:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 775,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 773,
"name": "_claimAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 767,
"src": "3669:12:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<=",
"rightExpression": {
"argumentTypes": null,
"id": 774,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 616,
"src": "3685:6:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "3669:22:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "43616e6e6f7420636c61696d206d6f7265207468616e2077686174206973206465706f73697465642e",
"id": 776,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "3693:43:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_3bc51fea8893edce1bb0bf2d7870a353e6097d76d80c508369402dac4e6ca908",
"typeString": "literal_string \"Cannot claim more than what is deposited.\""
},
"value": "Cannot claim more than what is deposited."
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_3bc51fea8893edce1bb0bf2d7870a353e6097d76d80c508369402dac4e6ca908",
"typeString": "literal_string \"Cannot claim more than what is deposited.\""
}
],
"id": 772,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
20642,
20643
],
"referencedDeclaration": 20643,
"src": "3661:7:3",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 777,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3661:76:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 778,
"nodeType": "ExpressionStatement",
"src": "3661:76:3"
},
{
"expression": {
"argumentTypes": null,
"id": 782,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 779,
"name": "claimant",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 604,
"src": "3747:8:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 780,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20639,
"src": "3758:3:3",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 781,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "3758:10:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "3747:21:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 783,
"nodeType": "ExpressionStatement",
"src": "3747:21:3"
},
{
"expression": {
"argumentTypes": null,
"id": 786,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 784,
"name": "claimAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 618,
"src": "3778:11:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 785,
"name": "_claimAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 767,
"src": "3792:12:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "3778:26:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 787,
"nodeType": "ExpressionStatement",
"src": "3778:26:3"
},
{
"expression": {
"argumentTypes": null,
"id": 795,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 788,
"name": "claimDepositAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 624,
"src": "3814:18:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 794,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"components": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 791,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 789,
"name": "_claimAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 767,
"src": "3836:12:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "*",
"rightExpression": {
"argumentTypes": null,
"id": 790,
"name": "claimRate",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 620,
"src": "3851:9:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "3836:24:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"id": 792,
"isConstant": false,
"isInlineArray": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "TupleExpression",
"src": "3835:26:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "/",
"rightExpression": {
"argumentTypes": null,
"hexValue": "313030",
"id": 793,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "3864:3:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_100_by_1",
"typeString": "int_const 100"
},
"value": "100"
},
"src": "3835:32:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "3814:53:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 796,
"nodeType": "ExpressionStatement",
"src": "3814:53:3"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 801,
"name": "claimDepositAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 624,
"src": "3900:18:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 798,
"name": "this",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20662,
"src": "3885:4:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ArbitrableDeposit_$1111",
"typeString": "contract ArbitrableDeposit"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_ArbitrableDeposit_$1111",
"typeString": "contract ArbitrableDeposit"
}
],
"id": 797,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "3877:7:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": "address"
},
"id": 799,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3877:13:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 800,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "transfer",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "3877:22:3",
"typeDescriptions": {
"typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
"typeString": "function (uint256)"
}
},
"id": 802,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3877:42:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 803,
"nodeType": "ExpressionStatement",
"src": "3877:42:3"
},
{
"expression": {
"argumentTypes": null,
"id": 807,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 804,
"name": "status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 632,
"src": "3929:6:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 805,
"name": "Status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 630,
"src": "3938:6:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_enum$_Status_$630_$",
"typeString": "type(enum ArbitrableDeposit.Status)"
}
},
"id": 806,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "WaitingOwner",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "3938:19:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"src": "3929:28:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"id": 808,
"nodeType": "ExpressionStatement",
"src": "3929:28:3"
}
]
},
"documentation": "@dev File a claim against owner. To be called when someone makes a claim.\n @param _claimAmount The proposed claim amount by the claimant.",
"id": 810,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [
{
"arguments": null,
"id": 770,
"modifierName": {
"argumentTypes": null,
"id": 769,
"name": "onlyNotOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 672,
"src": "3638:12:3",
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
"src": "3638:12:3"
}
],
"name": "makeClaim",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 768,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 767,
"name": "_claimAmount",
"nodeType": "VariableDeclaration",
"scope": 810,
"src": "3612:17:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 766,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "3612:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "3611:19:3"
},
"payable": false,
"returnParameters": {
"id": 771,
"nodeType": "ParameterList",
"parameters": [],
"src": "3651:0:3"
},
"scope": 1111,
"src": "3593:371:3",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 856,
"nodeType": "Block",
"src": "4230:439:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 820,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 818,
"name": "_responseAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 812,
"src": "4248:15:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<=",
"rightExpression": {
"argumentTypes": null,
"id": 819,
"name": "claimDepositAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 624,
"src": "4267:18:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "4248:37:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "54686520726573706f6e736520616d6f756e742068617320746f206265206c657373207468616e2074686520636c61696d206465706f73697420616d6f756e742e",
"id": 821,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "4287:67:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_5156c7ae1f4fbb45fb3ada1c6259b36702f8ee523444c8c1192cd015a8c46ba8",
"typeString": "literal_string \"The response amount has to be less than the claim deposit amount.\""
},
"value": "The response amount has to be less than the claim deposit amount."
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_5156c7ae1f4fbb45fb3ada1c6259b36702f8ee523444c8c1192cd015a8c46ba8",
"typeString": "literal_string \"The response amount has to be less than the claim deposit amount.\""
}
],
"id": 817,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
20642,
20643
],
"referencedDeclaration": 20643,
"src": "4240:7:3",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 822,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "4240:115:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 823,
"nodeType": "ExpressionStatement",
"src": "4240:115:3"
},
{
"expression": {
"argumentTypes": null,
"id": 826,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 824,
"name": "claimResponseAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 622,
"src": "4365:19:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 825,
"name": "_responseAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 812,
"src": "4387:15:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "4365:37:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 827,
"nodeType": "ExpressionStatement",
"src": "4365:37:3"
},
{
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 830,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 828,
"name": "_responseAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 812,
"src": "4416:15:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"id": 829,
"name": "claimDepositAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 624,
"src": "4435:18:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "4416:37:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": {
"id": 854,
"nodeType": "Block",
"src": "4612:51:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"id": 851,
"name": "payArbitrationFeeByOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 914,
"src": "4626:24:3",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
"typeString": "function ()"
}
},
"id": 852,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "4626:26:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 853,
"nodeType": "ExpressionStatement",
"src": "4626:26:3"
}
]
},
"id": 855,
"nodeType": "IfStatement",
"src": "4412:251:3",
"trueBody": {
"id": 850,
"nodeType": "Block",
"src": "4455:150:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 834,
"name": "_responseAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 812,
"src": "4487:15:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"id": 831,
"name": "claimant",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 604,
"src": "4469:8:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 833,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "transfer",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "4469:17:3",
"typeDescriptions": {
"typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
"typeString": "function (uint256)"
}
},
"id": 835,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "4469:34:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 836,
"nodeType": "ExpressionStatement",
"src": "4469:34:3"
},
{
"expression": {
"argumentTypes": null,
"id": 839,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 837,
"name": "claimAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 618,
"src": "4517:11:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "30",
"id": 838,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "4531:1:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "4517:15:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 840,
"nodeType": "ExpressionStatement",
"src": "4517:15:3"
},
{
"expression": {
"argumentTypes": null,
"id": 843,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 841,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 616,
"src": "4546:6:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "30",
"id": 842,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "4555:1:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "4546:10:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 844,
"nodeType": "ExpressionStatement",
"src": "4546:10:3"
},
{
"expression": {
"argumentTypes": null,
"id": 848,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 845,
"name": "status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 632,
"src": "4570:6:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 846,
"name": "Status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 630,
"src": "4579:6:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_enum$_Status_$630_$",
"typeString": "type(enum ArbitrableDeposit.Status)"
}
},
"id": 847,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "Resolved",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "4579:15:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"src": "4570:24:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"id": 849,
"nodeType": "ExpressionStatement",
"src": "4570:24:3"
}
]
}
}
]
},
"documentation": "@dev Owner response to claimant. To be called when the owner initates a\n a response.\n @param _responseAmount The counter-offer amount the Owner proposes to a claimant.",
"id": 857,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [
{
"arguments": null,
"id": 815,
"modifierName": {
"argumentTypes": null,
"id": 814,
"name": "onlyOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 658,
"src": "4220:9:3",
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
"src": "4220:9:3"
}
],
"name": "claimResponse",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 813,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 812,
"name": "_responseAmount",
"nodeType": "VariableDeclaration",
"scope": 857,
"src": "4191:20:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 811,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "4191:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "4190:22:3"
},
"payable": false,
"returnParameters": {
"id": 816,
"nodeType": "ParameterList",
"parameters": [],
"src": "4230:0:3"
},
"scope": 1111,
"src": "4168:501:3",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 913,
"nodeType": "Block",
"src": "5077:828:3",
"statements": [
{
"assignments": [
863
],
"declarations": [
{
"constant": false,
"id": 863,
"name": "arbitrationCost",
"nodeType": "VariableDeclaration",
"scope": 914,
"src": "5087:20:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 862,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "5087:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 868,
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 866,
"name": "arbitratorExtraData",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 501,
"src": "5137:19:3",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage",
"typeString": "bytes storage ref"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_storage",
"typeString": "bytes storage ref"
}
],
"expression": {
"argumentTypes": null,
"id": 864,
"name": "arbitrator",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 499,
"src": "5110:10:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Arbitrator_$4021",
"typeString": "contract Arbitrator"
}
},
"id": 865,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "arbitrationCost",
"nodeType": "MemberAccess",
"referencedDeclaration": 3967,
"src": "5110:26:3",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_bytes_memory_ptr_$returns$_t_uint256_$",
"typeString": "function (bytes memory) view external returns (uint256)"
}
},
"id": 867,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "5110:47:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "5087:70:3"
},
{
"expression": {
"argumentTypes": null,
"id": 872,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 869,
"name": "ownerFee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 608,
"src": "5167:8:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "+=",
"rightHandSide": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 870,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20639,
"src": "5179:3:3",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 871,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "value",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "5179:9:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "5167:21:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 873,
"nodeType": "ExpressionStatement",
"src": "5167:21:3"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 877,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 875,
"name": "ownerFee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 608,
"src": "5275:8:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"id": 876,
"name": "arbitrationCost",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 863,
"src": "5287:15:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "5275:27:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "4f776e657220666565206d75737420657175616c206172626974726174696f6e20636f73742e",
"id": 878,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "5304:40:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_9831126b72244114f7837bc06172a82965c308e27cdb7446fde66d61614e2574",
"typeString": "literal_string \"Owner fee must equal arbitration cost.\""
},
"value": "Owner fee must equal arbitration cost."
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_9831126b72244114f7837bc06172a82965c308e27cdb7446fde66d61614e2574",
"typeString": "literal_string \"Owner fee must equal arbitration cost.\""
}
],
"id": 874,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
20642,
20643
],
"referencedDeclaration": 20643,
"src": "5267:7:3",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 879,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "5267:78:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 880,
"nodeType": "ExpressionStatement",
"src": "5267:78:3"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
},
"id": 885,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 882,
"name": "status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 632,
"src": "5363:6:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"nodeType": "BinaryOperation",
"operator": "<",
"rightExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 883,
"name": "Status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 630,
"src": "5372:6:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_enum$_Status_$630_$",
"typeString": "type(enum ArbitrableDeposit.Status)"
}
},
"id": 884,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "DisputeCreated",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "5372:21:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"src": "5363:30:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "4120646973707574652068617320616c7265616479206265656e207261697365642e",
"id": 886,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "5395:36:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_cd25b0583f349894c37fe84c669b30ee451bf08d7934ced553907853a263b0fb",
"typeString": "literal_string \"A dispute has already been raised.\""
},
"value": "A dispute has already been raised."
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_cd25b0583f349894c37fe84c669b30ee451bf08d7934ced553907853a263b0fb",
"typeString": "literal_string \"A dispute has already been raised.\""
}
],
"id": 881,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
20642,
20643
],
"referencedDeclaration": 20643,
"src": "5355:7:3",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 887,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "5355:77:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 888,
"nodeType": "ExpressionStatement",
"src": "5355:77:3"
},
{
"expression": {
"argumentTypes": null,
"id": 891,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 889,
"name": "lastInteraction",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 612,
"src": "5492:15:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 890,
"name": "now",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20641,
"src": "5510:3:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "5492:21:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 892,
"nodeType": "ExpressionStatement",
"src": "5492:21:3"
},
{
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 895,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 893,
"name": "claimantFee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 610,
"src": "5527:11:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<",
"rightExpression": {
"argumentTypes": null,
"id": 894,
"name": "arbitrationCost",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 863,
"src": "5541:15:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "5527:29:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": {
"id": 911,
"nodeType": "Block",
"src": "5784:115:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 908,
"name": "arbitrationCost",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 863,
"src": "5872:15:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 907,
"name": "raiseDispute",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 999,
"src": "5859:12:3",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$",
"typeString": "function (uint256)"
}
},
"id": 909,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "5859:29:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 910,
"nodeType": "ExpressionStatement",
"src": "5859:29:3"
}
]
},
"id": 912,
"nodeType": "IfStatement",
"src": "5523:376:3",
"trueBody": {
"id": 906,
"nodeType": "Block",
"src": "5558:220:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 899,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 896,
"name": "status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 632,
"src": "5690:6:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 897,
"name": "Status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 630,
"src": "5699:6:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_enum$_Status_$630_$",
"typeString": "type(enum ArbitrableDeposit.Status)"
}
},
"id": 898,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "WaitingClaimant",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "5699:22:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"src": "5690:31:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"id": 900,
"nodeType": "ExpressionStatement",
"src": "5690:31:3"
},
{
"eventCall": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 902,
"name": "Party",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 689,
"src": "5752:5:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_enum$_Party_$689_$",
"typeString": "type(enum ArbitrableDeposit.Party)"
}
},
"id": 903,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "Claimant",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "5752:14:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Party_$689",
"typeString": "enum ArbitrableDeposit.Party"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_enum$_Party_$689",
"typeString": "enum ArbitrableDeposit.Party"
}
],
"id": 901,
"name": "HasToPayFee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 693,
"src": "5740:11:3",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_enum$_Party_$689_$returns$__$",
"typeString": "function (enum ArbitrableDeposit.Party)"
}
},
"id": 904,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "5740:27:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 905,
"nodeType": "EmitStatement",
"src": "5735:32:3"
}
]
}
}
]
},
"documentation": "@dev Pay the arbitration fee to raise a dispute. To be called by the owner. UNTRUSTED.\n Note that the arbitrator can have createDispute throw, which will make this function throw and therefore lead to a party being timed-out.\n This is not a vulnerability as the arbitrator can rule in favor of one party anyway.",
"id": 914,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [
{
"arguments": null,
"id": 860,
"modifierName": {
"argumentTypes": null,
"id": 859,
"name": "onlyOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 658,
"src": "5068:9:3",
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
"src": "5068:9:3"
}
],
"name": "payArbitrationFeeByOwner",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 858,
"nodeType": "ParameterList",
"parameters": [],
"src": "5050:2:3"
},
"payable": true,
"returnParameters": {
"id": 861,
"nodeType": "ParameterList",
"parameters": [],
"src": "5077:0:3"
},
"scope": 1111,
"src": "5017:888:3",
"stateMutability": "payable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 970,
"nodeType": "Block",
"src": "6149:814:3",
"statements": [
{
"assignments": [
920
],
"declarations": [
{
"constant": false,
"id": 920,
"name": "arbitrationCost",
"nodeType": "VariableDeclaration",
"scope": 971,
"src": "6159:20:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 919,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "6159:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 925,
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 923,
"name": "arbitratorExtraData",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 501,
"src": "6209:19:3",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage",
"typeString": "bytes storage ref"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_storage",
"typeString": "bytes storage ref"
}
],
"expression": {
"argumentTypes": null,
"id": 921,
"name": "arbitrator",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 499,
"src": "6182:10:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Arbitrator_$4021",
"typeString": "contract Arbitrator"
}
},
"id": 922,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "arbitrationCost",
"nodeType": "MemberAccess",
"referencedDeclaration": 3967,
"src": "6182:26:3",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_bytes_memory_ptr_$returns$_t_uint256_$",
"typeString": "function (bytes memory) view external returns (uint256)"
}
},
"id": 924,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "6182:47:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "6159:70:3"
},
{
"expression": {
"argumentTypes": null,
"id": 929,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 926,
"name": "claimantFee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 610,
"src": "6239:11:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "+=",
"rightHandSide": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 927,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20639,
"src": "6254:3:3",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 928,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "value",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "6254:9:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "6239:24:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 930,
"nodeType": "ExpressionStatement",
"src": "6239:24:3"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 934,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 932,
"name": "claimantFee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 610,
"src": "6350:11:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"id": 933,
"name": "arbitrationCost",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 920,
"src": "6365:15:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "6350:30:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "436c61696d616e7420666565206d75737420657175616c206172626974726174696f6e20636f73742e",
"id": 935,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "6382:43:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_e18bf52e854b8d33141fbc503b1fd3789455323333b5e3ee89412dcfe3f046b7",
"typeString": "literal_string \"Claimant fee must equal arbitration cost.\""
},
"value": "Claimant fee must equal arbitration cost."
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_e18bf52e854b8d33141fbc503b1fd3789455323333b5e3ee89412dcfe3f046b7",
"typeString": "literal_string \"Claimant fee must equal arbitration cost.\""
}
],
"id": 931,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
20642,
20643
],
"referencedDeclaration": 20643,
"src": "6342:7:3",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 936,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "6342:84:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 937,
"nodeType": "ExpressionStatement",
"src": "6342:84:3"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
},
"id": 942,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 939,
"name": "status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 632,
"src": "6444:6:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"nodeType": "BinaryOperation",
"operator": "<",
"rightExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 940,
"name": "Status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 630,
"src": "6453:6:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_enum$_Status_$630_$",
"typeString": "type(enum ArbitrableDeposit.Status)"
}
},
"id": 941,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "DisputeCreated",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "6453:21:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"src": "6444:30:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "4120646973707574652068617320616c7265616479206265656e207261697365642e",
"id": 943,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "6476:36:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_cd25b0583f349894c37fe84c669b30ee451bf08d7934ced553907853a263b0fb",
"typeString": "literal_string \"A dispute has already been raised.\""
},
"value": "A dispute has already been raised."
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_cd25b0583f349894c37fe84c669b30ee451bf08d7934ced553907853a263b0fb",
"typeString": "literal_string \"A dispute has already been raised.\""
}
],
"id": 938,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
20642,
20643
],
"referencedDeclaration": 20643,
"src": "6436:7:3",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 944,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "6436:77:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 945,
"nodeType": "ExpressionStatement",
"src": "6436:77:3"
},
{
"expression": {
"argumentTypes": null,
"id": 948,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 946,
"name": "lastInteraction",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 612,
"src": "6573:15:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 947,
"name": "now",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20641,
"src": "6591:3:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "6573:21:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 949,
"nodeType": "ExpressionStatement",
"src": "6573:21:3"
},
{
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 952,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 950,
"name": "ownerFee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 608,
"src": "6608:8:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<",
"rightExpression": {
"argumentTypes": null,
"id": 951,
"name": "arbitrationCost",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 920,
"src": "6619:15:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "6608:26:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": {
"id": 968,
"nodeType": "Block",
"src": "6845:112:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 965,
"name": "arbitrationCost",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 920,
"src": "6930:15:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 964,
"name": "raiseDispute",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 999,
"src": "6917:12:3",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$",
"typeString": "function (uint256)"
}
},
"id": 966,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "6917:29:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 967,
"nodeType": "ExpressionStatement",
"src": "6917:29:3"
}
]
},
"id": 969,
"nodeType": "IfStatement",
"src": "6604:353:3",
"trueBody": {
"id": 963,
"nodeType": "Block",
"src": "6636:203:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 956,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 953,
"name": "status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 632,
"src": "6754:6:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 954,
"name": "Status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 630,
"src": "6763:6:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_enum$_Status_$630_$",
"typeString": "type(enum ArbitrableDeposit.Status)"
}
},
"id": 955,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "WaitingOwner",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "6763:19:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"src": "6754:28:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"id": 957,
"nodeType": "ExpressionStatement",
"src": "6754:28:3"
},
{
"eventCall": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 959,
"name": "Party",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 689,
"src": "6813:5:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_enum$_Party_$689_$",
"typeString": "type(enum ArbitrableDeposit.Party)"
}
},
"id": 960,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "Claimant",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "6813:14:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Party_$689",
"typeString": "enum ArbitrableDeposit.Party"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_enum$_Party_$689",
"typeString": "enum ArbitrableDeposit.Party"
}
],
"id": 958,
"name": "HasToPayFee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 693,
"src": "6801:11:3",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_enum$_Party_$689_$returns$__$",
"typeString": "function (enum ArbitrableDeposit.Party)"
}
},
"id": 961,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "6801:27:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 962,
"nodeType": "EmitStatement",
"src": "6796:32:3"
}
]
}
}
]
},
"documentation": "@dev Pay the arbitration fee to raise a dispute. To be called by the claimant. UNTRUSTED.\n Note that this function mirror payArbitrationFeeByOwner.",
"id": 971,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [
{
"arguments": null,
"id": 917,
"modifierName": {
"argumentTypes": null,
"id": 916,
"name": "onlyClaimant",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 686,
"src": "6136:12:3",
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
"src": "6136:12:3"
}
],
"name": "payArbitrationFeeByClaimant",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 915,
"nodeType": "ParameterList",
"parameters": [],
"src": "6118:2:3"
},
"payable": true,
"returnParameters": {
"id": 918,
"nodeType": "ParameterList",
"parameters": [],
"src": "6149:0:3"
},
"scope": 1111,
"src": "6082:881:3",
"stateMutability": "payable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 998,
"nodeType": "Block",
"src": "7135:204:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 979,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 976,
"name": "status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 632,
"src": "7145:6:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 977,
"name": "Status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 630,
"src": "7154:6:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_enum$_Status_$630_$",
"typeString": "type(enum ArbitrableDeposit.Status)"
}
},
"id": 978,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "DisputeCreated",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "7154:21:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"src": "7145:30:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"id": 980,
"nodeType": "ExpressionStatement",
"src": "7145:30:3"
},
{
"expression": {
"argumentTypes": null,
"id": 990,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 981,
"name": "disputeID",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 614,
"src": "7185:9:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 987,
"name": "AMOUNT_OF_CHOICES",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 635,
"src": "7246:17:3",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
{
"argumentTypes": null,
"id": 988,
"name": "arbitratorExtraData",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 501,
"src": "7264:19:3",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage",
"typeString": "bytes storage ref"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
{
"typeIdentifier": "t_bytes_storage",
"typeString": "bytes storage ref"
}
],
"arguments": [
{
"argumentTypes": null,
"id": 985,
"name": "_arbitrationCost",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 973,
"src": "7228:16:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 982,
"name": "arbitrator",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 499,
"src": "7197:10:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Arbitrator_$4021",
"typeString": "contract Arbitrator"
}
},
"id": 983,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "createDispute",
"nodeType": "MemberAccess",
"referencedDeclaration": 3960,
"src": "7197:24:3",
"typeDescriptions": {
"typeIdentifier": "t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$",
"typeString": "function (uint256,bytes memory) payable external returns (uint256)"
}
},
"id": 984,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "value",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "7197:30:3",
"typeDescriptions": {
"typeIdentifier": "t_function_setvalue_nonpayable$_t_uint256_$returns$_t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$value_$",
"typeString": "function (uint256) returns (function (uint256,bytes memory) payable external returns (uint256))"
}
},
"id": 986,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "7197:48:3",
"typeDescriptions": {
"typeIdentifier": "t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$value",
"typeString": "function (uint256,bytes memory) payable external returns (uint256)"
}
},
"id": 989,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "7197:87:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "7185:99:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 991,
"nodeType": "ExpressionStatement",
"src": "7185:99:3"
},
{
"eventCall": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 993,
"name": "arbitrator",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 499,
"src": "7307:10:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Arbitrator_$4021",
"typeString": "contract Arbitrator"
}
},
{
"argumentTypes": null,
"id": 994,
"name": "disputeID",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 614,
"src": "7319:9:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"argumentTypes": null,
"hexValue": "30",
"id": 995,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "7330:1:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_Arbitrator_$4021",
"typeString": "contract Arbitrator"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
{
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
}
],
"id": 992,
"name": "Dispute",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 529,
"src": "7299:7:3",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_contract$_Arbitrator_$4021_$_t_uint256_$_t_uint256_$returns$__$",
"typeString": "function (contract Arbitrator,uint256,uint256)"
}
},
"id": 996,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "7299:33:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 997,
"nodeType": "EmitStatement",
"src": "7294:38:3"
}
]
},
"documentation": "@dev Create a dispute. UNTRUSTED.\n @param _arbitrationCost Amount to pay the arbitrator.",
"id": 999,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "raiseDispute",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 974,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 973,
"name": "_arbitrationCost",
"nodeType": "VariableDeclaration",
"scope": 999,
"src": "7103:21:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 972,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "7103:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "7102:23:3"
},
"payable": false,
"returnParameters": {
"id": 975,
"nodeType": "ParameterList",
"parameters": [],
"src": "7135:0:3"
},
"scope": 1111,
"src": "7081:258:3",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "internal"
},
{
"body": {
"id": 1026,
"nodeType": "Block",
"src": "7459:235:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
},
"id": 1008,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 1005,
"name": "status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 632,
"src": "7477:6:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 1006,
"name": "Status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 630,
"src": "7487:6:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_enum$_Status_$630_$",
"typeString": "type(enum ArbitrableDeposit.Status)"
}
},
"id": 1007,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "WaitingClaimant",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "7487:22:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"src": "7477:32:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "54686520636f6e7472616374206973206e6f742077616974696e6720666f722074686520636c61696d616e742e",
"id": 1009,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "7511:47:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_aa0c0b28187bbc4f1c5ba5bb65c72e243da4b01ba59808d051976f43445793ec",
"typeString": "literal_string \"The contract is not waiting for the claimant.\""
},
"value": "The contract is not waiting for the claimant."
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_aa0c0b28187bbc4f1c5ba5bb65c72e243da4b01ba59808d051976f43445793ec",
"typeString": "literal_string \"The contract is not waiting for the claimant.\""
}
],
"id": 1004,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
20642,
20643
],
"referencedDeclaration": 20643,
"src": "7469:7:3",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 1010,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "7469:90:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 1011,
"nodeType": "ExpressionStatement",
"src": "7469:90:3"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 1017,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 1013,
"name": "now",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20641,
"src": "7577:3:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": ">=",
"rightExpression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 1016,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 1014,
"name": "lastInteraction",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 612,
"src": "7584:15:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"argumentTypes": null,
"id": 1015,
"name": "timeout",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 606,
"src": "7602:7:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "7584:25:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "7577:32:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "4e6f7420656e6f7567682074696d6520686173207061737365642e",
"id": 1018,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "7611:29:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_6d13d09cee50087e5f45903da820ea9812be078246f60214c341c2cfc013bf37",
"typeString": "literal_string \"Not enough time has passed.\""
},
"value": "Not enough time has passed."
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_6d13d09cee50087e5f45903da820ea9812be078246f60214c341c2cfc013bf37",
"typeString": "literal_string \"Not enough time has passed.\""
}
],
"id": 1012,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
20642,
20643
],
"referencedDeclaration": 20643,
"src": "7569:7:3",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 1019,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "7569:72:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 1020,
"nodeType": "ExpressionStatement",
"src": "7569:72:3"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 1022,
"name": "disputeID",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 614,
"src": "7666:9:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"argumentTypes": null,
"id": 1023,
"name": "OWNER_WINS",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 638,
"src": "7676:10:3",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
],
"id": 1021,
"name": "executeRuling",
"nodeType": "Identifier",
"overloadedDeclarations": [
1110
],
"referencedDeclaration": 1110,
"src": "7652:13:3",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$",
"typeString": "function (uint256,uint256)"
}
},
"id": 1024,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "7652:35:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 1025,
"nodeType": "ExpressionStatement",
"src": "7652:35:3"
}
]
},
"documentation": "@dev Reimburse owner if claimant fails to pay the fee.",
"id": 1027,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [
{
"arguments": null,
"id": 1002,
"modifierName": {
"argumentTypes": null,
"id": 1001,
"name": "onlyOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 658,
"src": "7449:9:3",
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
"src": "7449:9:3"
}
],
"name": "timeOutByOwner",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1000,
"nodeType": "ParameterList",
"parameters": [],
"src": "7439:2:3"
},
"payable": false,
"returnParameters": {
"id": 1003,
"nodeType": "ParameterList",
"parameters": [],
"src": "7459:0:3"
},
"scope": 1111,
"src": "7416:278:3",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 1054,
"nodeType": "Block",
"src": "7814:233:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
},
"id": 1036,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 1033,
"name": "status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 632,
"src": "7832:6:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 1034,
"name": "Status",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 630,
"src": "7842:6:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_enum$_Status_$630_$",
"typeString": "type(enum ArbitrableDeposit.Status)"
}
},
"id": 1035,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "WaitingOwner",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "7842:19:3",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Status_$630",
"typeString": "enum ArbitrableDeposit.Status"
}
},
"src": "7832:29:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "54686520636f6e7472616374206973206e6f742077616974696e6720666f7220746865206f776e65722e",
"id": 1037,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "7863:44:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_592fca79757d20861bffaa87906ec11fa717736b6fbf2b1500b5ce94df48c3aa",
"typeString": "literal_string \"The contract is not waiting for the owner.\""
},
"value": "The contract is not waiting for the owner."
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_592fca79757d20861bffaa87906ec11fa717736b6fbf2b1500b5ce94df48c3aa",
"typeString": "literal_string \"The contract is not waiting for the owner.\""
}
],
"id": 1032,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
20642,
20643
],
"referencedDeclaration": 20643,
"src": "7824:7:3",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 1038,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "7824:84:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 1039,
"nodeType": "ExpressionStatement",
"src": "7824:84:3"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 1045,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 1041,
"name": "now",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20641,
"src": "7926:3:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": ">=",
"rightExpression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 1044,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 1042,
"name": "lastInteraction",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 612,
"src": "7933:15:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"argumentTypes": null,
"id": 1043,
"name": "timeout",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 606,
"src": "7951:7:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "7933:25:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "7926:32:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "4e6f7420656e6f7567682074696d6520686173207061737365642e",
"id": 1046,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "7960:29:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_6d13d09cee50087e5f45903da820ea9812be078246f60214c341c2cfc013bf37",
"typeString": "literal_string \"Not enough time has passed.\""
},
"value": "Not enough time has passed."
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_6d13d09cee50087e5f45903da820ea9812be078246f60214c341c2cfc013bf37",
"typeString": "literal_string \"Not enough time has passed.\""
}
],
"id": 1040,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
20642,
20643
],
"referencedDeclaration": 20643,
"src": "7918:7:3",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 1047,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "7918:72:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 1048,
"nodeType": "ExpressionStatement",
"src": "7918:72:3"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 1050,
"name": "disputeID",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 614,
"src": "8015:9:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"argumentTypes": null,
"id": 1051,
"name": "CLAIMANT_WINS",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 641,
"src": "8026:13:3",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
],
"id": 1049,
"name": "executeRuling",
"nodeType": "Identifier",
"overloadedDeclarations": [
1110
],
"referencedDeclaration": 1110,
"src": "8001:13:3",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$",
"typeString": "function (uint256,uint256)"
}
},
"id": 1052,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "8001:39:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 1053,
"nodeType": "ExpressionStatement",
"src": "8001:39:3"
}
]
},
"documentation": "@dev Pay claimant if owner fails to pay the fee.",
"id": 1055,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [
{
"arguments": null,
"id": 1030,
"modifierName": {
"argumentTypes": null,
"id": 1029,
"name": "onlyClaimant",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 686,
"src": "7801:12:3",
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
"src": "7801:12:3"
}
],
"name": "timeOutByClaimant",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1028,
"nodeType": "ParameterList",
"parameters": [],
"src": "7791:2:3"
},
"payable": false,
"returnParameters": {
"id": 1031,
"nodeType": "ParameterList",
"parameters": [],
"src": "7814:0:3"
},
"scope": 1111,
"src": "7765:282:3",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 1109,
"nodeType": "Block",
"src": "8453:380:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 1065,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 1063,
"name": "_disputeID",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1057,
"src": "8471:10:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"id": 1064,
"name": "disputeID",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 614,
"src": "8485:9:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "8471:23:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "57726f6e6720646973707574652049442e",
"id": 1066,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8496:19:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_592f5101973b6cc3d369ba410fae1f41cd87e7dce28c818774c5095e76af8c1e",
"typeString": "literal_string \"Wrong dispute ID.\""
},
"value": "Wrong dispute ID."
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_592f5101973b6cc3d369ba410fae1f41cd87e7dce28c818774c5095e76af8c1e",
"typeString": "literal_string \"Wrong dispute ID.\""
}
],
"id": 1062,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
20642,
20643
],
"referencedDeclaration": 20643,
"src": "8463:7:3",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 1067,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "8463:53:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 1068,
"nodeType": "ExpressionStatement",
"src": "8463:53:3"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 1072,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 1070,
"name": "_ruling",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1059,
"src": "8534:7:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<=",
"rightExpression": {
"argumentTypes": null,
"id": 1071,
"name": "AMOUNT_OF_CHOICES",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 635,
"src": "8545:17:3",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"src": "8534:28:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "496e76616c69642072756c696e672e",
"id": 1073,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8564:17:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_30a1efd31034a387a6ecd17203195002f6ea4f4b6af4307c4b0d6824823a3ea6",
"typeString": "literal_string \"Invalid ruling.\""
},
"value": "Invalid ruling."
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_30a1efd31034a387a6ecd17203195002f6ea4f4b6af4307c4b0d6824823a3ea6",
"typeString": "literal_string \"Invalid ruling.\""
}
],
"id": 1069,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
20642,
20643
],
"referencedDeclaration": 20643,
"src": "8526:7:3",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 1074,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "8526:56:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 1075,
"nodeType": "ExpressionStatement",
"src": "8526:56:3"
},
{
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 1078,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 1076,
"name": "_ruling",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1059,
"src": "8597:7:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"id": 1077,
"name": "OWNER_WINS",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 638,
"src": "8608:10:3",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"src": "8597:21:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": {
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 1096,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 1094,
"name": "_ruling",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1059,
"src": "8743:7:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"id": 1095,
"name": "CLAIMANT_WINS",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 641,
"src": "8754:13:3",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"src": "8743:24:3",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": null,
"id": 1103,
"nodeType": "IfStatement",
"src": "8739:67:3",
"trueBody": {
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 1100,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 616,
"src": "8799:6:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"id": 1097,
"name": "claimant",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 604,
"src": "8781:8:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 1099,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "transfer",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "8781:17:3",
"typeDescriptions": {
"typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
"typeString": "function (uint256)"
}
},
"id": 1101,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "8781:25:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 1102,
"nodeType": "ExpressionStatement",
"src": "8781:25:3"
}
},
"id": 1104,
"nodeType": "IfStatement",
"src": "8593:213:3",
"trueBody": {
"id": 1093,
"nodeType": "Block",
"src": "8620:113:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 1084,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 1082,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 616,
"src": "8649:6:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"argumentTypes": null,
"id": 1083,
"name": "claimAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 618,
"src": "8658:11:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "8649:20:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"id": 1079,
"name": "owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 602,
"src": "8634:5:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 1081,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "transfer",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "8634:14:3",
"typeDescriptions": {
"typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
"typeString": "function (uint256)"
}
},
"id": 1085,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "8634:36:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 1086,
"nodeType": "ExpressionStatement",
"src": "8634:36:3"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 1090,
"name": "claimResponseAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 622,
"src": "8702:19:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"id": 1087,
"name": "claimant",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 604,
"src": "8684:8:3",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 1089,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "transfer",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "8684:17:3",
"typeDescriptions": {
"typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
"typeString": "function (uint256)"
}
},
"id": 1091,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "8684:38:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 1092,
"nodeType": "ExpressionStatement",
"src": "8684:38:3"
}
]
}
},
{
"expression": {
"argumentTypes": null,
"id": 1107,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 1105,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 616,
"src": "8816:6:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "30",
"id": 1106,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8825:1:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "8816:10:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 1108,
"nodeType": "ExpressionStatement",
"src": "8816:10:3"
}
]
},
"documentation": "@dev Execute a ruling of a dispute. Pays parties respective amounts based on ruling.\n This needs to be extended by contract inheriting from it.\n @param _disputeID ID of the dispute in the Arbitrator contract.\n @param _ruling Ruling given by the arbitrator. 1 : Allow owner deposit. 2 : Pay claimant.",
"id": 1110,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "executeRuling",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1060,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1057,
"name": "_disputeID",
"nodeType": "VariableDeclaration",
"scope": 1110,
"src": "8413:15:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 1056,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "8413:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 1059,
"name": "_ruling",
"nodeType": "VariableDeclaration",
"scope": 1110,
"src": "8430:12:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 1058,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "8430:4:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "8412:31:3"
},
"payable": false,
"returnParameters": {
"id": 1061,
"nodeType": "ParameterList",
"parameters": [],
"src": "8453:0:3"
},
"scope": 1111,
"src": "8390:443:3",
"stateMutability": "nonpayable",
"superFunction": 594,
"visibility": "internal"
}
],
"scope": 1112,
"src": "652:8183:3"
}
],
"src": "170:8666:3"
},
"compiler": {
"name": "solc",
"version": "0.4.24+commit.e67f0147.Emscripten.clang"
},
"networks": {},
"schemaVersion": "2.0.1",
"updatedAt": "2018-11-02T14:04:10.951Z"
}