More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 30 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Fight Agon | 6075680 | 2294 days ago | IN | 0 ETH | 0.00009658 | ||||
Cancel Agon | 6054939 | 2297 days ago | IN | 0 ETH | 0.00003009 | ||||
Fight Agon | 6054744 | 2297 days ago | IN | 0 ETH | 0.00012867 | ||||
Cancel Agon | 5851739 | 2332 days ago | IN | 0 ETH | 0.00045136 | ||||
Cancel Agon | 5851736 | 2332 days ago | IN | 0 ETH | 0.00045688 | ||||
Cancel Agon | 5804542 | 2340 days ago | IN | 0 ETH | 0.000054 | ||||
Fight Agon | 5792590 | 2342 days ago | IN | 0 ETH | 0.00045144 | ||||
Fight Agon | 5786545 | 2343 days ago | IN | 0 ETH | 0.00042495 | ||||
Fight Agon | 5786483 | 2343 days ago | IN | 0 ETH | 0.000213 | ||||
Fight Agon | 5781332 | 2344 days ago | IN | 0 ETH | 0.00026816 | ||||
Fight Agon | 5776510 | 2345 days ago | IN | 0 ETH | 0.00023225 | ||||
Fight Agon | 5776496 | 2345 days ago | IN | 0 ETH | 0.00032174 | ||||
Fight Agon | 5776486 | 2345 days ago | IN | 0 ETH | 0.00035639 | ||||
Fight Agon | 5776472 | 2345 days ago | IN | 0 ETH | 0.00035958 | ||||
Fight Agon | 5765997 | 2347 days ago | IN | 0 ETH | 0.00043823 | ||||
Fight Agon | 5765406 | 2347 days ago | IN | 0 ETH | 0.00019354 | ||||
Fight Agon | 5765403 | 2347 days ago | IN | 0 ETH | 0.00035269 | ||||
Fight Agon | 5765394 | 2347 days ago | IN | 0 ETH | 0.00035582 | ||||
Fight Agon | 5764708 | 2347 days ago | IN | 0 ETH | 0.00040882 | ||||
Fight Agon | 5752886 | 2349 days ago | IN | 0 ETH | 0.00033897 | ||||
Fight Agon | 5746523 | 2350 days ago | IN | 0 ETH | 0.00038696 | ||||
Fight Agon | 5727421 | 2354 days ago | IN | 0 ETH | 0.00015452 | ||||
Fight Agon | 5692446 | 2360 days ago | IN | 0 ETH | 0.00057948 | ||||
Fight Agon | 5691970 | 2360 days ago | IN | 0 ETH | 0.00058063 | ||||
Fight Agon | 5691963 | 2360 days ago | IN | 0 ETH | 0.00105828 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
ActionAgonPlat
Compiler Version
v0.4.21+commit.dfe3193c
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-05-28 */ /* ==================================================================== */ /* Copyright (c) 2018 The ether.online Project. All rights reserved. /* /* https://ether.online The first RPG game of blockchain /* /* authors [email protected] /* [email protected] /* ==================================================================== */ pragma solidity ^0.4.20; contract AccessAdmin { bool public isPaused = false; address public addrAdmin; event AdminTransferred(address indexed preAdmin, address indexed newAdmin); function AccessAdmin() public { addrAdmin = msg.sender; } modifier onlyAdmin() { require(msg.sender == addrAdmin); _; } modifier whenNotPaused() { require(!isPaused); _; } modifier whenPaused { require(isPaused); _; } function setAdmin(address _newAdmin) external onlyAdmin { require(_newAdmin != address(0)); AdminTransferred(addrAdmin, _newAdmin); addrAdmin = _newAdmin; } function doPause() external onlyAdmin whenNotPaused { isPaused = true; } function doUnpause() external onlyAdmin whenPaused { isPaused = false; } } contract AccessService is AccessAdmin { address public addrService; address public addrFinance; modifier onlyService() { require(msg.sender == addrService); _; } modifier onlyFinance() { require(msg.sender == addrFinance); _; } function setService(address _newService) external { require(msg.sender == addrService || msg.sender == addrAdmin); require(_newService != address(0)); addrService = _newService; } function setFinance(address _newFinance) external { require(msg.sender == addrFinance || msg.sender == addrAdmin); require(_newFinance != address(0)); addrFinance = _newFinance; } function withdraw(address _target, uint256 _amount) external { require(msg.sender == addrFinance || msg.sender == addrAdmin); require(_amount > 0); address receiver = _target == address(0) ? addrFinance : _target; uint256 balance = this.balance; if (_amount < balance) { receiver.transfer(_amount); } else { receiver.transfer(this.balance); } } } /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; assert(c / a == b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } interface IBitGuildToken { function transfer(address _to, uint256 _value) external; function transferFrom(address _from, address _to, uint256 _value) external returns (bool); function approve(address _spender, uint256 _value) external; function approveAndCall(address _spender, uint256 _value, bytes _extraData) external returns (bool); function balanceOf(address _from) external view returns(uint256); } interface IAgonFight { function calcFight(uint64 _mFlag, uint64 _cFlag, uint256 _aSeed, uint256 _fSeed) external pure returns(uint64); } contract ActionAgonPlat is AccessService { using SafeMath for uint256; event CreateAgonPlat(uint64 indexed agonId, address indexed master, uint64 indexed outFlag); event CancelAgonPlat(uint64 indexed agonId, address indexed master, uint64 indexed outFlag); event ChallengeAgonPlat(uint64 indexed agonId, address indexed master, uint64 indexed outFlag, address challenger); event ResolveAgonPlat(uint64 indexed agonId, address indexed master, uint64 indexed outFlag, address challenger); struct Agon { address master; address challenger; uint64 agonPrice; uint64 outFlag; uint64 agonFlag; uint64 result; // 1-win, 2-lose, 99-cancel } Agon[] agonArray; IAgonFight fightContract; IBitGuildToken public bitGuildContract; mapping (address => uint64[]) public ownerToAgonIdArray; uint256 public maxAgonCount = 6; uint256 public maxResolvedAgonId = 0; uint256[5] public agonValues; function ActionAgonPlat(address _platAddr) public { addrAdmin = msg.sender; addrService = msg.sender; addrFinance = msg.sender; bitGuildContract = IBitGuildToken(_platAddr); Agon memory order = Agon(0, 0, 0, 0, 1, 1); agonArray.push(order); agonValues[0] = 3000000000000000000000; agonValues[1] = 12000000000000000000000; agonValues[2] = 30000000000000000000000; agonValues[3] = 60000000000000000000000; agonValues[4] = 120000000000000000000000; } function() external {} function setMaxAgonCount(uint256 _count) external onlyAdmin { require(_count > 0 && _count < 20); require(_count != maxAgonCount); maxAgonCount = _count; } function setAgonFight(address _addr) external onlyAdmin { fightContract = IAgonFight(_addr); } function setMaxResolvedAgonId() external { uint256 length = agonArray.length; for (uint256 i = maxResolvedAgonId; i < length; ++i) { if (agonArray[i].result == 0) { maxResolvedAgonId = i - 1; break; } } } function setAgonValues(uint256[5] values) external onlyAdmin { require(values[0] >= 100); require(values[1] >= values[0]); require(values[2] >= values[1]); require(values[3] >= values[2]); require(values[4] >= values[3]); require(values[4] <= 600000); require(values[0] % 100 == 0); require(values[1] % 100 == 0); require(values[2] % 100 == 0); require(values[3] % 100 == 0); require(values[4] % 100 == 0); agonValues[0] = values[0].mul(1000000000000000000); agonValues[1] = values[1].mul(1000000000000000000); agonValues[2] = values[2].mul(1000000000000000000); agonValues[3] = values[3].mul(1000000000000000000); agonValues[4] = values[4].mul(1000000000000000000); } function _getExtraParam(bytes _extraData) internal pure returns(uint64 p1, uint64 p2, uint64 p3) { p1 = uint64(_extraData[0]); p2 = uint64(_extraData[1]); uint64 index = 2; uint256 val = 0; uint256 length = _extraData.length; while (index < length) { val += (uint256(_extraData[index]) * (256 ** (length - index - 1))); index += 1; } p3 = uint64(val); } function receiveApproval(address _sender, uint256 _value, address _tokenContract, bytes _extraData) external whenNotPaused { require(msg.sender == address(bitGuildContract)); require(_extraData.length > 2 && _extraData.length <= 10); var (p1, p2, p3) = _getExtraParam(_extraData); if (p1 == 0) { _newAgon(p3, p2, _sender, _value); } else if (p1 == 1) { _newChallenge(p3, p2, _sender, _value); } else { require(false); } } function _newAgon(uint64 _outFlag, uint64 _valId, address _sender, uint256 _value) internal { require(ownerToAgonIdArray[_sender].length < maxAgonCount); require(_valId >= 0 && _valId <= 4); require(_value == agonValues[_valId]); require(bitGuildContract.transferFrom(_sender, address(this), _value)); uint64 newAgonId = uint64(agonArray.length); agonArray.length += 1; Agon storage agon = agonArray[newAgonId]; agon.master = _sender; agon.agonPrice = uint64(_value.div(1000000000000000000)); agon.outFlag = _outFlag; ownerToAgonIdArray[_sender].push(newAgonId); CreateAgonPlat(uint64(newAgonId), _sender, _outFlag); } function _removeAgonIdByOwner(address _owner, uint64 _agonId) internal { uint64[] storage agonIdArray = ownerToAgonIdArray[_owner]; uint256 length = agonIdArray.length; require(length > 0); uint256 findIndex = 99; for (uint256 i = 0; i < length; ++i) { if (_agonId == agonIdArray[i]) { findIndex = i; } } require(findIndex != 99); if (findIndex != (length - 1)) { agonIdArray[findIndex] = agonIdArray[length - 1]; } agonIdArray.length -= 1; } function cancelAgon(uint64 _agonId) external { require(_agonId < agonArray.length); Agon storage agon = agonArray[_agonId]; require(agon.result == 0); require(agon.challenger == address(0)); require(agon.master == msg.sender); agon.result = 99; _removeAgonIdByOwner(msg.sender, _agonId); bitGuildContract.transfer(msg.sender, uint256(agon.agonPrice).mul(1000000000000000000)); CancelAgonPlat(_agonId, msg.sender, agon.outFlag); } function cancelAgonForce(uint64 _agonId) external onlyService { require(_agonId < agonArray.length); Agon storage agon = agonArray[_agonId]; require(agon.result == 0); require(agon.challenger == address(0)); agon.result = 99; _removeAgonIdByOwner(agon.master, _agonId); bitGuildContract.transfer(agon.master, uint256(agon.agonPrice).mul(1000000000000000000)); CancelAgonPlat(_agonId, agon.master, agon.outFlag); } function _newChallenge(uint64 _agonId, uint64 _flag, address _sender, uint256 _value) internal { require(_agonId < agonArray.length); Agon storage agon = agonArray[_agonId]; require(agon.result == 0); require(agon.master != _sender); require(uint256(agon.agonPrice).mul(1000000000000000000) == _value); require(agon.challenger == address(0)); require(bitGuildContract.transferFrom(_sender, address(this), _value)); agon.challenger = _sender; agon.agonFlag = _flag; ChallengeAgonPlat(_agonId, agon.master, agon.outFlag, _sender); } function fightAgon(uint64 _agonId, uint64 _mFlag, uint256 _aSeed, uint256 _fSeed) external onlyService { require(_agonId < agonArray.length); Agon storage agon = agonArray[_agonId]; require(agon.result == 0 && agon.challenger != address(0)); require(fightContract != address(0)); uint64 fRet = fightContract.calcFight(_mFlag, agon.agonFlag, _aSeed, _fSeed); require(fRet == 1 || fRet == 2); agon.result = fRet; _removeAgonIdByOwner(agon.master, _agonId); uint256 devCut = uint256(agon.agonPrice).div(10); uint256 winVal = uint256(agon.agonPrice).mul(2).sub(devCut); if (fRet == 1) { bitGuildContract.transfer(agon.master, winVal.mul(1000000000000000000)); } else { bitGuildContract.transfer(agon.challenger, winVal.mul(1000000000000000000)); } ResolveAgonPlat(_agonId, agon.master, agon.outFlag, agon.challenger); } function getPlatBalance() external view returns(uint256) { return bitGuildContract.balanceOf(this); } function withdrawPlat() external { require(msg.sender == addrFinance || msg.sender == addrAdmin); uint256 balance = bitGuildContract.balanceOf(this); require(balance > 0); bitGuildContract.transfer(addrFinance, balance); } function getAgon(uint256 _agonId) external view returns( address master, address challenger, uint64 agonPrice, uint64 outFlag, uint64 agonFlag, uint64 result ) { require(_agonId < agonArray.length); Agon memory agon = agonArray[_agonId]; master = agon.master; challenger = agon.challenger; agonPrice = agon.agonPrice; outFlag = agon.outFlag; agonFlag = agon.agonFlag; result = agon.result; } function getAgonArray(uint64 _startAgonId, uint64 _count) external view returns( uint64[] agonIds, address[] masters, address[] challengers, uint64[] agonPrices, uint64[] agonOutFlags, uint64[] agonFlags, uint64[] results ) { uint64 length = uint64(agonArray.length); require(_startAgonId < length); require(_startAgonId > 0); uint256 maxLen; if (_count == 0) { maxLen = length - _startAgonId; } else { maxLen = (length - _startAgonId) >= _count ? _count : (length - _startAgonId); } agonIds = new uint64[](maxLen); masters = new address[](maxLen); challengers = new address[](maxLen); agonPrices = new uint64[](maxLen); agonOutFlags = new uint64[](maxLen); agonFlags = new uint64[](maxLen); results = new uint64[](maxLen); uint256 counter = 0; for (uint64 i = _startAgonId; i < length; ++i) { Agon storage tmpAgon = agonArray[i]; agonIds[counter] = i; masters[counter] = tmpAgon.master; challengers[counter] = tmpAgon.challenger; agonPrices[counter] = tmpAgon.agonPrice; agonOutFlags[counter] = tmpAgon.outFlag; agonFlags[counter] = tmpAgon.agonFlag; results[counter] = tmpAgon.result; counter += 1; if (counter >= maxLen) { break; } } } function getMaxAgonId() external view returns(uint256) { return agonArray.length - 1; } function getAgonIdArray(address _owner) external view returns(uint64[]) { return ownerToAgonIdArray[_owner]; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[{"name":"_startAgonId","type":"uint64"},{"name":"_count","type":"uint64"}],"name":"getAgonArray","outputs":[{"name":"agonIds","type":"uint64[]"},{"name":"masters","type":"address[]"},{"name":"challengers","type":"address[]"},{"name":"agonPrices","type":"uint64[]"},{"name":"agonOutFlags","type":"uint64[]"},{"name":"agonFlags","type":"uint64[]"},{"name":"results","type":"uint64[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"values","type":"uint256[5]"}],"name":"setAgonValues","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getPlatBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"setAgonFight","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"maxAgonCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"doUnpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"ownerToAgonIdArray","outputs":[{"name":"","type":"uint64"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawPlat","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_agonId","type":"uint256"}],"name":"getAgon","outputs":[{"name":"master","type":"address"},{"name":"challenger","type":"address"},{"name":"agonPrice","type":"uint64"},{"name":"outFlag","type":"uint64"},{"name":"agonFlag","type":"uint64"},{"name":"result","type":"uint64"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_agonId","type":"uint64"}],"name":"cancelAgonForce","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"doPause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"getAgonIdArray","outputs":[{"name":"","type":"uint64[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newAdmin","type":"address"}],"name":"setAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"agonValues","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"setMaxResolvedAgonId","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_count","type":"uint256"}],"name":"setMaxAgonCount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"addrFinance","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxResolvedAgonId","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_tokenContract","type":"address"},{"name":"_extraData","type":"bytes"}],"name":"receiveApproval","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newFinance","type":"address"}],"name":"setFinance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"bitGuildContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isPaused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getMaxAgonId","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newService","type":"address"}],"name":"setService","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"addrAdmin","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"addrService","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_agonId","type":"uint64"}],"name":"cancelAgon","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_target","type":"address"},{"name":"_amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_agonId","type":"uint64"},{"name":"_mFlag","type":"uint64"},{"name":"_aSeed","type":"uint256"},{"name":"_fSeed","type":"uint256"}],"name":"fightAgon","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_platAddr","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"agonId","type":"uint64"},{"indexed":true,"name":"master","type":"address"},{"indexed":true,"name":"outFlag","type":"uint64"}],"name":"CreateAgonPlat","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"agonId","type":"uint64"},{"indexed":true,"name":"master","type":"address"},{"indexed":true,"name":"outFlag","type":"uint64"}],"name":"CancelAgonPlat","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"agonId","type":"uint64"},{"indexed":true,"name":"master","type":"address"},{"indexed":true,"name":"outFlag","type":"uint64"},{"indexed":false,"name":"challenger","type":"address"}],"name":"ChallengeAgonPlat","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"agonId","type":"uint64"},{"indexed":true,"name":"master","type":"address"},{"indexed":true,"name":"outFlag","type":"uint64"},{"indexed":false,"name":"challenger","type":"address"}],"name":"ResolveAgonPlat","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"preAdmin","type":"address"},{"indexed":true,"name":"newAdmin","type":"address"}],"name":"AdminTransferred","type":"event"}]
Contract Creation Code
60606040526000805460ff19168155600660075560085534156200002257600080fd5b6040516020806200281583398101604052808051915062000044905062000251565b6000805461010060a860020a031990811661010033600160a060020a0390811691820292831790931690911790925560018054600160a060020a031990811684179091556002805482169093179092556005805490921690841617905560c06040519081016040908152600080835260208301819052908201819052606082015260016080820181905260a082018190526003805492935091908101620000ec838262000286565b6000928352602090922083916003020181518154600160a060020a031916600160a060020a03919091161781556020820151600182018054600160a060020a031916600160a060020a039290921691909117905560408201518160010160146101000a8154816001604060020a0302191690836001604060020a03160217905550606082015160028201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160020160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a082015160029190910180546001604060020a0390921670010000000000000000000000000000000002608060020a60c060020a0319909216919091179055505068a2a15d09519be00000600955505069028a857425466f800000600a5569065a4da25d3016c00000600b55690cb49b44ba602d800000600c55691969368974c05b000000600d5562000324565b60c06040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a082015290565b815481835581811511620002b557600302816003028360005260206000209182019101620002b59190620002ba565b505050565b6200032191905b808211156200031d578054600160a060020a03191681556001810180547fffffffff00000000000000000000000000000000000000000000000000000000169055600281018054600160c060020a0319169055600301620002c1565b5090565b90565b6124e180620003346000396000f30060606040526004361061015b5763ffffffff60e060020a6000350416631531076c811461016857806316512624146103805780631a3ae67a14610395578063271a50db146103ba57806328b6c658146103d957806330efb8d3146103ec5780633407dd24146103ff57806351784a751461043e578063549c7b58146104515780636044ce6e146104b657806367d0661d146104d65780636d57e2a9146104e9578063704b6c021461055b578063748c350b1461057a578063750240a21461059057806379859a78146105a357806382cb9df9146105b957806388753343146105e85780638f4ffcb1146105fb5780639b8d306414610631578063b0d997d914610650578063b187bd2614610663578063b9aa82361461068a578063bf8bdac11461069d578063bfae2f0e146106bc578063cdd977e0146106cf578063f0af7e65146106e2578063f3fef3a314610702578063f696c4ed14610724575b341561016657600080fd5b005b341561017357600080fd5b61018e67ffffffffffffffff60043581169060243516610750565b604051808060200180602001806020018060200180602001806020018060200188810388528f818151815260200191508051906020019060200280838360005b838110156101e65780820151838201526020016101ce565b5050505090500188810387528e818151815260200191508051906020019060200280838360005b8381101561022557808201518382015260200161020d565b5050505090500188810386528d818151815260200191508051906020019060200280838360005b8381101561026457808201518382015260200161024c565b5050505090500188810385528c818151815260200191508051906020019060200280838360005b838110156102a357808201518382015260200161028b565b5050505090500188810384528b818151815260200191508051906020019060200280838360005b838110156102e25780820151838201526020016102ca565b5050505090500188810383528a818151815260200191508051906020019060200280838360005b83811015610321578082015183820152602001610309565b50505050905001888103825289818151815260200191508051906020019060200280838360005b83811015610360578082015183820152602001610348565b505050509050019e50505050505050505050505050505060405180910390f35b341561038b57600080fd5b6101666004610abc565b34156103a057600080fd5b6103a8610c2a565b60405190815260200160405180910390f35b34156103c557600080fd5b610166600160a060020a0360043516610c99565b34156103e457600080fd5b6103a8610ce8565b34156103f757600080fd5b610166610cee565b341561040a57600080fd5b610421600160a060020a0360043516602435610d2b565b60405167ffffffffffffffff909116815260200160405180910390f35b341561044957600080fd5b610166610d77565b341561045c57600080fd5b610467600435610e9a565b604051600160a060020a03968716815294909516602085015267ffffffffffffffff928316604080860191909152918316606085015282166080840152921660a082015260c001905180910390f35b34156104c157600080fd5b61016667ffffffffffffffff60043516610f7b565b34156104e157600080fd5b610166611145565b34156104f457600080fd5b610508600160a060020a0360043516611184565b60405160208082528190810183818151815260200191508051906020019060200280838360005b8381101561054757808201518382015260200161052f565b505050509050019250505060405180910390f35b341561056657600080fd5b610166600160a060020a036004351661123b565b341561058557600080fd5b6103a86004356112e6565b341561059b57600080fd5b6101666112fa565b34156105ae57600080fd5b61016660043561135b565b34156105c457600080fd5b6105cc6113aa565b604051600160a060020a03909116815260200160405180910390f35b34156105f357600080fd5b6103a86113b9565b341561060657600080fd5b61016660048035600160a060020a0390811691602480359260443516916064359182019101356113bf565b341561063c57600080fd5b610166600160a060020a036004351661149b565b341561065b57600080fd5b6105cc61151a565b341561066e57600080fd5b610676611529565b604051901515815260200160405180910390f35b341561069557600080fd5b6103a8611532565b34156106a857600080fd5b610166600160a060020a036004351661153c565b34156106c757600080fd5b6105cc6115bb565b34156106da57600080fd5b6105cc6115cf565b34156106ed57600080fd5b61016667ffffffffffffffff600435166115de565b341561070d57600080fd5b610166600160a060020a0360043516602435611797565b341561072f57600080fd5b61016667ffffffffffffffff6004358116906024351660443560643561188f565b61075861236d565b61076061236d565b61076861236d565b61077061236d565b61077861236d565b61078061236d565b61078861236d565b600354600080808067ffffffffffffffff808616908f16106107a957600080fd5b600067ffffffffffffffff8f16116107c057600080fd5b67ffffffffffffffff8d1615156107e5578d850367ffffffffffffffff16935061081a565b8c67ffffffffffffffff168e860367ffffffffffffffff16101561080b578d850361080d565b8c5b67ffffffffffffffff1693505b836040518059106108285750595b90808252806020026020018201604052509b50836040518059106108495750595b90808252806020026020018201604052509a508360405180591061086a5750595b908082528060200260200182016040525099508360405180591061088b5750595b90808252806020026020018201604052509850836040518059106108ac5750595b90808252806020026020018201604052509750836040518059106108cd5750595b90808252806020026020018201604052509650836040518059106108ee5750595b90808252806020026020018201604052509550600092508d91505b8467ffffffffffffffff168267ffffffffffffffff161015610aab576003805467ffffffffffffffff841690811061093d57fe5b90600052602060002090600302019050818c848151811061095a57fe5b67ffffffffffffffff9092166020928302909101909101528054600160a060020a03168b848151811061098957fe5b600160a060020a03928316602091820290920101526001820154168a84815181106109b057fe5b600160a060020a03909216602092830290910190910152600181015467ffffffffffffffff60a060020a909104168984815181106109ea57fe5b67ffffffffffffffff92831660209182029092010152600282015416888481518110610a1257fe5b67ffffffffffffffff92831660209182029092010152600282015468010000000000000000900416878481518110610a4657fe5b67ffffffffffffffff928316602091820290920101526002820154608060020a900416868481518110610a7557fe5b67ffffffffffffffff90921660209283029091019091015260019290920191838310610aa057610aab565b816001019150610909565b505050505092959891949750929550565b60005433600160a060020a039081166101009092041614610adc57600080fd5b606481351015610aeb57600080fd5b803560208201351015610afd57600080fd5b602081013560408201351015610b1257600080fd5b604081013560608201351015610b2757600080fd5b606081013560808201351015610b3c57600080fd5b620927c060808201351115610b5057600080fd5b606481350615610b5f57600080fd5b606460208201350615610b7157600080fd5b606460408201350615610b8357600080fd5b606460608201350615610b9557600080fd5b606460808201350615610ba757600080fd5b610bc8670de0b6b3a76400008260005b60200201359063ffffffff611c4c16565b600955610bdf670de0b6b3a7640000826001610bb7565b600a55610bf6670de0b6b3a7640000826002610bb7565b600b55610c0d670de0b6b3a7640000826003610bb7565b600c55610c24670de0b6b3a7640000826004610bb7565b600d5550565b600554600090600160a060020a03166370a082313060405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610c7d57600080fd5b5af11515610c8a57600080fd5b50505060405180519150505b90565b60005433600160a060020a039081166101009092041614610cb957600080fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60075481565b60005433600160a060020a039081166101009092041614610d0e57600080fd5b60005460ff161515610d1f57600080fd5b6000805460ff19169055565b600660205281600052604060002081815481101515610d4657fe5b9060005260206000209060049182820401919006600802915091509054906101000a900467ffffffffffffffff1681565b60025460009033600160a060020a0390811691161480610daa575060005433600160a060020a0390811661010090920416145b1515610db557600080fd5b600554600160a060020a03166370a082313060405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610e0557600080fd5b5af11515610e1257600080fd5b505050604051805191505060008111610e2a57600080fd5b600554600254600160a060020a039182169163a9059cbb91168360405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515610e8757600080fd5b5af11515610e9457600080fd5b50505050565b600080600080600080610eab61237f565b6003548810610eb957600080fd5b6003805489908110610ec757fe5b906000526020600020906003020160c060405190810160409081528254600160a060020a0390811683526001840154908116602084015267ffffffffffffffff60a060020a909104811691830191909152600290920154808316606083015268010000000000000000810483166080830152608060020a900490911660a0820152905080519650806020015195508060400151945080606001519350806080015192508060a0015191505091939550919395565b60015460009033600160a060020a03908116911614610f9957600080fd5b60035467ffffffffffffffff831610610fb157600080fd5b6003805467ffffffffffffffff8416908110610fc957fe5b600091825260209091206003909102016002810154909150608060020a900467ffffffffffffffff1615610ffc57600080fd5b6001810154600160a060020a03161561101457600080fd5b60028101805477ffffffffffffffff000000000000000000000000000000001916706300000000000000000000000000000000179055805461105f90600160a060020a031683611c82565b60055481546001830154600160a060020a039283169263a9059cbb9216906110a09060a060020a900467ffffffffffffffff16670de0b6b3a7640000611c4c565b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b15156110e357600080fd5b5af115156110f057600080fd5b5050506002810154815467ffffffffffffffff91821691600160a060020a039091169084167f422bafa18c1c6cd5d69e480eb4624f3a7521c1513c3a2dea955614144583c52a60405160405180910390a45050565b60005433600160a060020a03908116610100909204161461116557600080fd5b60005460ff161561117557600080fd5b6000805460ff19166001179055565b61118c61236d565b6006600083600160a060020a0316600160a060020a0316815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561122f57602002820191906000526020600020906000905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116111ea5790505b50505050509050919050565b60005433600160a060020a03908116610100909204161461125b57600080fd5b600160a060020a038116151561127057600080fd5b600054600160a060020a03808316916101009004167ff8ccb027dfcd135e000e9d45e6cc2d662578a8825d4c45b5e32e0adf67e79ec660405160405180910390a360008054600160a060020a039092166101000274ffffffffffffffffffffffffffffffffffffffff0019909216919091179055565b600981600581106112f357fe5b0154905081565b6003546008545b8181101561135757600380548290811061131757fe5b6000918252602090912060039091020160020154608060020a900467ffffffffffffffff16151561134f576000198101600855611357565b600101611301565b5050565b60005433600160a060020a03908116610100909204161461137b57600080fd5b60008111801561138b5750601481105b151561139657600080fd5b6007548114156113a557600080fd5b600755565b600254600160a060020a031681565b60085481565b600080548190819060ff16156113d457600080fd5b60055433600160a060020a039081169116146113ef57600080fd5b6002841180156114005750600a8411155b151561140b57600080fd5b61144385858080601f016020809104026020016040519081016040528181529291906020840183838082843750611dd1945050505050565b9250925092508267ffffffffffffffff166000141561146d5761146881838a8a611ea6565b611491565b8267ffffffffffffffff166001141561148c5761146881838a8a612138565b600080fd5b5050505050505050565b60025433600160a060020a03908116911614806114cb575060005433600160a060020a0390811661010090920416145b15156114d657600080fd5b600160a060020a03811615156114eb57600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600554600160a060020a031681565b60005460ff1681565b6003546000190190565b60015433600160a060020a039081169116148061156c575060005433600160a060020a0390811661010090920416145b151561157757600080fd5b600160a060020a038116151561158c57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000546101009004600160a060020a031681565b600154600160a060020a031681565b60035460009067ffffffffffffffff8316106115f957600080fd5b6003805467ffffffffffffffff841690811061161157fe5b600091825260209091206003909102016002810154909150608060020a900467ffffffffffffffff161561164457600080fd5b6001810154600160a060020a03161561165c57600080fd5b805433600160a060020a0390811691161461167657600080fd5b60028101805477ffffffffffffffff0000000000000000000000000000000019167063000000000000000000000000000000001790556116b63383611c82565b6005546001820154600160a060020a039091169063a9059cbb9033906116f59060a060020a900467ffffffffffffffff16670de0b6b3a7640000611c4c565b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b151561173857600080fd5b5af1151561174557600080fd5b505050600281015467ffffffffffffffff90811690600160a060020a0333169084167f422bafa18c1c6cd5d69e480eb4624f3a7521c1513c3a2dea955614144583c52a60405160405180910390a45050565b600254600090819033600160a060020a03908116911614806117cc575060005433600160a060020a0390811661010090920416145b15156117d757600080fd5b600083116117e457600080fd5b600160a060020a038416156117f95783611806565b600254600160a060020a03165b915050600160a060020a033016318083101561185257600160a060020a03821683156108fc0284604051600060405180830381858888f19350505050151561184d57600080fd5b610e94565b81600160a060020a03166108fc30600160a060020a0316319081150290604051600060405180830381858888f193505050501515610e9457600080fd5b60015460009081908190819033600160a060020a039081169116146118b357600080fd5b60035467ffffffffffffffff8916106118cb57600080fd5b6003805467ffffffffffffffff8a169081106118e357fe5b600091825260209091206003909102016002810154909450608060020a900467ffffffffffffffff1615801561192557506001840154600160a060020a031615155b151561193057600080fd5b600454600160a060020a0316151561194757600080fd5b6004546002850154600160a060020a039091169063c63c1a2790899068010000000000000000900467ffffffffffffffff16898960405160e060020a63ffffffff871602815267ffffffffffffffff948516600482015292909316602483015260448201526064810191909152608401602060405180830381600087803b15156119d057600080fd5b5af115156119dd57600080fd5b5050506040518051935050600167ffffffffffffffff84161480611a0b57508267ffffffffffffffff166002145b1515611a1657600080fd5b60028401805477ffffffffffffffff000000000000000000000000000000001916608060020a67ffffffffffffffff8616021790558354611a6090600160a060020a031689611c82565b6001840154611a819060a060020a900467ffffffffffffffff16600a612344565b6001850154909250611ab7908390611aab9060a060020a900467ffffffffffffffff166002611c4c565b9063ffffffff61235b16565b90508267ffffffffffffffff1660011415611b54576005548454600160a060020a039182169163a9059cbb9116611afc84670de0b6b3a764000063ffffffff611c4c16565b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515611b3f57600080fd5b5af11515611b4c57600080fd5b505050611bdb565b6005546001850154600160a060020a039182169163a9059cbb9116611b8784670de0b6b3a764000063ffffffff611c4c16565b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515611bca57600080fd5b5af11515611bd757600080fd5b5050505b60028401548454600186015467ffffffffffffffff92831692600160a060020a0392831692908c16917f38557edda3a2b5a2845b77064681d10e029c186fdbb7503b7435288e3f2a6aae9116604051600160a060020a03909116815260200160405180910390a45050505050505050565b600080831515611c5f5760009150611c7b565b50828202828482811515611c6f57fe5b0414611c7757fe5b8091505b5092915050565b600160a060020a03821660009081526006602052604081208054909180808311611cab57600080fd5b506063905060005b82811015611d1a578381815481101515611cc957fe5b90600052602060002090600491828204019190066008029054906101000a900467ffffffffffffffff1667ffffffffffffffff168567ffffffffffffffff161415611d12578091505b600101611cb3565b6063821415611d2857600080fd5b60001983018214611db8578360018403815481101515611d4457fe5b90600052602060002090600491828204019190066008029054906101000a900467ffffffffffffffff168483815481101515611d7c57fe5b90600052602060002090600491828204019190066008026101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b835460001901611dc885826123b4565b50505050505050565b60008060008060008086600081518110611de757fe5b016020015160f860020a900460f860020a0260f860020a9004955086600181518110611e0f57fe5b016020015160f860020a900460f860020a0260f860020a900494506002925060009150865190505b808367ffffffffffffffff161015611e9c5760018367ffffffffffffffff168203036101000a878467ffffffffffffffff1681518110611e7357fe5b016020015160f860020a900460f860020a0260f860020a90040282019150600183019250611e37565b5093959294505050565b600754600160a060020a0383166000908152600660205260408120549091829110611ed057600080fd5b60008567ffffffffffffffff1610158015611ef6575060048567ffffffffffffffff1611155b1515611f0157600080fd5b600967ffffffffffffffff861660058110611f1857fe5b01548314611f2557600080fd5b600554600160a060020a03166323b872dd85308660405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515611f8857600080fd5b5af11515611f9557600080fd5b505050604051805190501515611faa57600080fd5b6003805492506001830190611fbf90826123ed565b506003805467ffffffffffffffff8416908110611fd857fe5b60009182526020909120600390910201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038616178155905061202283670de0b6b3a7640000612344565b600182810180547fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff1660a060020a67ffffffffffffffff9485160217905560028301805467ffffffffffffffff191692891692909217909155600160a060020a03851660009081526006602052604090208054909181016120a383826123b4565b916000526020600020906004918282040191900660080284909190916101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550508567ffffffffffffffff1684600160a060020a03168367ffffffffffffffff167ff1fddf9e8812213c247590b0a0f3bf5457dada11d75e708e8454396df345b52760405160405180910390a4505050505050565b60035460009067ffffffffffffffff86161061215357600080fd5b6003805467ffffffffffffffff871690811061216b57fe5b600091825260209091206003909102016002810154909150608060020a900467ffffffffffffffff161561219e57600080fd5b8054600160a060020a03848116911614156121b857600080fd5b600181015482906121e29060a060020a900467ffffffffffffffff16670de0b6b3a7640000611c4c565b146121ec57600080fd5b6001810154600160a060020a03161561220457600080fd5b600554600160a060020a03166323b872dd84308560405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561226757600080fd5b5af1151561227457600080fd5b50505060405180519050151561228957600080fd5b60018101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03858116919091179091556002820180546fffffffffffffffff000000000000000019166801000000000000000067ffffffffffffffff888116919091029190911791829055835491811692919091169087167f5f08d451ca35d6b71901ead5258ae70bb467cdca427b19c3653a77c961919ecc86604051600160a060020a03909116815260200160405180910390a45050505050565b600080828481151561235257fe5b04949350505050565b60008282111561236757fe5b50900390565b60206040519081016040526000815290565b60c06040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a082015290565b8154818355818115116123e85760030160049004816003016004900483600052602060002091820191016123e89190612419565b505050565b8154818355818115116123e8576003028160030283600052602060002091820191016123e89190612437565b610c9691905b80821115612433576000815560010161241f565b5090565b610c9691905b8082111561243357805473ffffffffffffffffffffffffffffffffffffffff191681556001810180547fffffffff0000000000000000000000000000000000000000000000000000000016905560028101805477ffffffffffffffffffffffffffffffffffffffffffffffff1916905560030161243d5600a165627a7a72305820a9c2d8a2dec3fca122e23cd07c28211524e90d1fad564ba9728db3003e5b6cc300290000000000000000000000007e43581b19ab509bcf9397a2efd1ab10233f27de
Deployed Bytecode
0x60606040526004361061015b5763ffffffff60e060020a6000350416631531076c811461016857806316512624146103805780631a3ae67a14610395578063271a50db146103ba57806328b6c658146103d957806330efb8d3146103ec5780633407dd24146103ff57806351784a751461043e578063549c7b58146104515780636044ce6e146104b657806367d0661d146104d65780636d57e2a9146104e9578063704b6c021461055b578063748c350b1461057a578063750240a21461059057806379859a78146105a357806382cb9df9146105b957806388753343146105e85780638f4ffcb1146105fb5780639b8d306414610631578063b0d997d914610650578063b187bd2614610663578063b9aa82361461068a578063bf8bdac11461069d578063bfae2f0e146106bc578063cdd977e0146106cf578063f0af7e65146106e2578063f3fef3a314610702578063f696c4ed14610724575b341561016657600080fd5b005b341561017357600080fd5b61018e67ffffffffffffffff60043581169060243516610750565b604051808060200180602001806020018060200180602001806020018060200188810388528f818151815260200191508051906020019060200280838360005b838110156101e65780820151838201526020016101ce565b5050505090500188810387528e818151815260200191508051906020019060200280838360005b8381101561022557808201518382015260200161020d565b5050505090500188810386528d818151815260200191508051906020019060200280838360005b8381101561026457808201518382015260200161024c565b5050505090500188810385528c818151815260200191508051906020019060200280838360005b838110156102a357808201518382015260200161028b565b5050505090500188810384528b818151815260200191508051906020019060200280838360005b838110156102e25780820151838201526020016102ca565b5050505090500188810383528a818151815260200191508051906020019060200280838360005b83811015610321578082015183820152602001610309565b50505050905001888103825289818151815260200191508051906020019060200280838360005b83811015610360578082015183820152602001610348565b505050509050019e50505050505050505050505050505060405180910390f35b341561038b57600080fd5b6101666004610abc565b34156103a057600080fd5b6103a8610c2a565b60405190815260200160405180910390f35b34156103c557600080fd5b610166600160a060020a0360043516610c99565b34156103e457600080fd5b6103a8610ce8565b34156103f757600080fd5b610166610cee565b341561040a57600080fd5b610421600160a060020a0360043516602435610d2b565b60405167ffffffffffffffff909116815260200160405180910390f35b341561044957600080fd5b610166610d77565b341561045c57600080fd5b610467600435610e9a565b604051600160a060020a03968716815294909516602085015267ffffffffffffffff928316604080860191909152918316606085015282166080840152921660a082015260c001905180910390f35b34156104c157600080fd5b61016667ffffffffffffffff60043516610f7b565b34156104e157600080fd5b610166611145565b34156104f457600080fd5b610508600160a060020a0360043516611184565b60405160208082528190810183818151815260200191508051906020019060200280838360005b8381101561054757808201518382015260200161052f565b505050509050019250505060405180910390f35b341561056657600080fd5b610166600160a060020a036004351661123b565b341561058557600080fd5b6103a86004356112e6565b341561059b57600080fd5b6101666112fa565b34156105ae57600080fd5b61016660043561135b565b34156105c457600080fd5b6105cc6113aa565b604051600160a060020a03909116815260200160405180910390f35b34156105f357600080fd5b6103a86113b9565b341561060657600080fd5b61016660048035600160a060020a0390811691602480359260443516916064359182019101356113bf565b341561063c57600080fd5b610166600160a060020a036004351661149b565b341561065b57600080fd5b6105cc61151a565b341561066e57600080fd5b610676611529565b604051901515815260200160405180910390f35b341561069557600080fd5b6103a8611532565b34156106a857600080fd5b610166600160a060020a036004351661153c565b34156106c757600080fd5b6105cc6115bb565b34156106da57600080fd5b6105cc6115cf565b34156106ed57600080fd5b61016667ffffffffffffffff600435166115de565b341561070d57600080fd5b610166600160a060020a0360043516602435611797565b341561072f57600080fd5b61016667ffffffffffffffff6004358116906024351660443560643561188f565b61075861236d565b61076061236d565b61076861236d565b61077061236d565b61077861236d565b61078061236d565b61078861236d565b600354600080808067ffffffffffffffff808616908f16106107a957600080fd5b600067ffffffffffffffff8f16116107c057600080fd5b67ffffffffffffffff8d1615156107e5578d850367ffffffffffffffff16935061081a565b8c67ffffffffffffffff168e860367ffffffffffffffff16101561080b578d850361080d565b8c5b67ffffffffffffffff1693505b836040518059106108285750595b90808252806020026020018201604052509b50836040518059106108495750595b90808252806020026020018201604052509a508360405180591061086a5750595b908082528060200260200182016040525099508360405180591061088b5750595b90808252806020026020018201604052509850836040518059106108ac5750595b90808252806020026020018201604052509750836040518059106108cd5750595b90808252806020026020018201604052509650836040518059106108ee5750595b90808252806020026020018201604052509550600092508d91505b8467ffffffffffffffff168267ffffffffffffffff161015610aab576003805467ffffffffffffffff841690811061093d57fe5b90600052602060002090600302019050818c848151811061095a57fe5b67ffffffffffffffff9092166020928302909101909101528054600160a060020a03168b848151811061098957fe5b600160a060020a03928316602091820290920101526001820154168a84815181106109b057fe5b600160a060020a03909216602092830290910190910152600181015467ffffffffffffffff60a060020a909104168984815181106109ea57fe5b67ffffffffffffffff92831660209182029092010152600282015416888481518110610a1257fe5b67ffffffffffffffff92831660209182029092010152600282015468010000000000000000900416878481518110610a4657fe5b67ffffffffffffffff928316602091820290920101526002820154608060020a900416868481518110610a7557fe5b67ffffffffffffffff90921660209283029091019091015260019290920191838310610aa057610aab565b816001019150610909565b505050505092959891949750929550565b60005433600160a060020a039081166101009092041614610adc57600080fd5b606481351015610aeb57600080fd5b803560208201351015610afd57600080fd5b602081013560408201351015610b1257600080fd5b604081013560608201351015610b2757600080fd5b606081013560808201351015610b3c57600080fd5b620927c060808201351115610b5057600080fd5b606481350615610b5f57600080fd5b606460208201350615610b7157600080fd5b606460408201350615610b8357600080fd5b606460608201350615610b9557600080fd5b606460808201350615610ba757600080fd5b610bc8670de0b6b3a76400008260005b60200201359063ffffffff611c4c16565b600955610bdf670de0b6b3a7640000826001610bb7565b600a55610bf6670de0b6b3a7640000826002610bb7565b600b55610c0d670de0b6b3a7640000826003610bb7565b600c55610c24670de0b6b3a7640000826004610bb7565b600d5550565b600554600090600160a060020a03166370a082313060405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610c7d57600080fd5b5af11515610c8a57600080fd5b50505060405180519150505b90565b60005433600160a060020a039081166101009092041614610cb957600080fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60075481565b60005433600160a060020a039081166101009092041614610d0e57600080fd5b60005460ff161515610d1f57600080fd5b6000805460ff19169055565b600660205281600052604060002081815481101515610d4657fe5b9060005260206000209060049182820401919006600802915091509054906101000a900467ffffffffffffffff1681565b60025460009033600160a060020a0390811691161480610daa575060005433600160a060020a0390811661010090920416145b1515610db557600080fd5b600554600160a060020a03166370a082313060405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610e0557600080fd5b5af11515610e1257600080fd5b505050604051805191505060008111610e2a57600080fd5b600554600254600160a060020a039182169163a9059cbb91168360405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515610e8757600080fd5b5af11515610e9457600080fd5b50505050565b600080600080600080610eab61237f565b6003548810610eb957600080fd5b6003805489908110610ec757fe5b906000526020600020906003020160c060405190810160409081528254600160a060020a0390811683526001840154908116602084015267ffffffffffffffff60a060020a909104811691830191909152600290920154808316606083015268010000000000000000810483166080830152608060020a900490911660a0820152905080519650806020015195508060400151945080606001519350806080015192508060a0015191505091939550919395565b60015460009033600160a060020a03908116911614610f9957600080fd5b60035467ffffffffffffffff831610610fb157600080fd5b6003805467ffffffffffffffff8416908110610fc957fe5b600091825260209091206003909102016002810154909150608060020a900467ffffffffffffffff1615610ffc57600080fd5b6001810154600160a060020a03161561101457600080fd5b60028101805477ffffffffffffffff000000000000000000000000000000001916706300000000000000000000000000000000179055805461105f90600160a060020a031683611c82565b60055481546001830154600160a060020a039283169263a9059cbb9216906110a09060a060020a900467ffffffffffffffff16670de0b6b3a7640000611c4c565b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b15156110e357600080fd5b5af115156110f057600080fd5b5050506002810154815467ffffffffffffffff91821691600160a060020a039091169084167f422bafa18c1c6cd5d69e480eb4624f3a7521c1513c3a2dea955614144583c52a60405160405180910390a45050565b60005433600160a060020a03908116610100909204161461116557600080fd5b60005460ff161561117557600080fd5b6000805460ff19166001179055565b61118c61236d565b6006600083600160a060020a0316600160a060020a0316815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561122f57602002820191906000526020600020906000905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116111ea5790505b50505050509050919050565b60005433600160a060020a03908116610100909204161461125b57600080fd5b600160a060020a038116151561127057600080fd5b600054600160a060020a03808316916101009004167ff8ccb027dfcd135e000e9d45e6cc2d662578a8825d4c45b5e32e0adf67e79ec660405160405180910390a360008054600160a060020a039092166101000274ffffffffffffffffffffffffffffffffffffffff0019909216919091179055565b600981600581106112f357fe5b0154905081565b6003546008545b8181101561135757600380548290811061131757fe5b6000918252602090912060039091020160020154608060020a900467ffffffffffffffff16151561134f576000198101600855611357565b600101611301565b5050565b60005433600160a060020a03908116610100909204161461137b57600080fd5b60008111801561138b5750601481105b151561139657600080fd5b6007548114156113a557600080fd5b600755565b600254600160a060020a031681565b60085481565b600080548190819060ff16156113d457600080fd5b60055433600160a060020a039081169116146113ef57600080fd5b6002841180156114005750600a8411155b151561140b57600080fd5b61144385858080601f016020809104026020016040519081016040528181529291906020840183838082843750611dd1945050505050565b9250925092508267ffffffffffffffff166000141561146d5761146881838a8a611ea6565b611491565b8267ffffffffffffffff166001141561148c5761146881838a8a612138565b600080fd5b5050505050505050565b60025433600160a060020a03908116911614806114cb575060005433600160a060020a0390811661010090920416145b15156114d657600080fd5b600160a060020a03811615156114eb57600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600554600160a060020a031681565b60005460ff1681565b6003546000190190565b60015433600160a060020a039081169116148061156c575060005433600160a060020a0390811661010090920416145b151561157757600080fd5b600160a060020a038116151561158c57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000546101009004600160a060020a031681565b600154600160a060020a031681565b60035460009067ffffffffffffffff8316106115f957600080fd5b6003805467ffffffffffffffff841690811061161157fe5b600091825260209091206003909102016002810154909150608060020a900467ffffffffffffffff161561164457600080fd5b6001810154600160a060020a03161561165c57600080fd5b805433600160a060020a0390811691161461167657600080fd5b60028101805477ffffffffffffffff0000000000000000000000000000000019167063000000000000000000000000000000001790556116b63383611c82565b6005546001820154600160a060020a039091169063a9059cbb9033906116f59060a060020a900467ffffffffffffffff16670de0b6b3a7640000611c4c565b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b151561173857600080fd5b5af1151561174557600080fd5b505050600281015467ffffffffffffffff90811690600160a060020a0333169084167f422bafa18c1c6cd5d69e480eb4624f3a7521c1513c3a2dea955614144583c52a60405160405180910390a45050565b600254600090819033600160a060020a03908116911614806117cc575060005433600160a060020a0390811661010090920416145b15156117d757600080fd5b600083116117e457600080fd5b600160a060020a038416156117f95783611806565b600254600160a060020a03165b915050600160a060020a033016318083101561185257600160a060020a03821683156108fc0284604051600060405180830381858888f19350505050151561184d57600080fd5b610e94565b81600160a060020a03166108fc30600160a060020a0316319081150290604051600060405180830381858888f193505050501515610e9457600080fd5b60015460009081908190819033600160a060020a039081169116146118b357600080fd5b60035467ffffffffffffffff8916106118cb57600080fd5b6003805467ffffffffffffffff8a169081106118e357fe5b600091825260209091206003909102016002810154909450608060020a900467ffffffffffffffff1615801561192557506001840154600160a060020a031615155b151561193057600080fd5b600454600160a060020a0316151561194757600080fd5b6004546002850154600160a060020a039091169063c63c1a2790899068010000000000000000900467ffffffffffffffff16898960405160e060020a63ffffffff871602815267ffffffffffffffff948516600482015292909316602483015260448201526064810191909152608401602060405180830381600087803b15156119d057600080fd5b5af115156119dd57600080fd5b5050506040518051935050600167ffffffffffffffff84161480611a0b57508267ffffffffffffffff166002145b1515611a1657600080fd5b60028401805477ffffffffffffffff000000000000000000000000000000001916608060020a67ffffffffffffffff8616021790558354611a6090600160a060020a031689611c82565b6001840154611a819060a060020a900467ffffffffffffffff16600a612344565b6001850154909250611ab7908390611aab9060a060020a900467ffffffffffffffff166002611c4c565b9063ffffffff61235b16565b90508267ffffffffffffffff1660011415611b54576005548454600160a060020a039182169163a9059cbb9116611afc84670de0b6b3a764000063ffffffff611c4c16565b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515611b3f57600080fd5b5af11515611b4c57600080fd5b505050611bdb565b6005546001850154600160a060020a039182169163a9059cbb9116611b8784670de0b6b3a764000063ffffffff611c4c16565b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515611bca57600080fd5b5af11515611bd757600080fd5b5050505b60028401548454600186015467ffffffffffffffff92831692600160a060020a0392831692908c16917f38557edda3a2b5a2845b77064681d10e029c186fdbb7503b7435288e3f2a6aae9116604051600160a060020a03909116815260200160405180910390a45050505050505050565b600080831515611c5f5760009150611c7b565b50828202828482811515611c6f57fe5b0414611c7757fe5b8091505b5092915050565b600160a060020a03821660009081526006602052604081208054909180808311611cab57600080fd5b506063905060005b82811015611d1a578381815481101515611cc957fe5b90600052602060002090600491828204019190066008029054906101000a900467ffffffffffffffff1667ffffffffffffffff168567ffffffffffffffff161415611d12578091505b600101611cb3565b6063821415611d2857600080fd5b60001983018214611db8578360018403815481101515611d4457fe5b90600052602060002090600491828204019190066008029054906101000a900467ffffffffffffffff168483815481101515611d7c57fe5b90600052602060002090600491828204019190066008026101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b835460001901611dc885826123b4565b50505050505050565b60008060008060008086600081518110611de757fe5b016020015160f860020a900460f860020a0260f860020a9004955086600181518110611e0f57fe5b016020015160f860020a900460f860020a0260f860020a900494506002925060009150865190505b808367ffffffffffffffff161015611e9c5760018367ffffffffffffffff168203036101000a878467ffffffffffffffff1681518110611e7357fe5b016020015160f860020a900460f860020a0260f860020a90040282019150600183019250611e37565b5093959294505050565b600754600160a060020a0383166000908152600660205260408120549091829110611ed057600080fd5b60008567ffffffffffffffff1610158015611ef6575060048567ffffffffffffffff1611155b1515611f0157600080fd5b600967ffffffffffffffff861660058110611f1857fe5b01548314611f2557600080fd5b600554600160a060020a03166323b872dd85308660405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515611f8857600080fd5b5af11515611f9557600080fd5b505050604051805190501515611faa57600080fd5b6003805492506001830190611fbf90826123ed565b506003805467ffffffffffffffff8416908110611fd857fe5b60009182526020909120600390910201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038616178155905061202283670de0b6b3a7640000612344565b600182810180547fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff1660a060020a67ffffffffffffffff9485160217905560028301805467ffffffffffffffff191692891692909217909155600160a060020a03851660009081526006602052604090208054909181016120a383826123b4565b916000526020600020906004918282040191900660080284909190916101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550508567ffffffffffffffff1684600160a060020a03168367ffffffffffffffff167ff1fddf9e8812213c247590b0a0f3bf5457dada11d75e708e8454396df345b52760405160405180910390a4505050505050565b60035460009067ffffffffffffffff86161061215357600080fd5b6003805467ffffffffffffffff871690811061216b57fe5b600091825260209091206003909102016002810154909150608060020a900467ffffffffffffffff161561219e57600080fd5b8054600160a060020a03848116911614156121b857600080fd5b600181015482906121e29060a060020a900467ffffffffffffffff16670de0b6b3a7640000611c4c565b146121ec57600080fd5b6001810154600160a060020a03161561220457600080fd5b600554600160a060020a03166323b872dd84308560405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561226757600080fd5b5af1151561227457600080fd5b50505060405180519050151561228957600080fd5b60018101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03858116919091179091556002820180546fffffffffffffffff000000000000000019166801000000000000000067ffffffffffffffff888116919091029190911791829055835491811692919091169087167f5f08d451ca35d6b71901ead5258ae70bb467cdca427b19c3653a77c961919ecc86604051600160a060020a03909116815260200160405180910390a45050505050565b600080828481151561235257fe5b04949350505050565b60008282111561236757fe5b50900390565b60206040519081016040526000815290565b60c06040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a082015290565b8154818355818115116123e85760030160049004816003016004900483600052602060002091820191016123e89190612419565b505050565b8154818355818115116123e8576003028160030283600052602060002091820191016123e89190612437565b610c9691905b80821115612433576000815560010161241f565b5090565b610c9691905b8082111561243357805473ffffffffffffffffffffffffffffffffffffffff191681556001810180547fffffffff0000000000000000000000000000000000000000000000000000000016905560028101805477ffffffffffffffffffffffffffffffffffffffffffffffff1916905560030161243d5600a165627a7a72305820a9c2d8a2dec3fca122e23cd07c28211524e90d1fad564ba9728db3003e5b6cc30029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000007e43581b19ab509bcf9397a2efd1ab10233f27de
-----Decoded View---------------
Arg [0] : _platAddr (address): 0x7E43581b19ab509BCF9397a2eFd1ab10233f27dE
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000007e43581b19ab509bcf9397a2efd1ab10233f27de
Swarm Source
bzzr://a9c2d8a2dec3fca122e23cd07c28211524e90d1fad564ba9728db3003e5b6cc3
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.