UNPKG

kleros-interaction-2

Version:
756 lines (755 loc) 345 kB
{ "contractName": "ClockAuction", "abi": [ { "constant": false, "inputs": [], "name": "unpause", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "paused", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "renounceOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "ownerCut", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "pause", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "owner", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "nonFungibleContract", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "name": "_nftAddress", "type": "address" }, { "name": "_cut", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { "payable": false, "stateMutability": "nonpayable", "type": "fallback" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "tokenId", "type": "uint256" }, { "indexed": false, "name": "startingPrice", "type": "uint256" }, { "indexed": false, "name": "endingPrice", "type": "uint256" }, { "indexed": false, "name": "duration", "type": "uint256" } ], "name": "AuctionCreated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "tokenId", "type": "uint256" }, { "indexed": false, "name": "totalPrice", "type": "uint256" }, { "indexed": false, "name": "winner", "type": "address" } ], "name": "AuctionSuccessful", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "tokenId", "type": "uint256" } ], "name": "AuctionCancelled", "type": "event" }, { "anonymous": false, "inputs": [], "name": "Pause", "type": "event" }, { "anonymous": false, "inputs": [], "name": "Unpause", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "previousOwner", "type": "address" } ], "name": "OwnershipRenounced", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "previousOwner", "type": "address" }, { "indexed": true, "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "constant": false, "inputs": [], "name": "withdrawBalance", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_tokenId", "type": "uint256" }, { "name": "_startingPrice", "type": "uint256" }, { "name": "_endingPrice", "type": "uint256" }, { "name": "_duration", "type": "uint256" }, { "name": "_seller", "type": "address" } ], "name": "createAuction", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_tokenId", "type": "uint256" } ], "name": "bid", "outputs": [], "payable": true, "stateMutability": "payable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_tokenId", "type": "uint256" } ], "name": "cancelAuction", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_tokenId", "type": "uint256" } ], "name": "cancelAuctionWhenPaused", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "_tokenId", "type": "uint256" } ], "name": "getAuction", "outputs": [ { "name": "seller", "type": "address" }, { "name": "startingPrice", "type": "uint256" }, { "name": "endingPrice", "type": "uint256" }, { "name": "duration", "type": "uint256" }, { "name": "startedAt", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_tokenId", "type": "uint256" } ], "name": "getCurrentPrice", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" } ], "bytecode": "0x60806040526000805460a060020a60ff021916905534801561002057600080fd5b50604051604080610f1183398101604052805160209091015160008054600160a060020a0319163317815561271082111561005a57600080fd5b8160028190555082905080600160a060020a0316631051db346040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156100bb57600080fd5b505af11580156100cf573d6000803e3d6000fd5b505050506040513d60208110156100e557600080fd5b505115156100f257600080fd5b60018054600160a060020a03909216600160a060020a03199092169190911790555050610ded806101246000396000f3006080604052600436106100da5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166327ebe40a81146100e95780633f4ba83a14610118578063454a2ab31461012d5780635c975abb146101385780635fd8c71014610161578063715018a61461017657806378bd79351461018b57806383b5ff8b146101d85780638456cb59146101ff578063878eb368146102145780638da5cb5b1461022c57806396b5a7551461025d578063c55d0f5614610275578063dd1b7a0f1461028d578063f2fde38b146102a2575b3480156100e657600080fd5b50005b3480156100f557600080fd5b50610116600435602435604435606435600160a060020a03608435166102c3565b005b34801561012457600080fd5b506101166103d1565b610116600435610447565b34801561014457600080fd5b5061014d610476565b604080519115158252519081900360200190f35b34801561016d57600080fd5b50610116610486565b34801561018257600080fd5b506101166104f3565b34801561019757600080fd5b506101a360043561055f565b60408051600160a060020a03909616865260208601949094528484019290925260608401526080830152519081900360a00190f35b3480156101e457600080fd5b506101ed6105f5565b60408051918252519081900360200190f35b34801561020b57600080fd5b506101166105fb565b34801561022057600080fd5b50610116600435610676565b34801561023857600080fd5b506102416106df565b60408051600160a060020a039092168252519081900360200190f35b34801561026957600080fd5b506101166004356106ee565b34801561028157600080fd5b506101ed600435610738565b34801561029957600080fd5b5061024161076a565b3480156102ae57600080fd5b50610116600160a060020a0360043516610779565b6102cb610d93565b60005460a060020a900460ff16156102e257600080fd5b846fffffffffffffffffffffffffffffffff81106102ff57600080fd5b846fffffffffffffffffffffffffffffffff811061031c57600080fd5b8467ffffffffffffffff81111561033257600080fd5b61033c338a610799565b151561034757600080fd5b610351338a610842565b60a06040519081016040528086600160a060020a03168152602001896fffffffffffffffffffffffffffffffff168152602001886fffffffffffffffffffffffffffffffff1681526020018767ffffffffffffffff1681526020014267ffffffffffffffff1681525093506103c689856108d2565b505050505050505050565b600054600160a060020a031633146103e857600080fd5b60005460a060020a900460ff16151561040057600080fd5b6000805474ff0000000000000000000000000000000000000000191681556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b339190a1565b60005460a060020a900460ff161561045e57600080fd5b6104688134610a26565b506104733382610b17565b50565b60005460a060020a900460ff1681565b600154600054600160a060020a0391821691163314806104ae575033600160a060020a038216145b15156104b957600080fd5b604051600160a060020a03821690303180156108fc02916000818181858888f193505050501580156104ef573d6000803e3d6000fd5b5050565b600054600160a060020a0316331461050a57600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b6000818152600360205260408120819081908190819061057e81610b85565b151561058957600080fd5b80546001820154600290920154600160a060020a03909116986fffffffffffffffffffffffffffffffff8084169950700100000000000000000000000000000000909304909216965067ffffffffffffffff808216965068010000000000000000909104169350915050565b60025481565b600054600160a060020a0316331461061257600080fd5b60005460a060020a900460ff161561062957600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1781556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff6259190a1565b6000805460a060020a900460ff16151561068f57600080fd5b600054600160a060020a031633146106a657600080fd5b5060008181526003602052604090206106be81610b85565b15156106c957600080fd5b80546104ef908390600160a060020a0316610ba6565b600054600160a060020a031681565b60008181526003602052604081209061070682610b85565b151561071157600080fd5b508054600160a060020a031633811461072957600080fd5b6107338382610ba6565b505050565b600081815260036020526040812061074f81610b85565b151561075a57600080fd5b61076381610bf0565b9392505050565b600154600160a060020a031681565b600054600160a060020a0316331461079057600080fd5b61047381610c80565b600154604080517f6352211e000000000000000000000000000000000000000000000000000000008152600481018490529051600092600160a060020a0380871693911691636352211e9160248082019260209290919082900301818887803b15801561080557600080fd5b505af1158015610819573d6000803e3d6000fd5b505050506040513d602081101561082f57600080fd5b5051600160a060020a0316149392505050565b600154604080517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a03858116600483015230602483015260448201859052915191909216916323b872dd91606480830192600092919082900301818387803b1580156108b657600080fd5b505af11580156108ca573d6000803e3d6000fd5b505050505050565b603c816060015167ffffffffffffffff16101515156108f057600080fd5b60008281526003602090815260409182902083518154600160a060020a0390911673ffffffffffffffffffffffffffffffffffffffff1990911617815581840151600182018054858701516fffffffffffffffffffffffffffffffff90811670010000000000000000000000000000000081029482166fffffffffffffffffffffffffffffffff19909316831790911693909317909155606080870151600290940180546080808a015167ffffffffffffffff90811668010000000000000000026fffffffffffffffff0000000000000000199190981667ffffffffffffffff1990931683171696909617909155865189815295860192909252848601929092529083015291517fa9c8dfcda5664a5a124c713e386da27de87432d5b668e79458501eb296389ba7929181900390910190a15050565b600082815260036020526040812081808080610a4185610b85565b1515610a4c57600080fd5b610a5585610bf0565b935083871015610a6457600080fd5b8454600160a060020a03169250610a7a88610cfd565b6000841115610acc57610a8c84610d4a565b6040519092508285039150600160a060020a0384169082156108fc029083906000818181858888f19350505050158015610aca573d6000803e3d6000fd5b505b6040805189815260208101869052338183015290517f4fcc30d90a842164dd58501ab874a101a3749c3d4747139cefe7c876f4ccebd29181900360600190a150919695505050505050565b600154604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a038581166004830152602482018590529151919092169163a9059cbb91604480830192600092919082900301818387803b1580156108b657600080fd5b6002015460006801000000000000000090910467ffffffffffffffff161190565b610baf82610cfd565b610bb98183610b17565b6040805183815290517f2809c7e17bf978fbc7194c0a694b638c4215e9140cacc6c38ca36010b45697df9181900360200190a15050565b6002810154600090819068010000000000000000900467ffffffffffffffff16421115610c365750600282015468010000000000000000900467ffffffffffffffff1642035b60018301546002840154610763916fffffffffffffffffffffffffffffffff80821692700100000000000000000000000000000000909204169067ffffffffffffffff1684610d56565b600160a060020a0381161515610c9557600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000908152600360205260408120805473ffffffffffffffffffffffffffffffffffffffff19168155600181019190915560020180546fffffffffffffffffffffffffffffffff19169055565b60025461271091020490565b6000808080858510610d6a57869350610d88565b878703925085858402811515610d7c57fe5b05915081880190508093505b505050949350505050565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152905600a165627a7a7230582073e780ebd7d86213917f7b12044ca45c6eb6be4fb38206aab0e9276bd8bac7200029", "deployedBytecode": "0x6080604052600436106100da5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166327ebe40a81146100e95780633f4ba83a14610118578063454a2ab31461012d5780635c975abb146101385780635fd8c71014610161578063715018a61461017657806378bd79351461018b57806383b5ff8b146101d85780638456cb59146101ff578063878eb368146102145780638da5cb5b1461022c57806396b5a7551461025d578063c55d0f5614610275578063dd1b7a0f1461028d578063f2fde38b146102a2575b3480156100e657600080fd5b50005b3480156100f557600080fd5b50610116600435602435604435606435600160a060020a03608435166102c3565b005b34801561012457600080fd5b506101166103d1565b610116600435610447565b34801561014457600080fd5b5061014d610476565b604080519115158252519081900360200190f35b34801561016d57600080fd5b50610116610486565b34801561018257600080fd5b506101166104f3565b34801561019757600080fd5b506101a360043561055f565b60408051600160a060020a03909616865260208601949094528484019290925260608401526080830152519081900360a00190f35b3480156101e457600080fd5b506101ed6105f5565b60408051918252519081900360200190f35b34801561020b57600080fd5b506101166105fb565b34801561022057600080fd5b50610116600435610676565b34801561023857600080fd5b506102416106df565b60408051600160a060020a039092168252519081900360200190f35b34801561026957600080fd5b506101166004356106ee565b34801561028157600080fd5b506101ed600435610738565b34801561029957600080fd5b5061024161076a565b3480156102ae57600080fd5b50610116600160a060020a0360043516610779565b6102cb610d93565b60005460a060020a900460ff16156102e257600080fd5b846fffffffffffffffffffffffffffffffff81106102ff57600080fd5b846fffffffffffffffffffffffffffffffff811061031c57600080fd5b8467ffffffffffffffff81111561033257600080fd5b61033c338a610799565b151561034757600080fd5b610351338a610842565b60a06040519081016040528086600160a060020a03168152602001896fffffffffffffffffffffffffffffffff168152602001886fffffffffffffffffffffffffffffffff1681526020018767ffffffffffffffff1681526020014267ffffffffffffffff1681525093506103c689856108d2565b505050505050505050565b600054600160a060020a031633146103e857600080fd5b60005460a060020a900460ff16151561040057600080fd5b6000805474ff0000000000000000000000000000000000000000191681556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b339190a1565b60005460a060020a900460ff161561045e57600080fd5b6104688134610a26565b506104733382610b17565b50565b60005460a060020a900460ff1681565b600154600054600160a060020a0391821691163314806104ae575033600160a060020a038216145b15156104b957600080fd5b604051600160a060020a03821690303180156108fc02916000818181858888f193505050501580156104ef573d6000803e3d6000fd5b5050565b600054600160a060020a0316331461050a57600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b6000818152600360205260408120819081908190819061057e81610b85565b151561058957600080fd5b80546001820154600290920154600160a060020a03909116986fffffffffffffffffffffffffffffffff8084169950700100000000000000000000000000000000909304909216965067ffffffffffffffff808216965068010000000000000000909104169350915050565b60025481565b600054600160a060020a0316331461061257600080fd5b60005460a060020a900460ff161561062957600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1781556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff6259190a1565b6000805460a060020a900460ff16151561068f57600080fd5b600054600160a060020a031633146106a657600080fd5b5060008181526003602052604090206106be81610b85565b15156106c957600080fd5b80546104ef908390600160a060020a0316610ba6565b600054600160a060020a031681565b60008181526003602052604081209061070682610b85565b151561071157600080fd5b508054600160a060020a031633811461072957600080fd5b6107338382610ba6565b505050565b600081815260036020526040812061074f81610b85565b151561075a57600080fd5b61076381610bf0565b9392505050565b600154600160a060020a031681565b600054600160a060020a0316331461079057600080fd5b61047381610c80565b600154604080517f6352211e000000000000000000000000000000000000000000000000000000008152600481018490529051600092600160a060020a0380871693911691636352211e9160248082019260209290919082900301818887803b15801561080557600080fd5b505af1158015610819573d6000803e3d6000fd5b505050506040513d602081101561082f57600080fd5b5051600160a060020a0316149392505050565b600154604080517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a03858116600483015230602483015260448201859052915191909216916323b872dd91606480830192600092919082900301818387803b1580156108b657600080fd5b505af11580156108ca573d6000803e3d6000fd5b505050505050565b603c816060015167ffffffffffffffff16101515156108f057600080fd5b60008281526003602090815260409182902083518154600160a060020a0390911673ffffffffffffffffffffffffffffffffffffffff1990911617815581840151600182018054858701516fffffffffffffffffffffffffffffffff90811670010000000000000000000000000000000081029482166fffffffffffffffffffffffffffffffff19909316831790911693909317909155606080870151600290940180546080808a015167ffffffffffffffff90811668010000000000000000026fffffffffffffffff0000000000000000199190981667ffffffffffffffff1990931683171696909617909155865189815295860192909252848601929092529083015291517fa9c8dfcda5664a5a124c713e386da27de87432d5b668e79458501eb296389ba7929181900390910190a15050565b600082815260036020526040812081808080610a4185610b85565b1515610a4c57600080fd5b610a5585610bf0565b935083871015610a6457600080fd5b8454600160a060020a03169250610a7a88610cfd565b6000841115610acc57610a8c84610d4a565b6040519092508285039150600160a060020a0384169082156108fc029083906000818181858888f19350505050158015610aca573d6000803e3d6000fd5b505b6040805189815260208101869052338183015290517f4fcc30d90a842164dd58501ab874a101a3749c3d4747139cefe7c876f4ccebd29181900360600190a150919695505050505050565b600154604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a038581166004830152602482018590529151919092169163a9059cbb91604480830192600092919082900301818387803b1580156108b657600080fd5b6002015460006801000000000000000090910467ffffffffffffffff161190565b610baf82610cfd565b610bb98183610b17565b6040805183815290517f2809c7e17bf978fbc7194c0a694b638c4215e9140cacc6c38ca36010b45697df9181900360200190a15050565b6002810154600090819068010000000000000000900467ffffffffffffffff16421115610c365750600282015468010000000000000000900467ffffffffffffffff1642035b60018301546002840154610763916fffffffffffffffffffffffffffffffff80821692700100000000000000000000000000000000909204169067ffffffffffffffff1684610d56565b600160a060020a0381161515610c9557600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000908152600360205260408120805473ffffffffffffffffffffffffffffffffffffffff19168155600181019190915560020180546fffffffffffffffffffffffffffffffff19169055565b60025461271091020490565b6000808080858510610d6a57869350610d88565b878703925085858402811515610d7c57fe5b05915081880190508093505b505050949350505050565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152905600a165627a7a7230582073e780ebd7d86213917f7b12044ca45c6eb6be4fb38206aab0e9276bd8bac7200029", "sourceMap": "474:4841:14:-;;;268:5:60;247:26;;-1:-1:-1;;;;;;247:26:60;;;878:289:14;5:2:-1;;;;30:1;27;20:12;5:2;878:289:14;;;;;;;;;;;;;;;;;;;1010:24;567:18:62;;-1:-1:-1;;;;;;567:18:62;575:10;567:18;;;968:5:14;960:13;;;952:22;;;;;;995:4;984:8;:15;;;;1044:11;1010:46;;1074:17;-1:-1:-1;;;;;1074:34:14;;:36;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1074:36:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1074:36:14;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1074:36:14;1066:45;;;;;;;;1121:19;:39;;-1:-1:-1;;;;;1121:39:14;;;-1:-1:-1;;;;;;1121:39:14;;;;;;;;;-1:-1:-1;;474:4841:14;;;;;;", "deployedSourceMap": "474:4841:14:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;474:4841:14;;2127:676;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2127:676:14;;;;;;;;;-1:-1:-1;;;;;2127:676:14;;;;;;;838:92:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;838:92:60;;;;2995:233:14;;;;;;247:26:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;247:26:60;;;;;;;;;;;;;;;;;;;;;;1432:246:14;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1432:246:14;;;;1001:111:62;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1001:111:62;;;;4415:523:14;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4415:523:14;;;;;;;;;-1:-1:-1;;;;;4415:523:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1114:23:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1114:23:15;;;;;;;;;;;;;;;;;;;;666:90:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;666:90:60;;;;4038:266:14;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4038:266:14;;;;;238:20:62;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:62;;;;;;;;-1:-1:-1;;;;;238:20:62;;;;;;;;;;;;;;3494:291:14;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3494:291:14;;;;;5063:249;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5063:249:14;;;;;949:33:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;949:33:15;;;;1274:103:62;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1274:103:62;-1:-1:-1;;;;;1274:103:62;;;;;2127:676:14;2565:22;;:::i;:::-;416:6:60;;-1:-1:-1;;;416:6:60;;;;415:7;407:16;;;;;;2364:14:14;1898:39:15;1889:48;;1881:57;;;;;;2411:12:14;1898:39:15;1889:48;;1881:57;;;;;;2455:9:14;1778:20:15;1768:30;;;1760:39;;;;;;2488:27:14;2494:10;2506:8;2488:5;:27::i;:::-;2480:36;;;;;;;;2526:29;2534:10;2546:8;2526:7;:29::i;:::-;2590:166;;;;;;;;;2611:7;-1:-1:-1;;;;;2590:166:14;;;;;2640:14;2590:166;;;;;;2677:12;2590:166;;;;;;2711:9;2590:166;;;;;;2742:3;2590:166;;;;;2565:191;;2766:30;2778:8;2788:7;2766:11;:30::i;:::-;1948:1:15;;429::60;2127:676:14;;;;;;:::o;838:92:60:-;719:5:62;;-1:-1:-1;;;;;719:5:62;705:10;:19;697:28;;;;;;568:6:60;;-1:-1:-1;;;568:6:60;;;;560:15;;;;;;;;900:5;891:14;;-1:-1:-1;;891:14:60;;;916:9;;;;900:5;916:9;838:92::o;2995:233:14:-;416:6:60;;-1:-1:-1;;;416:6:60;;;;415:7;407:16;;;;;;3155:25:14;3160:8;3170:9;3155:4;:25::i;:::-;;3190:31;3200:10;3212:8;3190:9;:31::i;:::-;2995:233;:::o;247:26:60:-;;;-1:-1:-1;;;247:26:60;;;;;:::o;1432:246:14:-;1507:19;;1478:18;1573:5;-1:-1:-1;;;;;1507:19:14;;;;1573:5;1559:10;:19;;:59;;-1:-1:-1;1594:10:14;-1:-1:-1;;;;;1594:24:14;;;1559:59;1538:90;;;;;;;;1638:33;;-1:-1:-1;;;;;1638:19:14;;;1658:4;:12;1638:33;;;;;;;;;1658:12;1638:19;:33;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1638:33:14;1432:246;:::o;1001:111:62:-;719:5;;-1:-1:-1;;;;;719:5:62;705:10;:19;697:28;;;;;;1077:5;;;1058:25;;-1:-1:-1;;;;;1077:5:62;;;;1058:25;;;1105:1;1089:18;;-1:-1:-1;;1089:18:62;;;1001:111::o;4415:523:14:-;4511:14;4681:26;;;:16;:26;;;;;4511:14;;;;;;;;4725:21;4681:26;4725:12;:21::i;:::-;4717:30;;;;;;;;4778:14;;;4806:21;;;4874:16;;;;;-1:-1:-1;;;;;4778:14:14;;;;4806:21;;;;;-1:-1:-1;4841:19:14;;;;;;;;-1:-1:-1;4874:16:14;;;;;-1:-1:-1;4904:17:14;;;;;;-1:-1:-1;4415:523:14;-1:-1:-1;;4415:523:14:o;1114:23:15:-;;;;:::o;666:90:60:-;719:5:62;;-1:-1:-1;;;;;719:5:62;705:10;:19;697:28;;;;;;416:6:60;;-1:-1:-1;;;416:6:60;;;;415:7;407:16;;;;;;720:6;:13;;-1:-1:-1;;720:13:60;-1:-1:-1;;;720:13:60;;;744:7;;;;720:6;744:7;666:90::o;4038:266:14:-;4155:23;568:6:60;;-1:-1:-1;;;568:6:60;;;;560:15;;;;;;;;719:5:62;;-1:-1:-1;;;;;719:5:62;705:10;:19;697:28;;;;;;-1:-1:-1;4181:26:14;;;;:16;:26;;;;;4225:21;4181:26;4225:12;:21::i;:::-;4217:30;;;;;;;;4282:14;;4257:40;;4272:8;;-1:-1:-1;;;;;4282:14:14;4257;:40::i;238:20:62:-;;;-1:-1:-1;;;;;238:20:62;;:::o;3494:291:14:-;3564:23;3590:26;;;:16;:26;;;;;;3634:21;3590:26;3634:12;:21::i;:::-;3626:30;;;;;;;;-1:-1:-1;3683:14:14;;-1:-1:-1;;;;;3683:14:14;3715:10;:20;;3707:29;;;;;;3746:32;3761:8;3771:6;3746:14;:32::i;:::-;3494:291;;;:::o;5063:249::-;5151:7;5200:26;;;:16;:26;;;;;5244:21;5200:26;5244:12;:21::i;:::-;5236:30;;;;;;;;5283:22;5297:7;5283:13;:22::i;:::-;5276:29;5063:249;-1:-1:-1;;;5063:249:14:o;949:33:15:-;;;-1:-1:-1;;;;;949:33:15;;:::o;1274:103:62:-;719:5;;-1:-1:-1;;;;;719:5:62;705:10;:19;697:28;;;;;;1343:29;1362:9;1343:18;:29::i;2147:157:15:-;2246:19;;:37;;;;;;;;;;;;;;2222:4;;-1:-1:-1;;;;;2246:50:15;;;;:19;;;:27;;:37;;;;;;;;;;;;;;;2222:4;2246:19;:37;;;5:2:-1;;;;30:1;27;20:12;5:2;2246:37:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2246:37:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2246:37:15;-1:-1:-1;;;;;2246:50:15;;;2147:157;-1:-1:-1;;;2147:157:15:o;2544:176::-;2657:19;;:56;;;;;;-1:-1:-1;;;;;2657:56:15;;;;;;;2698:4;2657:56;;;;;;;;;;;;:19;;;;;:32;;:56;;;;;:19;;:56;;;;;;;:19;;:56;;;5:2:-1;;;;30:1;27;20:12;5:2;2657:56:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2657:56:15;;;;2544:176;;:::o;3343:502::-;3573:9;3552:8;:17;;;:30;;;;3544:39;;;;;;;;3594:26;;;;:16;:26;;;;;;;;;:37;;;;-1:-1:-1;;;;;3594:37:15;;;-1:-1:-1;;3594:37:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3594:37:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3594:37:15;;;;-1:-1:-1;;3594:37:15;;;;;;;;;;;;;3655:183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3343:502;;:::o;4196:2095::-;4282:7;4380:26;;;:16;:26;;;;;4282:7;;;;4687:21;4380:26;4687:12;:21::i;:::-;4679:30;;;;;;;;4819:22;4833:7;4819:13;:22::i;:::-;4803:38;-1:-1:-1;4859:19:15;;;;4851:28;;;;;;5000:14;;-1:-1:-1;;;;;5000:14:15;;-1:-1:-1;5159:24:15;5174:8;5159:14;:24::i;:::-;5265:1;5257:5;:9;5253:920;;;5488:18;5500:5;5488:11;:18::i;:::-;6131:31;;5464:42;;-1:-1:-1;5545:21:15;;;;-1:-1:-1;;;;;;6131:15:15;;;:31;;;;;5545:21;;6131:31;;;;5545:21;6131:15;:31;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6131:31:15;5253:920;6215:46;;;;;;;;;;;;6250:10;6215:46;;;;;;;;;;;;;;;-1:-1:-1;6279:5:15;;4196:2095;-1:-1:-1;;;;;;4196:2095:15:o;2952:174::-;3070:19;;:49;;;;;;-1:-1:-1;;;;;3070:49:15;;;;;;;;;;;;;;;:19;;;;;:28;;:49;;;;;:19;;:49;;;;;;;:19;;:49;;;5:2:-1;;;;30:1;27;20:12;6612:125:15;6707:18;;;6683:4;6707:18;;;;;;:22;;6612:125::o;3900:188::-;3978:24;3993:8;3978:14;:24::i;:::-;4012:28;4022:7;4031:8;4012:9;:28::i;:::-;4055:26;;;;;;;;;;;;;;;;;3900:188;;:::o;7032:633::-;7398:18;;;;7128:7;;;;7398:18;;;;;7392:3;:24;7388:95;;;-1:-1:-1;7454:18:15;;;;;;;;;7448:3;:24;7388:95;7534:22;;;;7604:17;;;;7500:158;;7534:22;;;;;7570:20;;;;;;7604:17;;7635:13;7500:20;:158::i;1512:171:62:-;-1:-1:-1;;;;;1582:23:62;;;;1574:32;;;;;;1638:5;;;1617:38;;-1:-1:-1;;;;;1617:38:62;;;;1638:5;;;1617:38;;;1661:5;:17;;-1:-1:-1;;1661:17:62;-1:-1:-1;;;;;1661:17:62;;;;;;;;;;1512:171::o;6409:101:15:-;6477:26;;;;:16;:26;;;;;6470:33;;-1:-1:-1;;6470:33:15;;;;;;;;;;;;;;-1:-1:-1;;6470:33:15;;;6409:101::o;9656:482::-;10115:8;;10126:5;10106:17;;:25;;9656:482::o;7913:1649::-;8117:7;;;;8466:27;;;8462:1094;;8642:12;8635:19;;;;8462:1094;8866:14;8843:12;8836:45;8810:71;;9216:9;9191:14;9165:16;:41;:61;;;;;;;;9137:89;;9472:18;9454:14;9447:43;9425:65;;9532:12;9517:28;;8462:1094;7913:1649;;;;;;;;;:::o;474:4841:14:-;;;;;;;;;-1:-1:-1;474:4841:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", "source": "/* solium-disable */\n/**\n * @title Clock auction for non-fungible tokens.\n * @author dapperlabs (https://github.com/dapperlabs)\n * This code was taken from https://github.com/dapperlabs at\n * https://github.com/dapperlabs/cryptokitties-bounty and is NOT kleros code.\n */\npragma solidity ^0.4.18;\n\nimport \"../ERC721.sol\";\nimport \"./ClockAuctionBase.sol\";\nimport \"openzeppelin-solidity/contracts/lifecycle/Pausable.sol\";\n\n/// @title Clock auction for non-fungible tokens.\ncontract ClockAuction is Pausable, ClockAuctionBase {\n\n /// @dev Constructor creates a reference to the NFT ownership contract\n /// and verifies the owner cut is in the valid range.\n /// @param _nftAddress - address of a deployed contract implementing\n /// the Nonfungible Interface.\n /// @param _cut - percent cut the owner takes on each auction, must be\n /// between 0-10,000.\n function ClockAuction(address _nftAddress, uint256 _cut) public {\n require(_cut <= 10000);\n ownerCut = _cut;\n\n ERC721 candidateContract = ERC721(_nftAddress);\n require(candidateContract.implementsERC721());\n nonFungibleContract = candidateContract;\n }\n\n /// @dev Remove all Ether from the contract, which is the owner's cuts\n /// as well as any Ether sent directly to the contract address.\n /// Always transfers to the NFT contract, but can be called either by\n /// the owner or the NFT contract.\n function withdrawBalance() external {\n address nftAddress = address(nonFungibleContract);\n\n require(\n msg.sender == owner ||\n msg.sender == nftAddress\n );\n nftAddress.transfer(this.balance);\n }\n\n /// @dev Creates and begins a new auction.\n /// @param _tokenId - ID of token to auction, sender must be owner.\n /// @param _startingPrice - Price of item (in wei) at beginning of auction.\n /// @param _endingPrice - Price of item (in wei) at end of auction.\n /// @param _duration - Length of time to move between starting\n /// price and ending price (in seconds).\n /// @param _seller - Seller, if not the message sender\n function createAuction(\n uint256 _tokenId,\n uint256 _startingPrice,\n uint256 _endingPrice,\n uint256 _duration,\n address _seller\n )\n public\n whenNotPaused\n canBeStoredWith128Bits(_startingPrice)\n canBeStoredWith128Bits(_endingPrice)\n canBeStoredWith64Bits(_duration)\n {\n require(_owns(msg.sender, _tokenId));\n _escrow(msg.sender, _tokenId);\n Auction memory auction = Auction(\n _seller,\n uint128(_startingPrice),\n uint128(_endingPrice),\n uint64(_duration),\n uint64(now)\n );\n _addAuction(_tokenId, auction);\n }\n\n /// @dev Bids on an open auction, completing the auction and transferring\n /// ownership of the NFT if enough Ether is supplied.\n /// @param _tokenId - ID of token to bid on.\n function bid(uint256 _tokenId)\n public\n payable\n whenNotPaused\n {\n // _bid will throw if the bid or funds transfer fails\n _bid(_tokenId, msg.value);\n _transfer(msg.sender, _tokenId);\n }\n\n /// @dev Cancels an auction that hasn't been won yet.\n /// Returns the NFT to original owner.\n /// @notice This is a state-modifying function that can\n /// be called while the contract is paused.\n /// @param _tokenId - ID of token on auction\n function cancelAuction(uint256 _tokenId)\n public\n {\n Auction storage auction = tokenIdToAuction[_tokenId];\n require(_isOnAuction(auction));\n address seller = auction.seller;\n require(msg.sender == seller);\n _cancelAuction(_tokenId, seller);\n }\n\n /// @dev Cancels an auction when the contract is paused.\n /// Only the owner may do this, and NFTs are returned to\n /// the seller. This should only be used in emergencies.\n /// @param _tokenId - ID of the NFT on auction to cancel.\n function cancelAuctionWhenPaused(uint256 _tokenId)\n whenPaused\n onlyOwner\n public\n {\n Auction storage auction = tokenIdToAuction[_tokenId];\n require(_isOnAuction(auction));\n _cancelAuction(_tokenId, auction.seller);\n }\n\n /// @dev Returns auction info for an NFT on auction.\n /// @param _tokenId - ID of NFT on auction.\n function getAuction(uint256 _tokenId)\n public\n view\n returns\n (\n address seller,\n uint256 startingPrice,\n uint256 endingPrice,\n uint256 duration,\n uint256 startedAt\n ) {\n Auction storage auction = tokenIdToAuction[_tokenId];\n require(_isOnAuction(auction));\n return (\n auction.seller,\n auction.startingPrice,\n auction.endingPrice,\n auction.duration,\n auction.startedAt\n );\n }\n\n /// @dev Returns the current price of an auction.\n /// @param _tokenId - ID of the token price we are checking.\n function getCurrentPrice(uint256 _tokenId)\n public\n view\n returns (uint256)\n {\n Auction storage auction = tokenIdToAuction[_tokenId];\n require(_isOnAuction(auction));\n return _currentPrice(auction);\n }\n\n}\n", "sourcePath": "/private/tmp/kleros-interaction/contracts/standard/arbitration/CriptoKitties/Auction/ClockAuction.sol", "ast": { "absolutePath": "/private/tmp/kleros-interaction/contracts/standard/arbitration/CriptoKitties/Auction/ClockAuction.sol", "exportedSymbols": { "ClockAuction": [ 5704 ] }, "id": 5705, "nodeType": "SourceUnit", "nodes": [ { "id": 5424, "literals": [ "solidity", "^", "0.4", ".18" ], "nodeType": "PragmaDirective", "src": "275:24:14" }, { "absolutePath": "/private/tmp/kleros-interaction/contracts/standard/arbitration/CriptoKitties/ERC721.sol", "file": "../ERC721.sol", "id": 5425, "nodeType": "ImportDirective", "scope": 5705, "sourceUnit": 6436, "src": "301:23:14", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/private/tmp/kleros-interaction/contracts/standard/arbitration/CriptoKitties/Auction/ClockAuctionBase.sol", "file": "./ClockAuctionBase.sol", "id": 5426, "nodeType": "ImportDirective", "scope": 5705, "sourceUnit": 6092, "src": "325:32:14", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "openzeppelin-solidity/contracts/lifecycle/Pausable.sol", "file": "openzeppelin-solidity/contracts/lifecycle/Pausable.sol", "id": 5427, "nodeType": "ImportDirective", "scope": 5705, "sourceUnit": 19753, "src": "358:64:14", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 5428, "name": "Pausable", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 19752, "src": "499:8:14", "typeDescriptions": { "typeIdentifier": "t_contract$_Pausable_$19752", "typeString": "contract Pausable" } }, "id": 5429, "nodeType": "InheritanceSpecifier", "src": "499:8:14" }, { "arguments": null, "baseName": { "contractScope": null, "id": 5430, "name": "ClockAuctionBase", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 6091, "src": "509:16:14", "typeDescriptions": { "typeIdentifier": "t_contract$_ClockAuctionBase_$6091", "typeString": "contract ClockAuctionBase" } }, "id": 5431, "nodeType": "InheritanceSpecifier", "src": "509:16:14" } ], "contractDependencies": [ 6091, 19752, 19932 ], "contractKind": "contract", "documentation": "@title Clock auction for non-fungible tokens.", "fullyImplemented": true, "id": 5704, "linearizedBaseContracts": [ 5704, 6091, 19752, 19932 ], "name": "ClockAuction", "nodeType": "ContractDefinition", "nodes": [ { "body": { "id": 5464, "nodeType": "Block", "src": "942:225:14", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 5441, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 5439, "name": "_cut", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5435, "src": "960:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "argumentTypes": null, "hexValue": "3130303030", "id": 5440, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "968:5:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10000_by_1", "typeString": "int_const 10000" }, "value": "10000" }, "src": "960:13:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 5438, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 20642, 20643 ], "referencedDeclaration": 20642, "src": "952:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 5442, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "952:22:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 5443, "nodeType": "ExpressionStatement", "src": "952:22:14" }, { "expression": { "argumentTypes": null, "id": 5446, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 5444, "name": "ownerCut", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5722, "src": "984:8:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 5445, "name": "_cut", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5435, "src": "995:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "984:15:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 5447, "nodeType": "ExpressionStatement", "src": "984:15:14" }, { "assignments": [ 5449 ], "declarations": [ { "constant": false, "id": 5449, "name": "candidateContract", "nodeType": "VariableDeclaration", "scope": 5465, "src": "1010:24:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_ERC721_$6435", "typeString": "contract ERC721" }, "typeName": { "contractScope": null, "id": 5448, "name": "ERC721", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 6435, "src": "1010:6:14", "typeDescriptions": { "typeIdentifier": "t_contract$_ERC721_$6435", "typeString": "contract ERC721" } }, "value": null, "visibility": "internal" } ], "id": 5453, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 5451, "name": "_nftAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5433, "src": "1044:11:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 5450, "name": "ERC721", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6435, "src": "1037:6:14", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ERC721_$6435_$", "typeString": "type(contract ERC721)" } }, "id": 5452, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1037:19:14", "typeDescriptions": { "typeIdentifier": "t_contract$_ERC721_$6435", "typeString": "contract ERC721" } }, "nodeType": "VariableDeclarationStatement", "src": "1010:46:14" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 5455, "name": "candidateContract", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5449, "src": "1074:17:14", "typeDescriptions": { "typeIdentifier": "t_contract$_ERC721_$6435", "typeString": "contract ERC721" } }, "id": 5456, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "implementsERC721", "nodeType": "MemberAccess", "referencedDeclaration": 6376, "src": "1074:34:14", "typeDescriptions": { "typeIdentifier": "t_function_external_pure$__$returns$_t_bool_$", "typeString": "function () pure external returns (bool)" } }, "id": 5457, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1074:36:14", "typeDescriptions": { "typeIdentifier": "t_bool",