UNPKG

kleros-interaction-2

Version:
825 lines 331 kB
{ "contractName": "KittyOwnership", "abi": [ { "constant": true, "inputs": [], "name": "cfoAddress", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "name", "outputs": [ { "name": "", "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "ceoAddress", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_newCEO", "type": "address" } ], "name": "setCEO", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_newCOO", "type": "address" } ], "name": "setCOO", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [], "name": "unpause", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "uint256" } ], "name": "sireAllowedToAddress", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "uint256" } ], "name": "kittyIndexToApproved", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_newCFO", "type": "address" } ], "name": "setCFO", "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": "withdrawBalance", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [], "name": "pause", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "symbol", "outputs": [ { "name": "", "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "uint256" } ], "name": "cooldowns", "outputs": [ { "name": "", "type": "uint32" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "uint256" } ], "name": "kittyIndexToOwner", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "cooAddress", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "from", "type": "address" }, { "indexed": true, "name": "to", "type": "address" }, { "indexed": true, "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "owner", "type": "address" }, { "indexed": true, "name": "approved", "type": "address" }, { "indexed": true, "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "owner", "type": "address" }, { "indexed": false, "name": "kittyId", "type": "uint256" }, { "indexed": false, "name": "matronId", "type": "uint256" }, { "indexed": false, "name": "sireId", "type": "uint256" }, { "indexed": false, "name": "genes", "type": "uint256" } ], "name": "Birth", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "newContract", "type": "address" } ], "name": "ContractUpgrade", "type": "event" }, { "constant": true, "inputs": [], "name": "implementsERC721", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "pure", "type": "function" }, { "constant": false, "inputs": [ { "name": "_kittyId", "type": "uint256" }, { "name": "_recipient", "type": "address" } ], "name": "rescueLostKitty", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "_owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "name": "count", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_to", "type": "address" }, { "name": "_tokenId", "type": "uint256" } ], "name": "transfer", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_to", "type": "address" }, { "name": "_tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_from", "type": "address" }, { "name": "_to", "type": "address" }, { "name": "_tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "totalSupply", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "name": "owner", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_owner", "type": "address" }, { "name": "_index", "type": "uint256" } ], "name": "tokensOfOwnerByIndex", "outputs": [ { "name": "tokenId", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" } ], "bytecode": "0x6002805460a060020a60ff0219169055610240604052603c6080908152607860a05261012c60c05261025860e05261070861010052610e1061012052611c2061014052613840610160526170806101805261e1006101a052620151806101c0526202a3006101e052620546006102005262093a80610220526200008790600390600e6200012a565b5060408051808201909152600d8082527f43727970746f4b697474696573000000000000000000000000000000000000006020909201918252620000ce91600a91620001cd565b506040805180820190915260028082527f434b00000000000000000000000000000000000000000000000000000000000060209092019182526200011591600b91620001cd565b503480156200012357600080fd5b5062000292565b600283019183908215620001bb5791602002820160005b838211156200018757835183826101000a81548163ffffffff021916908363ffffffff160217905550926020019260040160208160030104928301926001030262000141565b8015620001b95782816101000a81549063ffffffff021916905560040160208160030104928301926001030262000187565b505b50620001c99291506200024e565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200021057805160ff191683800117855562000240565b8280016001018555821562000240579182015b828111156200024057825182559160200191906001019062000223565b50620001c992915062000275565b6200027291905b80821115620001c957805463ffffffff1916815560010162000255565b90565b6200027291905b80821115620001c957600081556001016200027c565b610c3f80620002a26000396000f3006080604052600436106101485763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663030c4741811461014d5780630519ce791461017357806306fdde03146101a4578063095ea7b31461022e5780630a0f8168146102525780631051db341461026757806318160ddd1461029057806323b872dd146102b757806327d7874c146102e15780632ba73c15146103025780633f4ba83a1461032357806346116e6f146103385780634707f44f14610350578063481af3d3146103745780634e0a33791461038c5780635c975abb146103ad5780635fd8c710146103c25780636352211e146103d757806370a08231146103ef5780638456cb591461041057806395d89b41146104255780639d6fac6f1461043a578063a45f4bfc1461046b578063a9059cbb14610483578063b047fb50146104a7575b600080fd5b34801561015957600080fd5b50610171600435600160a060020a03602435166104bc565b005b34801561017f57600080fd5b5061018861050e565b60408051600160a060020a039092168252519081900360200190f35b3480156101b057600080fd5b506101b961051d565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101f35781810151838201526020016101db565b50505050905090810190601f1680156102205780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561023a57600080fd5b50610171600160a060020a03600435166024356105ab565b34801561025e57600080fd5b5061018861061d565b34801561027357600080fd5b5061027c61062c565b604080519115158252519081900360200190f35b34801561029c57600080fd5b506102a5610631565b60408051918252519081900360200190f35b3480156102c357600080fd5b50610171600160a060020a036004358116906024351660443561063b565b3480156102ed57600080fd5b50610171600160a060020a036004351661068c565b34801561030e57600080fd5b50610171600160a060020a03600435166106e7565b34801561032f57600080fd5b50610171610742565b34801561034457600080fd5b50610188600435610791565b34801561035c57600080fd5b506102a5600160a060020a03600435166024356107ac565b34801561038057600080fd5b50610188600435610809565b34801561039857600080fd5b50610171600160a060020a0360043516610824565b3480156103b957600080fd5b5061027c61087f565b3480156103ce57600080fd5b5061017161088f565b3480156103e357600080fd5b506101886004356108e3565b3480156103fb57600080fd5b506102a5600160a060020a036004351661090c565b34801561041c57600080fd5b50610171610927565b34801561043157600080fd5b506101b96109a7565b34801561044657600080fd5b50610452600435610a02565b6040805163ffffffff9092168252519081900360200190f35b34801561047757600080fd5b50610188600435610a2f565b34801561048f57600080fd5b50610171600160a060020a0360043516602435610a4a565b3480156104b357600080fd5b50610188610a96565b600254600160a060020a031633146104d357600080fd5b60025460a060020a900460ff16156104ea57600080fd5b6104f43083610aa5565b15156104ff57600080fd5b61050a308284610ac5565b5050565b600154600160a060020a031681565b600a805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105a35780601f10610578576101008083540402835291602001916105a3565b820191906000526020600020905b81548152906001019060200180831161058657829003601f168201915b505050505081565b60025460a060020a900460ff16156105c257600080fd5b6105cc3382610aa5565b15156105d757600080fd5b6105e18183610bb8565b6040518190600160a060020a0384169033907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590600090a45050565b600054600160a060020a031681565b600190565b6005546000190190565b60025460a060020a900460ff161561065257600080fd5b61065c3382610bf3565b151561066757600080fd5b6106718382610aa5565b151561067c57600080fd5b610687838383610ac5565b505050565b600054600160a060020a031633146106a357600080fd5b600160a060020a03811615156106b857600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a031633146106fe57600080fd5b600160a060020a038116151561071357600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a0316331461075957600080fd5b60025460a060020a900460ff16151561077157600080fd5b6002805474ff000000000000000000000000000000000000000019169055565b600960205260009081526040902054600160a060020a031681565b60008060015b6107ba610631565b811161014857600081815260066020526040902054600160a060020a03868116911614156107f957838214156107f257809250610801565b6001909101905b6001016107b2565b505092915050565b600860205260009081526040902054600160a060020a031681565b600054600160a060020a0316331461083b57600080fd5b600160a060020a038116151561085057600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60025460a060020a900460ff1681565b600154600160a060020a031633146108a657600080fd5b600154604051600160a060020a0390911690303180156108fc02916000818181858888f193505050501580156108e0573d6000803e3d6000fd5b50565b600081815260066020526040902054600160a060020a031680151561090757600080fd5b919050565b600160a060020a031660009081526007602052604090205490565b600254600160a060020a031633148061094a5750600054600160a060020a031633145b8061095f5750600154600160a060020a031633145b151561096a57600080fd5b60025460a060020a900460ff161561098157600080fd5b6002805474ff0000000000000000000000000000000000000000191660a060020a179055565b600b805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105a35780601f10610578576101008083540402835291602001916105a3565b600381600e8110610a0f57fe5b60089182820401919006600402915054906101000a900463ffffffff1681565b600660205260009081526040902054600160a060020a031681565b60025460a060020a900460ff1615610a6157600080fd5b600160a060020a0382161515610a7657600080fd5b610a803382610aa5565b1515610a8b57600080fd5b61050a338383610ac5565b600254600160a060020a031681565b600090815260066020526040902054600160a060020a0391821691161490565b600160a060020a0380831660008181526007602090815260408083208054600101905585835260069091529020805473ffffffffffffffffffffffffffffffffffffffff19169091179055831615610b7257600160a060020a0383166000908152600760209081526040808320805460001901905583835260098252808320805473ffffffffffffffffffffffffffffffffffffffff199081169091556008909252909120805490911690555b8082600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b600091825260086020526040909120805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b600090815260086020526040902054600160a060020a03918216911614905600a165627a7a7230582012daf510a3448f97f78e579081bb4da49c61feb47801eed88c2c96c1aeba30060029", "deployedBytecode": "0x6080604052600436106101485763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663030c4741811461014d5780630519ce791461017357806306fdde03146101a4578063095ea7b31461022e5780630a0f8168146102525780631051db341461026757806318160ddd1461029057806323b872dd146102b757806327d7874c146102e15780632ba73c15146103025780633f4ba83a1461032357806346116e6f146103385780634707f44f14610350578063481af3d3146103745780634e0a33791461038c5780635c975abb146103ad5780635fd8c710146103c25780636352211e146103d757806370a08231146103ef5780638456cb591461041057806395d89b41146104255780639d6fac6f1461043a578063a45f4bfc1461046b578063a9059cbb14610483578063b047fb50146104a7575b600080fd5b34801561015957600080fd5b50610171600435600160a060020a03602435166104bc565b005b34801561017f57600080fd5b5061018861050e565b60408051600160a060020a039092168252519081900360200190f35b3480156101b057600080fd5b506101b961051d565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101f35781810151838201526020016101db565b50505050905090810190601f1680156102205780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561023a57600080fd5b50610171600160a060020a03600435166024356105ab565b34801561025e57600080fd5b5061018861061d565b34801561027357600080fd5b5061027c61062c565b604080519115158252519081900360200190f35b34801561029c57600080fd5b506102a5610631565b60408051918252519081900360200190f35b3480156102c357600080fd5b50610171600160a060020a036004358116906024351660443561063b565b3480156102ed57600080fd5b50610171600160a060020a036004351661068c565b34801561030e57600080fd5b50610171600160a060020a03600435166106e7565b34801561032f57600080fd5b50610171610742565b34801561034457600080fd5b50610188600435610791565b34801561035c57600080fd5b506102a5600160a060020a03600435166024356107ac565b34801561038057600080fd5b50610188600435610809565b34801561039857600080fd5b50610171600160a060020a0360043516610824565b3480156103b957600080fd5b5061027c61087f565b3480156103ce57600080fd5b5061017161088f565b3480156103e357600080fd5b506101886004356108e3565b3480156103fb57600080fd5b506102a5600160a060020a036004351661090c565b34801561041c57600080fd5b50610171610927565b34801561043157600080fd5b506101b96109a7565b34801561044657600080fd5b50610452600435610a02565b6040805163ffffffff9092168252519081900360200190f35b34801561047757600080fd5b50610188600435610a2f565b34801561048f57600080fd5b50610171600160a060020a0360043516602435610a4a565b3480156104b357600080fd5b50610188610a96565b600254600160a060020a031633146104d357600080fd5b60025460a060020a900460ff16156104ea57600080fd5b6104f43083610aa5565b15156104ff57600080fd5b61050a308284610ac5565b5050565b600154600160a060020a031681565b600a805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105a35780601f10610578576101008083540402835291602001916105a3565b820191906000526020600020905b81548152906001019060200180831161058657829003601f168201915b505050505081565b60025460a060020a900460ff16156105c257600080fd5b6105cc3382610aa5565b15156105d757600080fd5b6105e18183610bb8565b6040518190600160a060020a0384169033907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590600090a45050565b600054600160a060020a031681565b600190565b6005546000190190565b60025460a060020a900460ff161561065257600080fd5b61065c3382610bf3565b151561066757600080fd5b6106718382610aa5565b151561067c57600080fd5b610687838383610ac5565b505050565b600054600160a060020a031633146106a357600080fd5b600160a060020a03811615156106b857600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a031633146106fe57600080fd5b600160a060020a038116151561071357600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a0316331461075957600080fd5b60025460a060020a900460ff16151561077157600080fd5b6002805474ff000000000000000000000000000000000000000019169055565b600960205260009081526040902054600160a060020a031681565b60008060015b6107ba610631565b811161014857600081815260066020526040902054600160a060020a03868116911614156107f957838214156107f257809250610801565b6001909101905b6001016107b2565b505092915050565b600860205260009081526040902054600160a060020a031681565b600054600160a060020a0316331461083b57600080fd5b600160a060020a038116151561085057600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60025460a060020a900460ff1681565b600154600160a060020a031633146108a657600080fd5b600154604051600160a060020a0390911690303180156108fc02916000818181858888f193505050501580156108e0573d6000803e3d6000fd5b50565b600081815260066020526040902054600160a060020a031680151561090757600080fd5b919050565b600160a060020a031660009081526007602052604090205490565b600254600160a060020a031633148061094a5750600054600160a060020a031633145b8061095f5750600154600160a060020a031633145b151561096a57600080fd5b60025460a060020a900460ff161561098157600080fd5b6002805474ff0000000000000000000000000000000000000000191660a060020a179055565b600b805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105a35780601f10610578576101008083540402835291602001916105a3565b600381600e8110610a0f57fe5b60089182820401919006600402915054906101000a900463ffffffff1681565b600660205260009081526040902054600160a060020a031681565b60025460a060020a900460ff1615610a6157600080fd5b600160a060020a0382161515610a7657600080fd5b610a803382610aa5565b1515610a8b57600080fd5b61050a338383610ac5565b600254600160a060020a031681565b600090815260066020526040902054600160a060020a0391821691161490565b600160a060020a0380831660008181526007602090815260408083208054600101905585835260069091529020805473ffffffffffffffffffffffffffffffffffffffff19169091179055831615610b7257600160a060020a0383166000908152600760209081526040808320805460001901905583835260098252808320805473ffffffffffffffffffffffffffffffffffffffff199081169091556008909252909120805490911690555b8082600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b600091825260086020526040909120805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b600090815260086020526040902054600160a060020a03918216911614905600a165627a7a7230582012daf510a3448f97f78e579081bb4da49c61feb47801eed88c2c96c1aeba30060029", "sourceMap": "2135:26:21:-;;;-1:-1:-1;;;;;;2135:26:21;;;4302:395:23;720:6959:27;4302:395:23;4349:9;720:6959:27;4302:395:23;;;4376:9;4302:395;;4403:9;4302:395;;4430:10;4302:395;;4458:10;2135:26:21;4302:395:23;4486:7;4302:395;;4511:7;4302:395;;4536:7;4302:395;;4561:7;4302:395;;4586:8;4302:395;;4612:6;4302:395;;4636:6;4302:395;;4660:6;4302:395;;4684:6;4302:395;;;;;;;;:::i;:::-;-1:-1:-1;853:36:27;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;895:27:27;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;720:6959;8:9:-1;5:2;;;30:1;27;20:12;5:2;720:6959:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;720:6959:27;;;-1:-1:-1;720:6959:27;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;720:6959:27;;;-1:-1:-1;720:6959:27;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;720:6959:27;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;", "deployedSourceMap": "720:6959:27:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3016:186;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3016:186:27;;;-1:-1:-1;;;;;3016:186:27;;;;;;;1972:25:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1972:25:21;;;;;;;;-1:-1:-1;;;;;1972:25:21;;;;;;;;;;;;;;853:36:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;853:36:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;853:36:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4787:398;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4787:398:27;-1:-1:-1;;;;;4787:398:27;;;;;;;1941:25:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1941:25:21;;;;980:87:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;980:87:27;;;;;;;;;;;;;;;;;;;;;;6200:92;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6200:92:27;;;;;;;;;;;;;;;;;;;;5652:420;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5652:420:27;-1:-1:-1;;;;;5652:420:27;;;;;;;;;;;;2924:126:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2924:126:21;-1:-1:-1;;;;;2924:126:21;;;;;3466;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3466:126:21;-1:-1:-1;;;;;3466:126:21;;;;;4466;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4466:126:21;;;;6138:56:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6138:56:23;;;;;7225:452:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7225:452:27;-1:-1:-1;;;;;7225:452:27;;;;;;;5820:56:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5820:56:23;;;;;3195:126:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3195:126:21;-1:-1:-1;;;;;3195:126:21;;;;;2135:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2135:26:21;;;;3598:94;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3598:94:21;;;;6427:190:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6427:190:27;;;;;3378:122;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3378:122:27;-1:-1:-1;;;;;3378:122:27;;;;;4202:79:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4202:79:21;;;;895:27:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;895:27:27;;;;4302:395:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4302:395:23;;;;;;;;;;;;;;;;;;;;;;;;5320:53;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5320:53:23;;;;;3925:438:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3925:438:27;-1:-1:-1;;;;;3925:438:27;;;;;;;2003:25:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2003:25:21;;;;3016:186:27;2559:10:21;;-1:-1:-1;;;;;2559:10:21;2545;:24;2537:33;;;;;;3883:6;;-1:-1:-1;;;3883:6:21;;;;3882:7;3874:16;;;;;;3126:21:27;3132:4;3138:8;3126:5;:21::i;:::-;3118:30;;;;;;;;3158:37;3168:4;3174:10;3186:8;3158:9;:37::i;:::-;3016:186;;:::o;1972:25:21:-;;;-1:-1:-1;;;;;1972:25:21;;:::o;853:36:27:-;;;;;;;;;;;;;;;-1:-1:-1;;853:36:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4787:398::-;3883:6:21;;-1:-1:-1;;;3883:6:21;;;;3882:7;3874:16;;;;;;4970:27:27;4976:10;4988:8;4970:5;:27::i;:::-;4962:36;;;;;;;;5077:23;5086:8;5096:3;5077:8;:23::i;:::-;5143:35;;5169:8;;-1:-1:-1;;;;;5143:35:27;;;5152:10;;5143:35;;;;;4787:398;;:::o;1941:25:21:-;;;-1:-1:-1;;;;;1941:25:21;;:::o;980:87:27:-;1056:4;980:87;:::o;6200:92::-;6267:7;:14;-1:-1:-1;;6267:18:27;6200:92;:::o;5652:420::-;3883:6:21;;-1:-1:-1;;;3883:6:21;;;;3882:7;3874:16;;;;;;5859:34:27;5872:10;5884:8;5859:12;:34::i;:::-;5851:43;;;;;;;;5912:22;5918:5;5925:8;5912:5;:22::i;:::-;5904:31;;;;;;;;6034;6044:5;6051:3;6056:8;6034:9;:31::i;:::-;5652:420;;;:::o;2924:126:21:-;2275:10;;-1:-1:-1;;;;;2275:10:21;2261;:24;2253:33;;;;;;-1:-1:-1;;;;;2990:21:21;;;;2982:30;;;;;;3023:10;:20;;-1:-1:-1;;3023:20:21;-1:-1:-1;;;;;3023:20:21;;;;;;;;;;2924:126::o;3466:::-;2275:10;;-1:-1:-1;;;;;2275:10:21;2261;:24;2253:33;;;;;;-1:-1:-1;;;;;3532:21:21;;;;3524:30;;;;;;3565:10;:20;;-1:-1:-1;;3565:20:21;-1:-1:-1;;;;;3565:20:21;;;;;;;;;;3466:126::o;4466:::-;2275:10;;-1:-1:-1;;;;;2275:10:21;2261;:24;2253:33;;;;;;4024:6;;-1:-1:-1;;;4024:6:21;;;;4016:15;;;;;;;;4571:6;:14;;-1:-1:-1;;4571:14:21;;;4466:126::o;6138:56:23:-;;;;;;;;;;;;-1:-1:-1;;;;;6138:56:23;;:::o;7225:452:27:-;7334:15;;7409:1;7392:261;7417:13;:11;:13::i;:::-;7412:18;;7392:261;;7455:20;;;;:17;:20;;;;;;-1:-1:-1;;;;;7455:30:27;;;:20;;:30;7451:192;;;7518:6;7509:5;:15;7505:124;;;7555:1;7548:8;;;;7505:124;7603:7;;;;;7505:124;7432:3;;7392:261;;7225:452;;;;;;;:::o;5820:56:23:-;;;;;;;;;;;;-1:-1:-1;;;;;5820:56:23;;:::o;3195:126:21:-;2275:10;;-1:-1:-1;;;;;2275:10:21;2261;:24;2253:33;;;;;;-1:-1:-1;;;;;3261:21:21;;;;3253:30;;;;;;3294:10;:20;;-1:-1:-1;;3294:20:21;-1:-1:-1;;;;;3294:20:21;;;;;;;;;;3195:126::o;2135:26::-;;;-1:-1:-1;;;2135:26:21;;;;;:::o;3598:94::-;2417:10;;-1:-1:-1;;;;;2417:10:21;2403;:24;2395:33;;;;;;3652:10;;:33;;-1:-1:-1;;;;;3652:10:21;;;;3672:4;:12;3652:33;;;;;:10;:33;:10;:33;3672:12;3652:10;:33;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3652:33:21;3598:94::o;6427:190:27:-;6507:13;6544:27;;;:17;:27;;;;;;-1:-1:-1;;;;;6544:27:27;6590:19;;;6582:28;;;;;;6427:190;;;:::o;3378:122::-;-1:-1:-1;;;;;3466:27:27;3434:13;3466:27;;;:19;:27;;;;;;;3378:122::o;4202:79:21:-;2661:10;;-1:-1:-1;;;;;2661:10:21;2647;:24;;:64;;-1:-1:-1;2701:10:21;;-1:-1:-1;;;;;2701:10:21;2687;:24;2647:64;:104;;;-1:-1:-1;2741:10:21;;-1:-1:-1;;;;;2741:10:21;2727;:24;2647:104;2626:135;;;;;;;;3883:6;;-1:-1:-1;;;3883:6:21;;;;3882:7;3874:16;;;;;;4261:6;:13;;-1:-1:-1;;4261:13:21;-1:-1:-1;;;4261:13:21;;;4202:79::o;895:27:27:-;;;;;;;;;;;;;;;-1:-1:-1;;895:27:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4302:395:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5320:53::-;;;;;;;;;;;;-1:-1:-1;;;;;5320:53:23;;:::o;3925:438:27:-;3883:6:21;;-1:-1:-1;;;3883:6:21;;;;3882:7;3874:16;;;;;;-1:-1:-1;;;;;4125:17:27;;;;4117:26;;;;;;4204:27;4210:10;4222:8;4204:5;:27::i;:::-;4196:36;;;;;;;;4320;4330:10;4342:3;4347:8;4320:9;:36::i;2003:25:21:-;;;-1:-1:-1;;;;;2003:25:21;;:::o;1480:145:27:-;1555:4;1578:27;;;:17;:27;;;;;;-1:-1:-1;;;;;1578:40:27;;;:27;;:40;;1480:145::o;6267:784:23:-;-1:-1:-1;;;;;6452:24:23;;;;;;;:19;:24;;;;;;;;:26;;;;;;6518:27;;;:17;:27;;;;;:33;;-1:-1:-1;;6518:33:23;;;;;;6651:19;;;6647:317;;-1:-1:-1;;;;;6686:26:23;;;;;;:19;:26;;;;;;;;:28;;-1:-1:-1;;6686:28:23;;;6808:30;;;:20;:30;;;;;6801:37;;-1:-1:-1;;6801:37:23;;;;;;6923:20;:30;;;;;;6916:37;;;;;;;6647:317;7035:8;7030:3;-1:-1:-1;;;;;7014:30:23;7023:5;-1:-1:-1;;;;;7014:30:23;;;;;;;;;;;6267:784;;;:::o;2457:123:27:-;2531:30;;;;:20;:30;;;;;;:42;;-1:-1:-1;;2531:42:27;-1:-1:-1;;;;;2531:42:27;;;;;;;;;2457:123::o;1859:155::-;1941:4;1964:30;;;:20;:30;;;;;;-1:-1:-1;;;;;1964:43:27;;;:30;;:43;;1859:155::o", "source": "/* solium-disable */\n/**\n * @title The facet of the CryptoKitties core contract that manages ownership, ERC-721 (draft) compliant.\n * @author Axiom Zen (https://www.axiomzen.co)\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 \"./KittyBase.sol\";\nimport \"./ERC721.sol\";\n\n/// @title The facet of the CryptoKitties core contract that manages ownership, ERC-721 (draft) compliant.\n/// @author Axiom Zen (https://www.axiomzen.co)\n/// @dev Ref: https://github.com/ethereum/EIPs/issues/721\n/// See the KittyCore contract documentation to understand how the various contract facets are arranged.\ncontract KittyOwnership is KittyBase, ERC721 {\n\n /// @notice Name and symbol of the non fungible token, as defined in ERC721.\n string public name = \"CryptoKitties\";\n string public symbol = \"CK\";\n\n // bool public implementsERC721 = true;\n //\n function implementsERC721() public pure returns (bool)\n {\n return true;\n }\n \n // Internal utility functions: These functions all assume that their input arguments\n // are valid. We leave it to public methods to sanitize their inputs and follow\n // the required logic.\n\n /// @dev Checks if a given address is the current owner of a particular Kitty.\n /// @param _claimant the address we are validating against.\n /// @param _tokenId kitten id, only valid when > 0\n function _owns(address _claimant, uint256 _tokenId) internal view returns (bool) {\n return kittyIndexToOwner[_tokenId] == _claimant;\n }\n\n /// @dev Checks if a given address currently has transferApproval for a particular Kitty.\n /// @param _claimant the address we are confirming kitten is approved for.\n /// @param _tokenId kitten id, only valid when > 0\n function _approvedFor(address _claimant, uint256 _tokenId) internal view returns (bool) {\n return kittyIndexToApproved[_tokenId] == _claimant;\n }\n\n /// @dev Marks an address as being approved for transferFrom(), overwriting any previous\n /// approval. Setting _approved to address(0) clears all transfer approval.\n /// NOTE: _approve() does NOT send the Approval event. This is intentional because\n /// _approve() and transferFrom() are used together for putting Kitties on auction, and\n /// there is no value in spamming the log with Approval events in that case.\n function _approve(uint256 _tokenId, address _approved) internal {\n kittyIndexToApproved[_tokenId] = _approved;\n }\n\n /// @dev Transfers a kitty owned by this contract to the specified address.\n /// Used to rescue lost kitties. (There is no \"proper\" flow where this contract\n /// should be the owner of any Kitty. This function exists for us to reassign\n /// the ownership of Kitties that users may have accidentally sent to our address.)\n /// @param _kittyId - ID of kitty\n /// @param _recipient - Address to send the cat to\n function rescueLostKitty(uint256 _kittyId, address _recipient) public onlyCOO whenNotPaused {\n require(_owns(this, _kittyId));\n _transfer(this, _recipient, _kittyId);\n }\n\n /// @notice Returns the number of Kitties owned by a specific address.\n /// @param _owner The owner address to check.\n /// @dev Required for ERC-721 compliance\n function balanceOf(address _owner) public view returns (uint256 count) {\n return ownershipTokenCount[_owner];\n }\n\n /// @notice Transfers a Kitty to another address. If transferring to a smart\n /// contract be VERY CAREFUL to ensure that it is aware of ERC-721 (or\n /// CryptoKitties specifically) or your Kitty may be lost forever. Seriously.\n /// @param _to The address of the recipient, can be a user or contract.\n /// @param _tokenId The ID of the Kitty to transfer.\n /// @dev Required for ERC-721 compliance.\n function transfer(\n address _to,\n uint256 _tokenId\n )\n public\n whenNotPaused\n {\n // Safety check to prevent against an unexpected 0x0 default.\n require(_to != address(0));\n // You can only send your own cat.\n require(_owns(msg.sender, _tokenId));\n\n // Reassign ownership, clear pending approvals, emit Transfer event.\n _transfer(msg.sender, _to, _tokenId);\n }\n\n /// @notice Grant another address the right to transfer a specific Kitty via\n /// transferFrom(). This is the preferred flow for transfering NFTs to contracts.\n /// @param _to The address to be granted transfer approval. Pass address(0) to\n /// clear all approvals.\n /// @param _tokenId The ID of the Kitty that can be transferred if this call succeeds.\n /// @dev Required for ERC-721 compliance.\n function approve(\n address _to,\n uint256 _tokenId\n )\n public\n whenNotPaused\n {\n // Only an owner can grant transfer approval.\n require(_owns(msg.sender, _tokenId));\n\n // Register the approval (replacing any previous approval).\n _approve(_tokenId, _to);\n\n // Emit approval event.\n Approval(msg.sender, _to, _tokenId);\n }\n\n /// @notice Transfer a Kitty owned by another address, for which the calling address\n /// has previously been granted transfer approval by the owner.\n /// @param _from The address that owns the Kitty to be transfered.\n /// @param _to The address that should take ownership of the Kitty. Can be any address,\n /// including the caller.\n /// @param _tokenId The ID of the Kitty to be transferred.\n /// @dev Required for ERC-721 compliance.\n function transferFrom(\n address _from,\n address _to,\n uint256 _tokenId\n )\n public\n whenNotPaused\n {\n // Check for approval and valid ownership\n require(_approvedFor(msg.sender, _tokenId));\n require(_owns(_from, _tokenId));\n\n // Reassign ownership (also clears pending approvals and emits Transfer event).\n _transfer(_from, _to, _tokenId);\n }\n\n /// @notice Returns the total number of Kitties currently in existence.\n /// @dev Required for ERC-721 compliance.\n function totalSupply() public view returns (uint) {\n return kitties.length - 1;\n }\n\n /// @notice Returns the address currently assigned ownership of a given Kitty.\n /// @dev Required for ERC-721 compliance.\n function ownerOf(uint256 _tokenId)\n public\n view\n returns (address owner)\n {\n owner = kittyIndexToOwner[_tokenId];\n\n require(owner != address(0));\n }\n\n /// @notice Returns the nth Kitty assigned to an address, with n specified by the\n /// _index argument.\n /// @param _owner The owner whose Kitties we are interested in.\n /// @param _index The zero-based index of the cat within the owner's list of cats.\n /// Must be less than balanceOf(_owner).\n /// @dev This method MUST NEVER be called by smart contract code. It will almost\n /// certainly blow past the block gas limit once there are a large number of\n /// Kitties in existence. Exists only to allow off-chain queries of ownership.\n /// Optional method for ERC-721.\n function tokensOfOwnerByIndex(address _owner, uint256 _index)\n external\n view\n returns (uint256 tokenId)\n {\n uint256 count = 0;\n for (uint256 i = 1; i <= totalSupply(); i++) {\n if (kittyIndexToOwner[i] == _owner) {\n if (count == _index) {\n return i;\n } else {\n count++;\n }\n }\n }\n revert();\n }\n}\n", "sourcePath": "/private/tmp/kleros-interaction/contracts/standard/arbitration/CriptoKitties/KittyOwnership.sol", "ast": { "absolutePath": "/private/tmp/kleros-interaction/contracts/standard/arbitration/CriptoKitties/KittyOwnership.sol", "exportedSymbols": { "KittyOwnership": [ 8459 ] }, "id": 8460, "nodeType": "SourceUnit", "nodes": [ { "id": 8178, "literals": [ "solidity", "^", "0.4", ".18" ], "nodeType": "PragmaDirective", "src": "325:24:27" }, { "absolutePath": "/private/tmp/kleros-interaction/contracts/standard/arbitration/CriptoKitties/KittyBase.sol", "file": "./KittyBase.sol", "id": 8179, "nodeType": "ImportDirective", "scope": 8460, "sourceUnit": 7169, "src": "351:25:27", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/private/tmp/kleros-interaction/contracts/standard/arbitration/CriptoKitties/ERC721.sol", "file": "./ERC721.sol", "id": 8180, "nodeType": "ImportDirective", "scope": 8460, "sourceUnit": 6436, "src": "377:22:27", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 8181, "name": "KittyBase", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 7168, "src": "747:9:27", "typeDescriptions": { "typeIdentifier": "t_contract$_KittyBase_$7168", "typeString": "contract KittyBase" } }, "id": 8182, "nodeType": "InheritanceSpecifier", "src": "747:9:27" }, { "arguments": null, "baseName": { "contractScope": null, "id": 8183, "name": "ERC721", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 6435, "src": "758:6:27", "typeDescriptions": { "typeIdentifier": "t_contract$_ERC721_$6435", "typeString": "contract ERC721" } }, "id": 8184, "nodeType": "InheritanceSpecifier", "src": "758:6:27" } ], "contractDependencies": [ 6435, 6662, 7168 ], "contractKind": "contract", "documentation": "@title The facet of the CryptoKitties core contract that manages ownership, ERC-721 (draft) compliant.\n @author Axiom Zen (https://www.axiomzen.co)\n @dev Ref: https://github.com/ethereum/EIPs/issues/721\n See the KittyCore contract documentation to understand how the various contract facets are arranged.", "fullyImplemented": true, "id": 8459, "linearizedBaseContracts": [ 8459, 6435, 7168, 6662 ], "name": "KittyOwnership", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 8187, "name": "name", "nodeType": "VariableDeclaration", "scope": 8459, "src": "853:36:27", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string" }, "typeName": { "id": 8185, "name": "string", "nodeType": "ElementaryTypeName", "src": "853:6:27", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": { "argumentTypes": null, "hexValue": "43727970746f4b697474696573", "id": 8186, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "874:15:27", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c13b881b7ab0310915e32767fd83683d3c5150c07e8da093f99668a8f0d0e463", "typeString": "literal_string \"CryptoKitties\"" }, "value": "CryptoKitties" }, "visibility": "public" }, { "constant": false, "id": 8190, "name": "symbol", "nodeType": "VariableDeclaration", "scope": 8459, "src": "895:27:27", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string" }, "typeName": { "id": 8188, "name": "string", "nodeType": "ElementaryTypeName", "src": "895:6:27", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": { "argumentTypes": null, "hexValue": "434b", "id": 8189, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "918:4:27", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_04713d815a01f55260c897073f342459cf47ca62d132be73155ba8970113380e", "typeString": "literal_string \"CK\"" }, "value": "CK" }, "visibility": "public" }, { "body": { "id": 8197, "nodeType": "Block", "src": "1039:28:27", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "74727565", "id": 8195, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "1056:4:27", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "functionReturnParameters": 8194, "id": 8196, "nodeType": "Return", "src": "1049:11:27" } ] }, "documentation": null, "id": 8198, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "implementsERC721", "nodeType": "FunctionDefinition", "parameters": { "id": 8191, "nodeType": "ParameterList", "parameters": [], "src": "1005:2:27" }, "payable": false, "returnParameters": { "id": 8194, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 8193, "name": "", "nodeType": "VariableDeclaration", "scope": 8198, "src": "1029:4:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 8192, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1029:4:27", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "1028:6:27" }, "scope": 8459, "src": "980:87:27", "stateMutability": "pure", "superFunction": 6376, "visibility": "public" }, { "body": { "id": 8213, "nodeType": "Block", "src": "1561:64:27", "statements": [ { "expression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 8211, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 8207, "name": "kittyIndexToOwner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7013, "src": "1578:17:27", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" } }, "id": 8209, "indexExpression": { "argumentTypes": null, "id": 8208, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8202, "src": "1596:8:27", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1578:27:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpre