UNPKG

@animoca/ethereum-contracts-assets

Version:
704 lines 56.8 kB
{ "_format": "hh-sol-artifact-1", "contractName": "PolygonChildERC20Burnable", "sourceName": "contracts/token/ERC20/polygon/child/PolygonChildERC20Burnable.sol", "abi": [ { "inputs": [ { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" }, { "internalType": "uint8", "name": "decimals_", "type": "uint8" }, { "internalType": "address", "name": "childChainManager", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "_spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "_to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Withdrawn", "type": "event" }, { "inputs": [], "name": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "owners", "type": "address[]" }, { "internalType": "uint256[]", "name": "values", "type": "uint256[]" } ], "name": "batchBurnFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "recipients", "type": "address[]" }, { "internalType": "uint256[]", "name": "values", "type": "uint256[]" } ], "name": "batchTransfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address[]", "name": "recipients", "type": "address[]" }, { "internalType": "uint256[]", "name": "values", "type": "uint256[]" } ], "name": "batchTransferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burn", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "burnFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "childChainManager", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "deploymentChainId", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" }, { "internalType": "bytes", "name": "depositData", "type": "bytes" } ], "name": "deposit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "name": "onERC20Received", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "permit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeTransfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x60e06040523480156200001157600080fd5b5060405162002b2638038062002b26833981810160405260808110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b5060409081526020828101519290910151865192945092508291869186918691849184918491620001d09160019190860190620002e3565b508151620001e6906002906020850190620002e3565b507fff0000000000000000000000000000000000000000000000000000000000000060f882901b1660c05246608081905262000223818562000259565b60a0525050600780546001600160a01b0319166001600160a01b039790971696909617909555506200038f975050505050505050565b8051602091820120604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81850152808201929092527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606083015260808201939093523060a0808301919091528351808303909101815260c0909101909252815191012090565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826200031b576000855562000366565b82601f106200033657805160ff191683800117855562000366565b8280016001018555821562000366579182015b828111156200036657825182559160200191906001019062000349565b506200037492915062000378565b5090565b5b8082111562000374576000815560010162000379565b60805160a05160c05160f81c612762620003c460003980610b7f525080610c69525080610ba6528061182552506127626000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c806370a08231116100f9578063b88d4fde11610097578063cf2c52cb11610071578063cf2c52cb1461082a578063d505accf146108aa578063dd62ed3e146108fb578063eb79554914610929576101c4565b8063b88d4fde1461076e578063c8291d84146107fe578063cd0d009614610822576101c4565b806388d695b2116100d357806388d695b21461064c57806395d89b411461070e578063a457c2d714610716578063a9059cbb14610742576101c4565b806370a08231146105d457806379cc6790146105fa5780637ecebe0014610626576101c4565b8063313ce567116101665780633c130d90116101405780633c130d901461043057806342966c68146104385780634885b254146104555780634fc3585914610527576101c4565b8063313ce567146103de5780633644e515146103fc5780633950935114610404576101c4565b806318160ddd116101a257806318160ddd146102ad5780631b9a7529146102c757806323b872dd146103895780632e1a7d4d146103bf576101c4565b806301ffc9a7146101c957806306fdde0314610204578063095ea7b314610281575b600080fd5b6101f0600480360360208110156101df57600080fd5b50356001600160e01b0319166109ae565b604080519115158252519081900360200190f35b61020c6109ce565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561024657818101518382015260200161022e565b50505050905090810190601f1680156102735780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f06004803603604081101561029757600080fd5b506001600160a01b038135169060200135610a63565b6102b5610a80565b60408051918252519081900360200190f35b6101f0600480360360408110156102dd57600080fd5b8101906020810181356401000000008111156102f857600080fd5b82018360208201111561030a57600080fd5b8035906020019184602083028401116401000000008311171561032c57600080fd5b91939092909160208101903564010000000081111561034a57600080fd5b82018360208201111561035c57600080fd5b8035906020019184602083028401116401000000008311171561037e57600080fd5b509092509050610a86565b6101f06004803603606081101561039f57600080fd5b506001600160a01b03813581169160208101359091169060400135610b00565b6103dc600480360360208110156103d557600080fd5b5035610b1f565b005b6103e6610b7d565b6040805160ff9092168252519081900360200190f35b6102b5610ba1565b6101f06004803603604081101561041a57600080fd5b506001600160a01b038135169060200135610c8f565b61020c610dfd565b6101f06004803603602081101561044e57600080fd5b5035610e5e565b6101f06004803603606081101561046b57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561049657600080fd5b8201836020820111156104a857600080fd5b803590602001918460208302840111640100000000831117156104ca57600080fd5b9193909290916020810190356401000000008111156104e857600080fd5b8201836020820111156104fa57600080fd5b8035906020019184602083028401116401000000008311171561051c57600080fd5b509092509050610e79565b6105b76004803603608081101561053d57600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561057857600080fd5b82018360208201111561058a57600080fd5b803590602001918460018302840111640100000000831117156105ac57600080fd5b5090925090506111ad565b604080516001600160e01b03199092168252519081900360200190f35b6102b5600480360360208110156105ea57600080fd5b50356001600160a01b0316611263565b6101f06004803603604081101561061057600080fd5b506001600160a01b03813516906020013561127e565b6102b56004803603602081101561063c57600080fd5b50356001600160a01b031661128a565b6101f06004803603604081101561066257600080fd5b81019060208101813564010000000081111561067d57600080fd5b82018360208201111561068f57600080fd5b803590602001918460208302840111640100000000831117156106b157600080fd5b9193909290916020810190356401000000008111156106cf57600080fd5b8201836020820111156106e157600080fd5b8035906020019184602083028401116401000000008311171561070357600080fd5b50909250905061129c565b61020c6115ab565b6101f06004803603604081101561072c57600080fd5b506001600160a01b038135169060200135611609565b6101f06004803603604081101561075857600080fd5b506001600160a01b038135169060200135611678565b6101f06004803603608081101561078457600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156107bf57600080fd5b8201836020820111156107d157600080fd5b803590602001918460018302840111640100000000831117156107f357600080fd5b50909250905061168c565b610806611814565b604080516001600160a01b039092168252519081900360200190f35b6102b5611823565b6103dc6004803603604081101561084057600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561086b57600080fd5b82018360208201111561087d57600080fd5b8035906020019184600183028401116401000000008311171561089f57600080fd5b509092509050611847565b6103dc600480360360e08110156108c057600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561187d565b6102b56004803603604081101561091157600080fd5b506001600160a01b0381358116916020013516611afc565b6101f06004803603606081101561093f57600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561096f57600080fd5b82018360208201111561098157600080fd5b803590602001918460018302840111640100000000831117156109a357600080fd5b509092509050611b27565b60006109b982611cad565b806109c857506109c882611ceb565b92915050565b60018054604080516020601f60026000196101008789161502019095169490940493840181900481028201810190925282815260609390929091830182828015610a595780601f10610a2e57610100808354040283529160200191610a59565b820191906000526020600020905b815481529060010190602001808311610a3c57829003601f168201915b5050505050905090565b6000610a77610a70611d37565b8484611d3b565b50600192915050565b60065490565b6000610af585858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808902828101820190935288825290935088925087918291850190849080828437600092019190915250611df892505050565b506001949350505050565b6000610b15610b0d611d37565b858585611fb4565b5060019392505050565b6000610b29611d37565b9050610b358183611fe3565b604080516001600160a01b03831681526020810184905281517f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5929181900390910190a15050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000467f00000000000000000000000000000000000000000000000000000000000000008114610c675760018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152610c6293859391929091830182828015610c585780601f10610c2d57610100808354040283529160200191610c58565b820191906000526020600020905b815481529060010190602001808311610c3b57829003601f168201915b5050505050612022565b610c89565b7f00000000000000000000000000000000000000000000000000000000000000005b91505090565b60006001600160a01b038316610cec576040805162461bcd60e51b815260206004820152601b60248201527f45524332303a207a65726f2061646472657373207370656e6465720000000000604482015290519081900360640190fd5b6000610cf6611d37565b6001600160a01b038082166000908152600560209081526040808320938916835292905220549091508315610da757808401818111610d7c576040805162461bcd60e51b815260206004820152601960248201527f45524332303a20616c6c6f77616e6365206f766572666c6f7700000000000000604482015290519081900360640190fd5b6001600160a01b038084166000908152600560209081526040808320938a1683529290522081905590505b846001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3506001949350505050565b60038054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610a595780601f10610a2e57610100808354040283529160200191610a59565b6000610e71610e6b611d37565b836120ac565b506001919050565b600083828114610ed0576040805162461bcd60e51b815260206004820152601a60248201527f45524332303a20696e636f6e73697374656e7420617272617973000000000000604482015290519081900360640190fd5b6001600160a01b0387166000908152600460205260408120549080805b8481146110e25760008a8a83818110610f0257fe5b905060200201356001600160a01b0316905060006001600160a01b0316816001600160a01b03161415610f7c576040805162461bcd60e51b815260206004820152601660248201527f45524332303a20746f207a65726f206164647265737300000000000000000000604482015290519081900360640190fd5b6000898984818110610f8a57fe5b9050602002013590508060001461108d57848101858111610ff2576040805162461bcd60e51b815260206004820152601660248201527f45524332303a2076616c756573206f766572666c6f7700000000000000000000604482015290519081900360640190fd5b809550826001600160a01b03168e6001600160a01b031614611031576001600160a01b038316600090815260046020526040902080548301905561108b565b86821115611086576040805162461bcd60e51b815260206004820152601b60248201527f45524332303a20696e73756666696369656e742062616c616e63650000000000604482015290519081900360640190fd5b938101935b505b816001600160a01b03168d6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050600101610eed565b5081158015906110f25750808214155b1561116c5781830383811061114e576040805162461bcd60e51b815260206004820152601b60248201527f45524332303a20696e73756666696369656e742062616c616e63650000000000604482015290519081900360640190fd5b6001600160a01b038b16600090815260046020526040902090820190555b6000611176611d37565b9050806001600160a01b03168b6001600160a01b03161461119c5761119c8b828561218b565b5060019a9950505050505050505050565b6000333014611203576040805162461bcd60e51b815260206004820152601860248201527f4368696c6445524332303a2077726f6e672073656e6465720000000000000000604482015290519081900360640190fd5b61120d30856120ac565b604080516001600160a01b03871681526020810186905281517f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5929181900390910190a150634fc3585960e01b95945050505050565b6001600160a01b031660009081526004602052604090205490565b6000610a778383611fe3565b60006020819052908152604090205481565b6000838281146112f3576040805162461bcd60e51b815260206004820152601a60248201527f45524332303a20696e636f6e73697374656e7420617272617973000000000000604482015290519081900360640190fd5b60006112fd611d37565b6001600160a01b03811660009081526004602052604081205491925080805b8581146115115760008b8b8381811061133157fe5b905060200201356001600160a01b0316905060006001600160a01b0316816001600160a01b031614156113ab576040805162461bcd60e51b815260206004820152601660248201527f45524332303a20746f207a65726f206164647265737300000000000000000000604482015290519081900360640190fd5b60008a8a848181106113b957fe5b905060200201359050806000146114bc57848101858111611421576040805162461bcd60e51b815260206004820152601660248201527f45524332303a2076616c756573206f766572666c6f7700000000000000000000604482015290519081900360640190fd5b809550826001600160a01b0316886001600160a01b031614611460576001600160a01b03831660009081526004602052604090208054830190556114ba565b868211156114b5576040805162461bcd60e51b815260206004820152601b60248201527f45524332303a20696e73756666696369656e742062616c616e63650000000000604482015290519081900360640190fd5b938101935b505b816001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505060010161131c565b5081158015906115215750808214155b1561159b5781830383811061157d576040805162461bcd60e51b815260206004820152601b60248201527f45524332303a20696e73756666696369656e742062616c616e63650000000000604482015290519081900360640190fd5b6001600160a01b038516600090815260046020526040902090820190555b5060019998505050505050505050565b60028054604080516020601f6000196101006001871615020190941685900493840181900481028201810190925282815260609390929091830182828015610a595780601f10610a2e57610100808354040283529160200191610a59565b60006001600160a01b038316611666576040805162461bcd60e51b815260206004820152601b60248201527f45524332303a207a65726f2061646472657373207370656e6465720000000000604482015290519081900360640190fd5b610a77611671611d37565b848461218b565b6000610a77611685611d37565b848461229a565b600080611697611d37565b90506116a581888888611fb4565b6116b7866001600160a01b0316612401565b1561180757634fc3585960e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916866001600160a01b0316634fc35859838a8989896040518663ffffffff1660e01b815260040180866001600160a01b03168152602001856001600160a01b03168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050602060405180830381600087803b15801561177f57600080fd5b505af1158015611793573d6000803e3d6000fd5b505050506040513d60208110156117a957600080fd5b50516001600160e01b03191614611807576040805162461bcd60e51b815260206004820152601760248201527f45524332303a207472616e736665722072656675736564000000000000000000604482015290519081900360640190fd5b5060019695505050505050565b6007546001600160a01b031681565b7f000000000000000000000000000000000000000000000000000000000000000081565b611857611852611d37565b612407565b60008282602081101561186957600080fd5b50359050611877848261246c565b50505050565b6001600160a01b0387166118d8576040805162461bcd60e51b815260206004820152601960248201527f45524332303a207a65726f2061646472657373206f776e657200000000000000604482015290519081900360640190fd5b8342111561192d576040805162461bcd60e51b815260206004820152601560248201527f45524332303a2065787069726564207065726d69740000000000000000000000604482015290519081900360640190fd5b6001600160a01b0380881660008181526020818152604080832080546001810190915581517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98185015280830195909552948b166060850152608084018a905260a084019490945260c08084018990528451808503909101815260e090930190935281519190920120906119bf610ba1565b8260405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050600060018287878760405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611a73573d6000803e3d6000fd5b505050602060405103519050896001600160a01b0316816001600160a01b031614611ae5576040805162461bcd60e51b815260206004820152601560248201527f45524332303a20696e76616c6964207065726d69740000000000000000000000604482015290519081900360640190fd5b611af08a8a8a611d3b565b50505050505050505050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b600080611b32611d37565b9050611b3f81878761229a565b611b51866001600160a01b0316612401565b15611ca157634fc3585960e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916866001600160a01b0316634fc3585983848989896040518663ffffffff1660e01b815260040180866001600160a01b03168152602001856001600160a01b03168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050602060405180830381600087803b158015611c1957600080fd5b505af1158015611c2d573d6000803e3d6000fd5b505050506040513d6020811015611c4357600080fd5b50516001600160e01b03191614611ca1576040805162461bcd60e51b815260206004820152601760248201527f45524332303a207472616e736665722072656675736564000000000000000000604482015290519081900360640190fd5b50600195945050505050565b60006001600160e01b031982167f20c07ed10000000000000000000000000000000000000000000000000000000014806109c857506109c88261258f565b60006001600160e01b031982167f01ffc9a70000000000000000000000000000000000000000000000000000000014806109c85750506001600160e01b031916634fc3585960e01b1490565b3390565b6001600160a01b038216611d96576040805162461bcd60e51b815260206004820152601b60248201527f45524332303a207a65726f2061646472657373207370656e6465720000000000604482015290519081900360640190fd5b6001600160a01b03808416600081815260056020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b815181518114611e4f576040805162461bcd60e51b815260206004820152601a60248201527f45524332303a20696e636f6e73697374656e7420617272617973000000000000604482015290519081900360640190fd5b6000611e59611d37565b90506000805b838114611f9c576000868281518110611e7457fe5b602002602001015190506000868381518110611e8c57fe5b6020026020010151905080600014611f2d576001600160a01b038216600090815260046020526040902054818103818110611f0e576040805162461bcd60e51b815260206004820152601b60248201527f45524332303a20696e73756666696369656e742062616c616e63650000000000604482015290519081900360640190fd5b6001600160a01b03841660009081526004602052604090205550928301925b6040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3846001600160a01b0316826001600160a01b031614611f9257611f9282868361218b565b5050600101611e5f565b508015611fad576006805482900390555b5050505050565b611fbf83838361229a565b836001600160a01b0316836001600160a01b0316146118775761187783858361218b565b611fed82826120ac565b6000611ff7611d37565b9050806001600160a01b0316836001600160a01b03161461201d5761201d83828461218b565b505050565b8051602091820120604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81850152808201929092527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606083015260808201939093523060a0808301919091528351808303909101815260c0909101909252815191012090565b8015612146576001600160a01b038216600090815260046020526040902054818103818110612122576040805162461bcd60e51b815260206004820152601b60248201527f45524332303a20696e73756666696369656e742062616c616e63650000000000604482015290519081900360640190fd5b6001600160a01b038416600090815260046020526040902055506006805482900390555b6040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6001600160a01b0380841660009081526005602090815260408083209386168352929052205460001981148015906121c257508115155b156122495781810381811061221e576040805162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015290519081900360640190fd5b6001600160a01b03808616600090815260056020908152604080832093881683529290522081905590505b826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a350505050565b6001600160a01b0382166122f5576040805162461bcd60e51b815260206004820152601660248201527f45524332303a20746f207a65726f206164647265737300000000000000000000604482015290519081900360640190fd5b80156123b1576001600160a01b03831660009081526004602052604090205481810381811061236b576040805162461bcd60e51b815260206004820152601b60248201527f45524332303a20696e73756666696369656e742062616c616e63650000000000604482015290519081900360640190fd5b836001600160a01b0316856001600160a01b0316146123ae576001600160a01b038086166000908152600460205260408082208490559186168152208054840190555b50505b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b3b151590565b6007546001600160a01b03828116911614612469576040805162461bcd60e51b815260206004820152601a60248201527f4368696c6445524332303a206f6e6c79206465706f7369746f72000000000000604482015290519081900360640190fd5b50565b6001600160a01b0382166124c7576040805162461bcd60e51b815260206004820152601360248201527f45524332303a207a65726f206164647265737300000000000000000000000000604482015290519081900360640190fd5b600654811561254957808201818111612527576040805162461bcd60e51b815260206004820152601660248201527f45524332303a20737570706c79206f766572666c6f7700000000000000000000604482015290519081900360640190fd5b6006556001600160a01b03831660009081526004602052604090208054830190555b6040805183815290516001600160a01b038516916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3505050565b60006001600160e01b031982167f01ffc9a70000000000000000000000000000000000000000000000000000000014806125f257506001600160e01b031982167f36372b0700000000000000000000000000000000000000000000000000000000145b8061262657506001600160e01b031982167fa219a02500000000000000000000000000000000000000000000000000000000145b8061265a57506001600160e01b031982167f3c130d9000000000000000000000000000000000000000000000000000000000145b8061268e57506001600160e01b031982167f9d07518600000000000000000000000000000000000000000000000000000000145b806126c257506001600160e01b031982167fc05327e600000000000000000000000000000000000000000000000000000000145b806126f657506001600160e01b031982167f53f41a9700000000000000000000000000000000000000000000000000000000145b806109c85750506001600160e01b0319167f9d8ff7da00000000000000000000000000000000000000000000000000000000149056fea2646970667358221220d0a01a35125f846d62b34a80bc7343b91a493240f573450971819ba9b1e9631164736f6c63430007060033", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101c45760003560e01c806370a08231116100f9578063b88d4fde11610097578063cf2c52cb11610071578063cf2c52cb1461082a578063d505accf146108aa578063dd62ed3e146108fb578063eb79554914610929576101c4565b8063b88d4fde1461076e578063c8291d84146107fe578063cd0d009614610822576101c4565b806388d695b2116100d357806388d695b21461064c57806395d89b411461070e578063a457c2d714610716578063a9059cbb14610742576101c4565b806370a08231146105d457806379cc6790146105fa5780637ecebe0014610626576101c4565b8063313ce567116101665780633c130d90116101405780633c130d901461043057806342966c68146104385780634885b254146104555780634fc3585914610527576101c4565b8063313ce567146103de5780633644e515146103fc5780633950935114610404576101c4565b806318160ddd116101a257806318160ddd146102ad5780631b9a7529146102c757806323b872dd146103895780632e1a7d4d146103bf576101c4565b806301ffc9a7146101c957806306fdde0314610204578063095ea7b314610281575b600080fd5b6101f0600480360360208110156101df57600080fd5b50356001600160e01b0319166109ae565b604080519115158252519081900360200190f35b61020c6109ce565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561024657818101518382015260200161022e565b50505050905090810190601f1680156102735780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f06004803603604081101561029757600080fd5b506001600160a01b038135169060200135610a63565b6102b5610a80565b60408051918252519081900360200190f35b6101f0600480360360408110156102dd57600080fd5b8101906020810181356401000000008111156102f857600080fd5b82018360208201111561030a57600080fd5b8035906020019184602083028401116401000000008311171561032c57600080fd5b91939092909160208101903564010000000081111561034a57600080fd5b82018360208201111561035c57600080fd5b8035906020019184602083028401116401000000008311171561037e57600080fd5b509092509050610a86565b6101f06004803603606081101561039f57600080fd5b506001600160a01b03813581169160208101359091169060400135610b00565b6103dc600480360360208110156103d557600080fd5b5035610b1f565b005b6103e6610b7d565b6040805160ff9092168252519081900360200190f35b6102b5610ba1565b6101f06004803603604081101561041a57600080fd5b506001600160a01b038135169060200135610c8f565b61020c610dfd565b6101f06004803603602081101561044e57600080fd5b5035610e5e565b6101f06004803603606081101561046b57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561049657600080fd5b8201836020820111156104a857600080fd5b803590602001918460208302840111640100000000831117156104ca57600080fd5b9193909290916020810190356401000000008111156104e857600080fd5b8201836020820111156104fa57600080fd5b8035906020019184602083028401116401000000008311171561051c57600080fd5b509092509050610e79565b6105b76004803603608081101561053d57600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561057857600080fd5b82018360208201111561058a57600080fd5b803590602001918460018302840111640100000000831117156105ac57600080fd5b5090925090506111ad565b604080516001600160e01b03199092168252519081900360200190f35b6102b5600480360360208110156105ea57600080fd5b50356001600160a01b0316611263565b6101f06004803603604081101561061057600080fd5b506001600160a01b03813516906020013561127e565b6102b56004803603602081101561063c57600080fd5b50356001600160a01b031661128a565b6101f06004803603604081101561066257600080fd5b81019060208101813564010000000081111561067d57600080fd5b82018360208201111561068f57600080fd5b803590602001918460208302840111640100000000831117156106b157600080fd5b9193909290916020810190356401000000008111156106cf57600080fd5b8201836020820111156106e157600080fd5b8035906020019184602083028401116401000000008311171561070357600080fd5b50909250905061129c565b61020c6115ab565b6101f06004803603604081101561072c57600080fd5b506001600160a01b038135169060200135611609565b6101f06004803603604081101561075857600080fd5b506001600160a01b038135169060200135611678565b6101f06004803603608081101561078457600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156107bf57600080fd5b8201836020820111156107d157600080fd5b803590602001918460018302840111640100000000831117156107f357600080fd5b50909250905061168c565b610806611814565b604080516001600160a01b039092168252519081900360200190f35b6102b5611823565b6103dc6004803603604081101561084057600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561086b57600080fd5b82018360208201111561087d57600080fd5b8035906020019184600183028401116401000000008311171561089f57600080fd5b509092509050611847565b6103dc600480360360e08110156108c057600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561187d565b6102b56004803603604081101561091157600080fd5b506001600160a01b0381358116916020013516611afc565b6101f06004803603606081101561093f57600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561096f57600080fd5b82018360208201111561098157600080fd5b803590602001918460018302840111640100000000831117156109a357600080fd5b509092509050611b27565b60006109b982611cad565b806109c857506109c882611ceb565b92915050565b60018054604080516020601f60026000196101008789161502019095169490940493840181900481028201810190925282815260609390929091830182828015610a595780601f10610a2e57610100808354040283529160200191610a59565b820191906000526020600020905b815481529060010190602001808311610a3c57829003601f168201915b5050505050905090565b6000610a77610a70611d37565b8484611d3b565b50600192915050565b60065490565b6000610af585858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808902828101820190935288825290935088925087918291850190849080828437600092019190915250611df892505050565b506001949350505050565b6000610b15610b0d611d37565b858585611fb4565b5060019392505050565b6000610b29611d37565b9050610b358183611fe3565b604080516001600160a01b03831681526020810184905281517f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5929181900390910190a15050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000467f00000000000000000000000000000000000000000000000000000000000000008114610c675760018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152610c6293859391929091830182828015610c585780601f10610c2d57610100808354040283529160200191610c58565b820191906000526020600020905b815481529060010190602001808311610c3b57829003601f168201915b5050505050612022565b610c89565b7f00000000000000000000000000000000000000000000000000000000000000005b91505090565b60006001600160a01b038316610cec576040805162461bcd60e51b815260206004820152601b60248201527f45524332303a207a65726f2061646472657373207370656e6465720000000000604482015290519081900360640190fd5b6000610cf6611d37565b6001600160a01b038082166000908152600560209081526040808320938916835292905220549091508315610da757808401818111610d7c576040805162461bcd60e51b815260206004820152601960248201527f45524332303a20616c6c6f77616e6365206f766572666c6f7700000000000000604482015290519081900360640190fd5b6001600160a01b038084166000908152600560209081526040808320938a1683529290522081905590505b846001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3506001949350505050565b60038054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610a595780601f10610a2e57610100808354040283529160200191610a59565b6000610e71610e6b611d37565b836120ac565b506001919050565b600083828114610ed0576040805162461bcd60e51b815260206004820152601a60248201527f45524332303a20696e636f6e73697374656e7420617272617973000000000000604482015290519081900360640190fd5b6001600160a01b0387166000908152600460205260408120549080805b8481146110e25760008a8a83818110610f0257fe5b905060200201356001600160a01b0316905060006001600160a01b0316816001600160a01b03161415610f7c576040805162461bcd60e51b815260206004820152601660248201527f45524332303a20746f207a65726f206164647265737300000000000000000000604482015290519081900360640190fd5b6000898984818110610f8a57fe5b9050602002013590508060001461108d57848101858111610ff2576040805162461bcd60e51b815260206004820152601660248201527f45524332303a2076616c756573206f766572666c6f7700000000000000000000604482015290519081900360640190fd5b809550826001600160a01b03168e6001600160a01b031614611031576001600160a01b038316600090815260046020526040902080548301905561108b565b86821115611086576040805162461bcd60e51b815260206004820152601b60248201527f45524332303a20696e73756666696369656e742062616c616e63650000000000604482015290519081900360640190fd5b938101935b505b816001600160a01b03168d6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050600101610eed565b5081158015906110f25750808214155b1561116c5781830383811061114e576040805162461bcd60e51b815260206004820152601b60248201527f45524332303a20696e73756666696369656e742062616c616e63650000000000604482015290519081900360640190fd5b6001600160a01b038b16600090815260046020526040902090820190555b6000611176611d37565b9050806001600160a01b03168b6001600160a01b03161461119c5761119c8b828561218b565b5060019a9950505050505050505050565b6000333014611203576040805162461bcd60e51b815260206004820152601860248201527f4368696c6445524332303a2077726f6e672073656e6465720000000000000000604482015290519081900360640190fd5b61120d30856120ac565b604080516001600160a01b03871681526020810186905281517f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5929181900390910190a150634fc3585960e01b95945050505050565b6001600160a01b031660009081526004602052604090205490565b6000610a778383611fe3565b60006020819052908152604090205481565b6000838281146112f3576040805162461bcd60e51b815260206004820152601a60248201527f45524332303a20696e636f6e73697374656e7420617272617973000000000000604482015290519081900360640190fd5b60006112fd611d37565b6001600160a01b03811660009081526004602052604081205491925080805b8581146115115760008b8b8381811061133157fe5b905060200201356001600160a01b0316905060006001600160a01b0316816001600160a01b031614156113ab576040805162461bcd60e51b815260206004820152601660248201527f45524332303a20746f207a65726f206164647265737300000000000000000000604482015290519081900360640190fd5b60008a8a848181106113b957fe5b905060200201359050806000146114bc57848101858111611421576040805162461bcd60e51b815260206004820152601660248201527f45524332303a2076616c756573206f766572666c6f7700000000000000000000604482015290519081900360640190fd5b809550826001600160a01b0316886001600160a01b031614611460576001600160a01b03831660009081526004602052604090208054830190556114ba565b868211156114b5576040805162461bcd60e51b815260206004820152601b60248201527f45524332303a20696e73756666696369656e742062616c616e63650000000000604482015290519081900360640190fd5b938101935b505b816001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505060010161131c565b5081158015906115215750808214155b1561159b5781830383811061157d576040805162461bcd60e51b815260206004820152601b60248201527f45524332303a20696e73756666696369656e742062616c616e63650000000000604482015290519081900360640190fd5b6001600160a01b038516600090815260046020526040902090820190555b5060019998505050505050505050565b60028054604080516020601f6000196101006001871615020190941685900493840181900481028201810190925282815260609390929091830182828015610a595780601f10610a2e57610100808354040283529160200191610a59565b60006001600160a01b038316611666576040805162461bcd60e51b815260206004820152601b60248201527f45524332303a207a65726f2061646472657373207370656e6465720000000000604482015290519081900360640190fd5b610a77611671611d37565b848461218b565b6000610a77611685611d37565b848461229a565b600080611697611d37565b90506116a581888888611fb4565b6116b7866001600160a01b0316612401565b1561180757634fc3585960e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916866001600160a01b0316634fc35859838a8989896040518663ffffffff1660e01b815260040180866001600160a01b03168152602001856001600160a01b03168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050602060405180830381600087803b15801561177f57600080fd5b505af1158015611793573d6000803e3d6000fd5b505050506040513d60208110156117a957600080fd5b50516001600160e01b03191614611807576040805162461bcd60e51b815260206004820152601760248201527f45524332303a207472616e736665722072656675736564000000000000000000604482015290519081900360640190fd5b5060019695505050505050565b6007546001600160a01b031681565b7f000000000000000000000000000000000000000000000000000000000000000081565b611857611852611d37565b612407565b60008282602081101561186957600080fd5b50359050611877848261246c565b50505050565b6001600160a01b0387166118d8576040805162461bcd60e51b815260206004820152601960248201527f45524332303a207a65726f2061646472657373206f776e657200000000000000604482015290519081900360640190fd5b8342111561192d576040805162461bcd60e51b815260206004820152601560248201527f45524332303a2065787069726564207065726d69740000000000000000000000604482015290519081900360640190fd5b6001600160a01b0380881660008181526020818152604080832080546001810190915581517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98185015280830195909552948b166060850152608084018a905260a084019490945260c08084018990528451808503909101815260e090930190935281519190920120906119bf610ba1565b8260405160200180807f1901000000000000000000000000000000000000000000000000000000000000815250600201838152602001828152602001925050506040516020818303038152906040528051906020012090506000600182878787604051600081526