Transactions
Token Transfers
Tokens
Internal Transactions
Coin Balance History
Logs
Code
Read Contract
Write Contract
Warning! Contract bytecode has been changed and doesn't match the verified one. Therefore, interaction with this smart contract may be risky.
- Contract name:
- MojitoCattleFactory
- Optimization enabled
- true
- Compiler version
- v0.6.12+commit.27d51765
- Optimization runs
- 200
- EVM Version
- default
- Verified at
- 2022-01-26T09:09:18.543667Z
Constructor Arguments
0000000000000000000000002ca48b4eea5a731c2b54e7c3944dbdb87c0cfb6f000000000000000000000000483db86352f87225a3a2181886a4e8970552825f
Arg [0] (address) : 0x2ca48b4eea5a731c2b54e7c3944dbdb87c0cfb6f
Arg [1] (address) : 0x483db86352f87225a3a2181886a4e8970552825f
Contract source code
// File: @openzeppelin/contracts/utils/Context.solpragma solidity >=0.6.0 <0.8.0;/** @dev Provides information about the current execution context, including the* sender of the transaction and its data. While these are generally available* via msg.sender and msg.data, they should not be accessed in such a direct* manner, since when dealing with GSN meta-transactions the account sending and* paying for execution may not be the actual sender (as far as an application* is concerned).** This contract is only required for intermediate, library-like contracts.*/abstract contract Context {function _msgSender() internal view virtual returns (address payable) {return msg.sender;}function _msgData() internal view virtual returns (bytes memory) {this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691return msg.data;}}// File: @openzeppelin/contracts/access/Ownable.solpragma solidity >=0.6.0 <0.8.0;/*** @dev Contract module which provides a basic access control mechanism, where* there is an account (an owner) that can be granted exclusive access to* specific functions.** By default, the owner account will be the one that deploys the contract. This* can later be changed with {transferOwnership}.*
Contract ABI
[{"type":"constructor","stateMutability":"nonpayable","inputs":[{"type":"address","name":"_mojitoToken","internalType":"contract IKRC20"},{"type":"address","name":"_mojitoCattle","internalType":"contract MojitoCattle"}]},{"type":"event","name":"AdminTokenRecovery","inputs":[{"type":"address","name":"tokenAddress","internalType":"address","indexed":false},{"type":"uint256","name":"amountTokens","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"CattleMint","inputs":[{"type":"address","name":"to","internalType":"address","indexed":true},{"type":"uint256","name":"tokenId","internalType":"uint256","indexed":true},{"type":"uint256","name":"cattleId","internalType":"uint256","indexed":true}],"anonymous":false},{"type":"event","name":"EndBlockNumberSet","inputs":[{"type":"uint256","name":"cattleId","internalType":"uint256","indexed":false},{"type":"uint256","name":"previousEndBlockNumber","internalType":"uint256","indexed":false},{"type":"uint256","name":"newEndBlockNumber","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"MojitoCattleCharacteristicsAdd","inputs":[{"type":"uint256","name":"cattleId","internalType":"uint256","indexed":false},{"type":"string","name":"cattleName","internalType":"string","indexed":false},{"type":"string","name":"cattleURI","internalType":"string","indexed":false},{"type":"uint256","name":"mojitoPrice","internalType":"uint256","indexed":false},{"type":"uint256","name":"startBlockNumber","internalType":"uint256","indexed":false},{"type":"uint256","name":"endBlockNumber","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"MojitoPriceSet","inputs":[{"type":"uint256","name":"cattleId","internalType":"uint256","indexed":false},{"type":"uint256","name":"previousMojitoPrice","internalType":"uint256","indexed":false},{"type":"uint256","name":"newMojitoPrice","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"type":"address","name":"previousOwner","internalType":"address","indexed":true},{"type":"address","name":"newOwner","internalType":"address","indexed":true}],"anonymous":false},{"type":"event","name":"StartBlockNumberSet","inputs":[{"type":"uint256","name":"cattleId","internalType":"uint256","indexed":false},{"type":"uint256","name":"previousStartBlockNumber","internalType":"uint256","indexed":false},{"type":"uint256","name":"newStartBlockNumber","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"addMojitoCattleInformation","inputs":[{"type":"string","name":"_cattleName","internalType":"string"},{"type":"string","name":"_cattleURI","internalType":"string"},{"type":"uint256","name":"_mojitoPrice","internalType":"uint256"},{"type":"uint256","name":"_startBlockNumber","internalType":"uint256"},{"type":"uint256","name":"_endBlockNumber","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"canMint","inputs":[{"type":"address","name":"user","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"claimFee","inputs":[{"type":"uint256","name":"_amount","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"hasClaimed","inputs":[{"type":"address","name":"","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"mintNFT","inputs":[{"type":"uint256","name":"_cattleId","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"contract MojitoCattle"}],"name":"mojitoCattle","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"cattleId","internalType":"uint256"},{"type":"string","name":"cattleName","internalType":"string"},{"type":"string","name":"cattleURI","internalType":"string"},{"type":"uint256","name":"mojitoPrice","internalType":"uint256"},{"type":"uint256","name":"startBlockNumber","internalType":"uint256"},{"type":"uint256","name":"endBlockNumber","internalType":"uint256"}],"name":"mojitoCattleInformation","inputs":[{"type":"uint256","name":"","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"contract IKRC20"}],"name":"mojitoToken","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"owner","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"recoverWrongTokens","inputs":[{"type":"address","name":"_tokenAddress","internalType":"address"},{"type":"uint256","name":"_tokenAmount","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"renounceOwnership","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"setEndBlockNumber","inputs":[{"type":"uint256","name":"_cattleId","internalType":"uint256"},{"type":"uint256","name":"_endBlockNumber","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"setMojitoPrice","inputs":[{"type":"uint256","name":"_cattleId","internalType":"uint256"},{"type":"uint256","name":"_mojitoPrice","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"setStartBlockNumber","inputs":[{"type":"uint256","name":"_cattleId","internalType":"uint256"},{"type":"uint256","name":"_startBlockNumber","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"transferOwnership","inputs":[{"type":"address","name":"newOwner","internalType":"address"}]}]
Contract Creation Code
0x608060405234801561001057600080fd5b506040516121163803806121168339818101604052604081101561003357600080fd5b5080516020909101516001600090815561004b6100ca565b600180546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600380546001600160a01b039384166001600160a01b031991821617909155600480549290931691161790556100ce565b3390565b612039806100dd6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80639264274411610097578063e92ca8d211610066578063e92ca8d214610404578063f2fde38b14610427578063f65eeb091461044d578063f667526a14610455576100f5565b8063926427441461037b578063963f292a14610398578063c2ba4744146103bb578063cd99c6dc146103e1576100f5565b806371cba86c116100d357806371cba86c1461015457806373b2e80e146102225780638403022b1461025c5780638da5cb5b14610373576100f5565b806337f6fc84146100fa5780633f138d4b1461011e578063715018a61461014c575b600080fd5b610102610472565b604080516001600160a01b039092168252519081900360200190f35b61014a6004803603604081101561013457600080fd5b506001600160a01b038135169060200135610481565b005b61014a61058c565b61014a600480360360a081101561016a57600080fd5b81019060208101813564010000000081111561018557600080fd5b82018360208201111561019757600080fd5b803590602001918460018302840111640100000000831117156101b957600080fd5b9193909290916020810190356401000000008111156101d757600080fd5b8201836020820111156101e957600080fd5b8035906020019184600183028401116401000000008311171561020b57600080fd5b919350915080359060208101359060400135610638565b6102486004803603602081101561023857600080fd5b50356001600160a01b0316610a3f565b604080519115158252519081900360200190f35b6102796004803603602081101561027257600080fd5b5035610a54565b604051808781526020018060200180602001868152602001858152602001848152602001838103835288818151815260200191508051906020019080838360005b838110156102d25781810151838201526020016102ba565b50505050905090810190601f1680156102ff5780820380516001836020036101000a031916815260200191505b50838103825287518152875160209182019189019080838360005b8381101561033257818101518382015260200161031a565b50505050905090810190601f16801561035f5780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b610102610b9f565b61014a6004803603602081101561039157600080fd5b5035610bae565b61014a600480360360408110156103ae57600080fd5b50803590602001356110b9565b610248600480360360208110156103d157600080fd5b50356001600160a01b03166111d2565b61014a600480360360408110156103f757600080fd5b50803590602001356111f1565b61014a6004803603604081101561041a57600080fd5b5080359060200135611385565b61014a6004803603602081101561043d57600080fd5b50356001600160a01b031661151b565b61010261161e565b61014a6004803603602081101561046b57600080fd5b503561162d565b6004546001600160a01b031681565b6104896116b0565b6001600160a01b031661049a610b9f565b6001600160a01b0316146104e3576040805162461bcd60e51b81526020600482018190526024820152600080516020611ec3833981519152604482015290519081900360640190fd5b6003546001600160a01b03838116911614156105305760405162461bcd60e51b815260040180806020018281038252603f815260200180611b6c603f913960400191505060405180910390fd5b6105446001600160a01b03831633836116b4565b604080516001600160a01b03841681526020810183905281517f74545154aac348a3eac92596bd1971957ca94795f4e954ec5f613b55fab78129929181900390910190a15050565b6105946116b0565b6001600160a01b03166105a5610b9f565b6001600160a01b0316146105ee576040805162461bcd60e51b81526020600482018190526024820152600080516020611ec3833981519152604482015290519081900360640190fd5b6001546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600180546001600160a01b0319169055565b6106406116b0565b6001600160a01b0316610651610b9f565b6001600160a01b03161461069a576040805162461bcd60e51b81526020600482018190526024820152600080516020611ec3833981519152604482015290519081900360640190fd5b606087878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050825192935050601490911090506107185760405162461bcd60e51b815260040180806020018281038252603d815260200180611e0d603d913960400191505060405180910390fd5b60038151116107585760405162461bcd60e51b815260040180806020018281038252603c815260200180611ccd603c913960400191505060405180910390fd5b8243106107965760405162461bcd60e51b8152600401808060200182810382526061815260200180611fa36061913960800191505060405180910390fd5b8183106107d45760405162461bcd60e51b815260040180806020018281038252605f815260200180611d2f605f913960600191505060405180910390fd5b6107de600261170b565b60006107ea6002611714565b60048054604080516322570be960e01b815292830184815260248401918252604484018d90529394506001600160a01b03909116926322570be99285928e928e92909190606401848480828437600081840152601f19601f820116905080830192505050945050505050600060405180830381600087803b15801561086e57600080fd5b505af1158015610882573d6000803e3d6000fd5b505050506040518060c001604052808281526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250604080516020601f8b0181900481028201810190925289815291810191908a908a908190840183828082843760009201829052509385525050506020808301899052604080840189905260609093018790528482526005815291902082518155828201518051919261094a92600185019290910190611a48565b5060408201518051610966916002840191602090910190611a48565b50606082015181600301556080820151816004015560a082015181600501559050507f60cb249f4f28dbf60c50bbccd73a50464d54482d9523081170cc17392386ad37818a8a8a8a8a8a8a60405180898152602001806020018060200186815260200185815260200184815260200183810383528a8a82818152602001925080828437600083820152601f01601f191690910184810383528881526020019050888880828437600083820152604051601f909101601f19169092018290039c50909a5050505050505050505050a1505050505050505050565b60066020526000908152604090205460ff1681565b6005602090815260009182526040918290208054600180830180548651600293821615610100026000190190911692909204601f810186900486028301860190965285825291949293909290830182828015610af15780601f10610ac657610100808354040283529160200191610af1565b820191906000526020600020905b815481529060010190602001808311610ad457829003601f168201915b50505060028085018054604080516020601f6000196101006001871615020190941695909504928301859004850281018501909152818152959695945090925090830182828015610b835780601f10610b5857610100808354040283529160200191610b83565b820191906000526020600020905b815481529060010190602001808311610b6657829003601f168201915b5050505050908060030154908060040154908060050154905086565b6001546001600160a01b031690565b60026000541415610c06576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000819055610c1690611714565b8111158015610c255750600081115b610c605760405162461bcd60e51b815260040180806020018281038252602e815260200180611c4b602e913960400191505060405180910390fd5b610c68611ac6565b600560008381526020019081526020016000206040518060c001604052908160008201548152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d295780601f10610cfe57610100808354040283529160200191610d29565b820191906000526020600020905b815481529060010190602001808311610d0c57829003601f168201915b5050509183525050600282810180546040805160206001841615610100026000190190931694909404601f81018390048302850183019091528084529381019390830182828015610dbb5780601f10610d9057610100808354040283529160200191610dbb565b820191906000526020600020905b815481529060010190602001808311610d9e57829003601f168201915b505050505081526020016003820154815260200160048201548152602001600582015481525050905060008160600151118015610dfc575060008160800151115b8015610e0c575060008160a00151115b610e475760405162461bcd60e51b8152600401808060200182810382526041815260200180611e826041913960600191505060405180910390fd5b6000610e516116b0565b6001600160a01b03811660009081526006602052604090205490915060ff1615610eac5760405162461bcd60e51b8152600401808060200182810382526029815260200180611d8e6029913960400191505060405180910390fd5b81608001514311610eee5760405162461bcd60e51b8152600401808060200182810382526027815260200180611ee36027913960400191505060405180910390fd5b8160a001514310610f305760405162461bcd60e51b8152600401808060200182810382526026815260200180611bff6026913960400191505060405180910390fd5b6001600160a01b038082166000908152600660205260409020805460ff191660011790556060830151600354610f6b92169083903090611718565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663ba7aef43838560400151876040518463ffffffff1660e01b815260040180846001600160a01b0316815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b83811015610ff9578181015183820152602001610fe1565b50505050905090810190601f1680156110265780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b15801561104757600080fd5b505af115801561105b573d6000803e3d6000fd5b505050506040513d602081101561107157600080fd5b5051604051909150849082906001600160a01b038516907f411ceeab99d568b6d748f9448e51d73793a1b38d2a42c7a9db084662a060a7e490600090a4505060016000555050565b6110c16116b0565b6001600160a01b03166110d2610b9f565b6001600160a01b03161461111b576040805162461bcd60e51b81526020600482018190526024820152600080516020611ec3833981519152604482015290519081900360640190fd5b6111256002611714565b82111580156111345750600082115b61116f5760405162461bcd60e51b8152600401808060200182810382526035815260200180611f6e6035913960400191505060405180910390fd5b60008281526005602090815260409182902060038101805490859055835186815292830181905282840185905292519092917fc52a171e1519b73aaa7d0a56628069354daf857aa5c9e37c8257299e63f4e74f919081900360600190a150505050565b6001600160a01b031660009081526006602052604090205460ff161590565b6111f96116b0565b6001600160a01b031661120a610b9f565b6001600160a01b031614611253576040805162461bcd60e51b81526020600482018190526024820152600080516020611ec3833981519152604482015290519081900360640190fd5b61125d6002611714565b821115801561126c5750600082115b6112a75760405162461bcd60e51b8152600401808060200182810382526038815260200180611e4a6038913960400191505060405180910390fd5b8043106112e55760405162461bcd60e51b8152600401808060200182810382526056815260200180611db76056913960600191505060405180910390fd5b6000828152600560205260409020600481015482116113355760405162461bcd60e51b8152600401808060200182810382526054815260200180611bab6054913960600191505060405180910390fd5b60058101805490839055604080518581526020810183905280820185905290517fe03f70cad767f043a5c3c83042a32f25479577d3dd7f28caa41e50cebbb4bee49181900360600190a150505050565b61138d6116b0565b6001600160a01b031661139e610b9f565b6001600160a01b0316146113e7576040805162461bcd60e51b81526020600482018190526024820152600080516020611ec3833981519152604482015290519081900360640190fd5b6113f16002611714565b82111580156114005750600082115b61143b5760405162461bcd60e51b815260040180806020018281038252603a815260200180611f0a603a913960400191505060405180910390fd5b8043106114795760405162461bcd60e51b815260040180806020018281038252605a815260200180611b12605a913960600191505060405180910390fd5b60008281526005602081905260409091209081015482106114cb5760405162461bcd60e51b8152600401808060200182810382526054815260200180611c796054913960600191505060405180910390fd5b60048101805490839055604080518581526020810183905280820185905290517fc1c7387d7d6eec29cab775b016efe50224042fe1748a87858a7df8a3eb9e2e149181900360600190a150505050565b6115236116b0565b6001600160a01b0316611534610b9f565b6001600160a01b03161461157d576040805162461bcd60e51b81526020600482018190526024820152600080516020611ec3833981519152604482015290519081900360640190fd5b6001600160a01b0381166115c25760405162461bcd60e51b8152600401808060200182810382526026815260200180611c256026913960400191505060405180910390fd5b6001546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6003546001600160a01b031681565b6116356116b0565b6001600160a01b0316611646610b9f565b6001600160a01b03161461168f576040805162461bcd60e51b81526020600482018190526024820152600080516020611ec3833981519152604482015290519081900360640190fd5b6116ad61169a6116b0565b6003546001600160a01b031690836116b4565b50565b3390565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611706908490611778565b505050565b80546001019055565b5490565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052611772908590611778565b50505050565b60606117cd826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166118299092919063ffffffff16565b805190915015611706578080602001905160208110156117ec57600080fd5b50516117065760405162461bcd60e51b815260040180806020018281038252602a815260200180611f44602a913960400191505060405180910390fd5b60606118388484600085611842565b90505b9392505050565b6060824710156118835760405162461bcd60e51b8152600401808060200182810382526026815260200180611d096026913960400191505060405180910390fd5b61188c8561199e565b6118dd576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b6020831061191c5780518252601f1990920191602091820191016118fd565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461197e576040519150601f19603f3d011682016040523d82523d6000602084013e611983565b606091505b50915091506119938282866119a4565b979650505050505050565b3b151590565b606083156119b357508161183b565b8251156119c35782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611a0d5781810151838201526020016119f5565b50505050905090810190601f168015611a3a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611a8957805160ff1916838001178555611ab6565b82800160010185558215611ab6579182015b82811115611ab6578251825591602001919060010190611a9b565b50611ac2929150611afc565b5090565b6040518060c001604052806000815260200160608152602001606081526020016000815260200160008152602001600081525090565b5b80821115611ac25760008155600101611afd56fe4d6f6a69746f436174746c65466163746f72793a3a7365745374617274426c6f636b4e756d6265723a204e6577207374617274426c6f636b206d7573742062652067726561746572207468616e2063757272656e74426c6f636b4d6f6a69746f436174746c65466163746f72793a3a7265636f76657257726f6e67546f6b656e733a2043616e6e6f74206265206d6f6a69746f20746f6b656e4d6f6a69746f436174746c65466163746f72793a3a736574456e64426c6f636b4e756d6265723a204e657720656e64426c6f636b206d7573742062652067726561746572207468616e207374617274426c6f636b4d6f6a69746f436174746c65466163746f72793a3a6d696e744e46543a20546f6f206c6174654f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734d6f6a69746f436174746c65466163746f72793a3a6d696e744e46543a20496e76616c696420636174746c6549644d6f6a69746f436174746c65466163746f72793a3a7365745374617274426c6f636b4e756d6265723a204e6577207374617274426c6f636b206d757374206265206c6f776572207468616e20656e64426c6f636b4d6f6a69746f436174746c65466163746f72793a3a6164644d6f6a69746f436174746c65496e666f726d6174696f6e3a204d757374206265203e2033416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4d6f6a69746f436174746c65466163746f72793a3a6164644d6f6a69746f436174746c65496e666f726d6174696f6e3a204e6577207374617274426c6f636b206d757374206265206c6f776572207468616e206e657720656e64426c6f636b4d6f6a69746f436174746c65466163746f72793a3a6d696e744e46543a2048617320636c61696d65644d6f6a69746f436174746c65466163746f72793a3a736574456e64426c6f636b4e756d6265723a204e657720656e64426c6f636b206d7573742062652067726561746572207468616e2063757272656e74426c6f636b4d6f6a69746f436174746c65466163746f72793a3a6164644d6f6a69746f436174746c65496e666f726d6174696f6e3a204d757374206265203c2032304d6f6a69746f436174746c65466163746f72793a3a736574456e64426c6f636b4e756d6265723a20496e76616c696420636174746c6549644d6f6a69746f436174746c65466163746f72793a3a6d696e744e46543a204d6f6a69746f436174746c65436861726163746572697374696373206e6f74207365744f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65724d6f6a69746f436174746c65466163746f72793a3a6d696e744e46543a20546f6f206561726c794d6f6a69746f436174746c65466163746f72793a3a7365745374617274426c6f636b4e756d6265723a20496e76616c696420636174746c6549645361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565644d6f6a69746f436174746c65466163746f72793a3a7365744d6f6a69746f50726963653a20496e76616c696420636174746c6549644d6f6a69746f436174746c65466163746f72793a3a6164644d6f6a69746f436174746c65496e666f726d6174696f6e3a204e6577207374617274426c6f636b206d7573742062652067726561746572207468616e2063757272656e74426c6f636ba26469706673582212202f6934c96f858a3210637afda6e48b8d86e2dc48ca84e7088434c2eb68cf723b64736f6c634300060c00330000000000000000000000002ca48b4eea5a731c2b54e7c3944dbdb87c0cfb6f000000000000000000000000483db86352f87225a3a2181886a4e8970552825f
Deployed ByteCode
0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80639264274411610097578063e92ca8d211610066578063e92ca8d214610404578063f2fde38b14610427578063f65eeb091461044d578063f667526a14610455576100f5565b8063926427441461037b578063963f292a14610398578063c2ba4744146103bb578063cd99c6dc146103e1576100f5565b806371cba86c116100d357806371cba86c1461015457806373b2e80e146102225780638403022b1461025c5780638da5cb5b14610373576100f5565b806337f6fc84146100fa5780633f138d4b1461011e578063715018a61461014c575b600080fd5b610102610472565b604080516001600160a01b039092168252519081900360200190f35b61014a6004803603604081101561013457600080fd5b506001600160a01b038135169060200135610481565b005b61014a61058c565b61014a600480360360a081101561016a57600080fd5b81019060208101813564010000000081111561018557600080fd5b82018360208201111561019757600080fd5b803590602001918460018302840111640100000000831117156101b957600080fd5b9193909290916020810190356401000000008111156101d757600080fd5b8201836020820111156101e957600080fd5b8035906020019184600183028401116401000000008311171561020b57600080fd5b919350915080359060208101359060400135610638565b6102486004803603602081101561023857600080fd5b50356001600160a01b0316610a3f565b604080519115158252519081900360200190f35b6102796004803603602081101561027257600080fd5b5035610a54565b604051808781526020018060200180602001868152602001858152602001848152602001838103835288818151815260200191508051906020019080838360005b838110156102d25781810151838201526020016102ba565b50505050905090810190601f1680156102ff5780820380516001836020036101000a031916815260200191505b50838103825287518152875160209182019189019080838360005b8381101561033257818101518382015260200161031a565b50505050905090810190601f16801561035f5780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b610102610b9f565b61014a6004803603602081101561039157600080fd5b5035610bae565b61014a600480360360408110156103ae57600080fd5b50803590602001356110b9565b610248600480360360208110156103d157600080fd5b50356001600160a01b03166111d2565b61014a600480360360408110156103f757600080fd5b50803590602001356111f1565b61014a6004803603604081101561041a57600080fd5b5080359060200135611385565b61014a6004803603602081101561043d57600080fd5b50356001600160a01b031661151b565b61010261161e565b61014a6004803603602081101561046b57600080fd5b503561162d565b6004546001600160a01b031681565b6104896116b0565b6001600160a01b031661049a610b9f565b6001600160a01b0316146104e3576040805162461bcd60e51b81526020600482018190526024820152600080516020611ec3833981519152604482015290519081900360640190fd5b6003546001600160a01b03838116911614156105305760405162461bcd60e51b815260040180806020018281038252603f815260200180611b6c603f913960400191505060405180910390fd5b6105446001600160a01b03831633836116b4565b604080516001600160a01b03841681526020810183905281517f74545154aac348a3eac92596bd1971957ca94795f4e954ec5f613b55fab78129929181900390910190a15050565b6105946116b0565b6001600160a01b03166105a5610b9f565b6001600160a01b0316146105ee576040805162461bcd60e51b81526020600482018190526024820152600080516020611ec3833981519152604482015290519081900360640190fd5b6001546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600180546001600160a01b0319169055565b6106406116b0565b6001600160a01b0316610651610b9f565b6001600160a01b03161461069a576040805162461bcd60e51b81526020600482018190526024820152600080516020611ec3833981519152604482015290519081900360640190fd5b606087878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050825192935050601490911090506107185760405162461bcd60e51b815260040180806020018281038252603d815260200180611e0d603d913960400191505060405180910390fd5b60038151116107585760405162461bcd60e51b815260040180806020018281038252603c815260200180611ccd603c913960400191505060405180910390fd5b8243106107965760405162461bcd60e51b8152600401808060200182810382526061815260200180611fa36061913960800191505060405180910390fd5b8183106107d45760405162461bcd60e51b815260040180806020018281038252605f815260200180611d2f605f913960600191505060405180910390fd5b6107de600261170b565b60006107ea6002611714565b60048054604080516322570be960e01b815292830184815260248401918252604484018d90529394506001600160a01b03909116926322570be99285928e928e92909190606401848480828437600081840152601f19601f820116905080830192505050945050505050600060405180830381600087803b15801561086e57600080fd5b505af1158015610882573d6000803e3d6000fd5b505050506040518060c001604052808281526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250604080516020601f8b0181900481028201810190925289815291810191908a908a908190840183828082843760009201829052509385525050506020808301899052604080840189905260609093018790528482526005815291902082518155828201518051919261094a92600185019290910190611a48565b5060408201518051610966916002840191602090910190611a48565b50606082015181600301556080820151816004015560a082015181600501559050507f60cb249f4f28dbf60c50bbccd73a50464d54482d9523081170cc17392386ad37818a8a8a8a8a8a8a60405180898152602001806020018060200186815260200185815260200184815260200183810383528a8a82818152602001925080828437600083820152601f01601f191690910184810383528881526020019050888880828437600083820152604051601f909101601f19169092018290039c50909a5050505050505050505050a1505050505050505050565b60066020526000908152604090205460ff1681565b6005602090815260009182526040918290208054600180830180548651600293821615610100026000190190911692909204601f810186900486028301860190965285825291949293909290830182828015610af15780601f10610ac657610100808354040283529160200191610af1565b820191906000526020600020905b815481529060010190602001808311610ad457829003601f168201915b50505060028085018054604080516020601f6000196101006001871615020190941695909504928301859004850281018501909152818152959695945090925090830182828015610b835780601f10610b5857610100808354040283529160200191610b83565b820191906000526020600020905b815481529060010190602001808311610b6657829003601f168201915b5050505050908060030154908060040154908060050154905086565b6001546001600160a01b031690565b60026000541415610c06576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000819055610c1690611714565b8111158015610c255750600081115b610c605760405162461bcd60e51b815260040180806020018281038252602e815260200180611c4b602e913960400191505060405180910390fd5b610c68611ac6565b600560008381526020019081526020016000206040518060c001604052908160008201548152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d295780601f10610cfe57610100808354040283529160200191610d29565b820191906000526020600020905b815481529060010190602001808311610d0c57829003601f168201915b5050509183525050600282810180546040805160206001841615610100026000190190931694909404601f81018390048302850183019091528084529381019390830182828015610dbb5780601f10610d9057610100808354040283529160200191610dbb565b820191906000526020600020905b815481529060010190602001808311610d9e57829003601f168201915b505050505081526020016003820154815260200160048201548152602001600582015481525050905060008160600151118015610dfc575060008160800151115b8015610e0c575060008160a00151115b610e475760405162461bcd60e51b8152600401808060200182810382526041815260200180611e826041913960600191505060405180910390fd5b6000610e516116b0565b6001600160a01b03811660009081526006602052604090205490915060ff1615610eac5760405162461bcd60e51b8152600401808060200182810382526029815260200180611d8e6029913960400191505060405180910390fd5b81608001514311610eee5760405162461bcd60e51b8152600401808060200182810382526027815260200180611ee36027913960400191505060405180910390fd5b8160a001514310610f305760405162461bcd60e51b8152600401808060200182810382526026815260200180611bff6026913960400191505060405180910390fd5b6001600160a01b038082166000908152600660205260409020805460ff191660011790556060830151600354610f6b92169083903090611718565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663ba7aef43838560400151876040518463ffffffff1660e01b815260040180846001600160a01b0316815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b83811015610ff9578181015183820152602001610fe1565b50505050905090810190601f1680156110265780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b15801561104757600080fd5b505af115801561105b573d6000803e3d6000fd5b505050506040513d602081101561107157600080fd5b5051604051909150849082906001600160a01b038516907f411ceeab99d568b6d748f9448e51d73793a1b38d2a42c7a9db084662a060a7e490600090a4505060016000555050565b6110c16116b0565b6001600160a01b03166110d2610b9f565b6001600160a01b03161461111b576040805162461bcd60e51b81526020600482018190526024820152600080516020611ec3833981519152604482015290519081900360640190fd5b6111256002611714565b82111580156111345750600082115b61116f5760405162461bcd60e51b8152600401808060200182810382526035815260200180611f6e6035913960400191505060405180910390fd5b60008281526005602090815260409182902060038101805490859055835186815292830181905282840185905292519092917fc52a171e1519b73aaa7d0a56628069354daf857aa5c9e37c8257299e63f4e74f919081900360600190a150505050565b6001600160a01b031660009081526006602052604090205460ff161590565b6111f96116b0565b6001600160a01b031661120a610b9f565b6001600160a01b031614611253576040805162461bcd60e51b81526020600482018190526024820152600080516020611ec3833981519152604482015290519081900360640190fd5b61125d6002611714565b821115801561126c5750600082115b6112a75760405162461bcd60e51b8152600401808060200182810382526038815260200180611e4a6038913960400191505060405180910390fd5b8043106112e55760405162461bcd60e51b8152600401808060200182810382526056815260200180611db76056913960600191505060405180910390fd5b6000828152600560205260409020600481015482116113355760405162461bcd60e51b8152600401808060200182810382526054815260200180611bab6054913960600191505060405180910390fd5b60058101805490839055604080518581526020810183905280820185905290517fe03f70cad767f043a5c3c83042a32f25479577d3dd7f28caa41e50cebbb4bee49181900360600190a150505050565b61138d6116b0565b6001600160a01b031661139e610b9f565b6001600160a01b0316146113e7576040805162461bcd60e51b81526020600482018190526024820152600080516020611ec3833981519152604482015290519081900360640190fd5b6113f16002611714565b82111580156114005750600082115b61143b5760405162461bcd60e51b815260040180806020018281038252603a815260200180611f0a603a913960400191505060405180910390fd5b8043106114795760405162461bcd60e51b815260040180806020018281038252605a815260200180611b12605a913960600191505060405180910390fd5b60008281526005602081905260409091209081015482106114cb5760405162461bcd60e51b8152600401808060200182810382526054815260200180611c796054913960600191505060405180910390fd5b60048101805490839055604080518581526020810183905280820185905290517fc1c7387d7d6eec29cab775b016efe50224042fe1748a87858a7df8a3eb9e2e149181900360600190a150505050565b6115236116b0565b6001600160a01b0316611534610b9f565b6001600160a01b03161461157d576040805162461bcd60e51b81526020600482018190526024820152600080516020611ec3833981519152604482015290519081900360640190fd5b6001600160a01b0381166115c25760405162461bcd60e51b8152600401808060200182810382526026815260200180611c256026913960400191505060405180910390fd5b6001546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6003546001600160a01b031681565b6116356116b0565b6001600160a01b0316611646610b9f565b6001600160a01b03161461168f576040805162461bcd60e51b81526020600482018190526024820152600080516020611ec3833981519152604482015290519081900360640190fd5b6116ad61169a6116b0565b6003546001600160a01b031690836116b4565b50565b3390565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611706908490611778565b505050565b80546001019055565b5490565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052611772908590611778565b50505050565b60606117cd826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166118299092919063ffffffff16565b805190915015611706578080602001905160208110156117ec57600080fd5b50516117065760405162461bcd60e51b815260040180806020018281038252602a815260200180611f44602a913960400191505060405180910390fd5b60606118388484600085611842565b90505b9392505050565b6060824710156118835760405162461bcd60e51b8152600401808060200182810382526026815260200180611d096026913960400191505060405180910390fd5b61188c8561199e565b6118dd576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b6020831061191c5780518252601f1990920191602091820191016118fd565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461197e576040519150601f19603f3d011682016040523d82523d6000602084013e611983565b606091505b50915091506119938282866119a4565b979650505050505050565b3b151590565b606083156119b357508161183b565b8251156119c35782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611a0d5781810151838201526020016119f5565b50505050905090810190601f168015611a3a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611a8957805160ff1916838001178555611ab6565b82800160010185558215611ab6579182015b82811115611ab6578251825591602001919060010190611a9b565b50611ac2929150611afc565b5090565b6040518060c001604052806000815260200160608152602001606081526020016000815260200160008152602001600081525090565b5b80821115611ac25760008155600101611afd56fe4d6f6a69746f436174746c65466163746f72793a3a7365745374617274426c6f636b4e756d6265723a204e6577207374617274426c6f636b206d7573742062652067726561746572207468616e2063757272656e74426c6f636b4d6f6a69746f436174746c65466163746f72793a3a7265636f76657257726f6e67546f6b656e733a2043616e6e6f74206265206d6f6a69746f20746f6b656e4d6f6a69746f436174746c65466163746f72793a3a736574456e64426c6f636b4e756d6265723a204e657720656e64426c6f636b206d7573742062652067726561746572207468616e207374617274426c6f636b4d6f6a69746f436174746c65466163746f72793a3a6d696e744e46543a20546f6f206c6174654f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734d6f6a69746f436174746c65466163746f72793a3a6d696e744e46543a20496e76616c696420636174746c6549644d6f6a69746f436174746c65466163746f72793a3a7365745374617274426c6f636b4e756d6265723a204e6577207374617274426c6f636b206d757374206265206c6f776572207468616e20656e64426c6f636b4d6f6a69746f436174746c65466163746f72793a3a6164644d6f6a69746f436174746c65496e666f726d6174696f6e3a204d757374206265203e2033416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4d6f6a69746f436174746c65466163746f72793a3a6164644d6f6a69746f436174746c65496e666f726d6174696f6e3a204e6577207374617274426c6f636b206d757374206265206c6f776572207468616e206e657720656e64426c6f636b4d6f6a69746f436174746c65466163746f72793a3a6d696e744e46543a2048617320636c61696d65644d6f6a69746f436174746c65466163746f72793a3a736574456e64426c6f636b4e756d6265723a204e657720656e64426c6f636b206d7573742062652067726561746572207468616e2063757272656e74426c6f636b4d6f6a69746f436174746c65466163746f72793a3a6164644d6f6a69746f436174746c65496e666f726d6174696f6e3a204d757374206265203c2032304d6f6a69746f436174746c65466163746f72793a3a736574456e64426c6f636b4e756d6265723a20496e76616c696420636174746c6549644d6f6a69746f436174746c65466163746f72793a3a6d696e744e46543a204d6f6a69746f436174746c65436861726163746572697374696373206e6f74207365744f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65724d6f6a69746f436174746c65466163746f72793a3a6d696e744e46543a20546f6f206561726c794d6f6a69746f436174746c65466163746f72793a3a7365745374617274426c6f636b4e756d6265723a20496e76616c696420636174746c6549645361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565644d6f6a69746f436174746c65466163746f72793a3a7365744d6f6a69746f50726963653a20496e76616c696420636174746c6549644d6f6a69746f436174746c65466163746f72793a3a6164644d6f6a69746f436174746c65496e666f726d6174696f6e3a204e6577207374617274426c6f636b206d7573742062652067726561746572207468616e2063757272656e74426c6f636ba26469706673582212202f6934c96f858a3210637afda6e48b8d86e2dc48ca84e7088434c2eb68cf723b64736f6c634300060c0033