Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 62 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Withdraw | 5827396 | 2450 days ago | IN | 0 ETH | 0.00022599 | ||||
Announce Match R... | 5827390 | 2450 days ago | IN | 0 ETH | 0.00014256 | ||||
Announce Match R... | 5827388 | 2450 days ago | IN | 0 ETH | 0.00014206 | ||||
Announce Match R... | 5827386 | 2450 days ago | IN | 0 ETH | 0.00014292 | ||||
Bet | 5821684 | 2451 days ago | IN | 0.01 ETH | 0.0002641 | ||||
Create Match | 5820009 | 2451 days ago | IN | 0 ETH | 0.00055144 | ||||
Announce Match R... | 5819989 | 2451 days ago | IN | 0 ETH | 0.00006858 | ||||
Announce Match R... | 5819989 | 2451 days ago | IN | 0 ETH | 0.00006858 | ||||
Announce Match R... | 5819989 | 2451 days ago | IN | 0 ETH | 0.00015834 | ||||
Create Match | 5819964 | 2451 days ago | IN | 0 ETH | 0.00049302 | ||||
Create Match | 5819959 | 2451 days ago | IN | 0 ETH | 0.00049417 | ||||
Create Match | 5819959 | 2451 days ago | IN | 0 ETH | 0.0004936 | ||||
Create Match | 5819948 | 2451 days ago | IN | 0 ETH | 0.00049533 | ||||
Create Match | 5819943 | 2451 days ago | IN | 0 ETH | 0.00008304 | ||||
Create Match | 5819943 | 2451 days ago | IN | 0 ETH | 0.00049417 | ||||
Announce Match R... | 5819933 | 2451 days ago | IN | 0 ETH | 0.00014256 | ||||
Announce Match R... | 5817155 | 2452 days ago | IN | 0 ETH | 0.00014256 | ||||
Create Match | 5816903 | 2452 days ago | IN | 0 ETH | 0.0004936 | ||||
Create Match | 5816865 | 2452 days ago | IN | 0 ETH | 0.00049417 | ||||
Create Match | 5816865 | 2452 days ago | IN | 0 ETH | 0.00049417 | ||||
Announce Match R... | 5816865 | 2452 days ago | IN | 0 ETH | 0.00014256 | ||||
Announce Match R... | 5816859 | 2452 days ago | IN | 0 ETH | 0.00014206 | ||||
Announce Match R... | 5816859 | 2452 days ago | IN | 0 ETH | 0.00014206 | ||||
Announce Match R... | 5816858 | 2452 days ago | IN | 0 ETH | 0.00014233 | ||||
Announce Match R... | 5816852 | 2452 days ago | IN | 0 ETH | 0.00014256 |
Latest 7 internal transactions
Advanced mode:
Parent Transaction Hash | Method | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|---|
Transfer | 5827396 | 2450 days ago | 0.01 ETH | ||||
Transfer | 5802281 | 2454 days ago | 0.001 ETH | ||||
Transfer | 5801968 | 2454 days ago | 0.0067 ETH | ||||
Transfer | 5795026 | 2456 days ago | 0.0003 ETH | ||||
Transfer | 5794558 | 2456 days ago | 0.005 ETH | ||||
Transfer | 5793691 | 2456 days ago | 0.0105 ETH | ||||
Transfer | 5793645 | 2456 days ago | 0.0005 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
WorldCup
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-06-15 */ pragma solidity ^0.4.23; /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ contract SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256 c) { if (a == 0) { return 0; } 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 a / b; } /** * @dev Subtracts 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 c) { c = a + b; assert(c >= a); return c; } } /** * @title MultiOwnable * @dev The MultiOwnable contract has owners addresses and provides basic authorization control * functions, this simplifies the implementation of "users permissions". */ contract MultiOwnable { address public manager; // address used to set owners address[] public owners; mapping(address => bool) public ownerByAddress; event SetManager(address manager); event SetOwners(address[] owners); modifier onlyOwner() { require(ownerByAddress[msg.sender] == true); _; } modifier onlyManager() { require(msg.sender == manager); _; } /** * @dev MultiOwnable constructor sets the manager */ constructor() public { manager = msg.sender; } /** * @dev Function to set owners addresses */ function setOwners(address[] _owners) onlyManager public { _setOwners(_owners); } function _setOwners(address[] _owners) internal { for(uint256 i = 0; i < owners.length; i++) { ownerByAddress[owners[i]] = false; } for(uint256 j = 0; j < _owners.length; j++) { ownerByAddress[_owners[j]] = true; } owners = _owners; emit SetOwners(_owners); } function getOwners() public constant returns (address[]) { return owners; } function setManager(address _manager) onlyManager public { manager = _manager; emit SetManager(_manager); } } contract WorldCup is MultiOwnable, SafeMath { enum Result {Unknown, HomeWin, HomeDraw, HomeLoss} // Data Struct struct Match { bool created; // Match Info string team; string teamDetail; int32 pointSpread; uint64 startTime; uint64 endTime; // Current Stakes uint256 stakesOfWin; uint256 stakesOfDraw; uint256 stakesOfLoss; // Result Result result; } struct Prediction { Result result; uint256 stake; bool withdraw; } // Storage uint public numMatches; mapping(uint => Match) public matches; mapping(uint => mapping(address => Prediction)) public predictions; uint256 public rate; // Event event NewMatch(uint indexed id, string team, string detail, int32 spread, uint64 start, uint64 end); event MatchInfo(uint indexed id, string detail); event MatchResult(uint indexed id, Result result, uint256 fee); event Bet(address indexed user, uint indexed id, Result result, uint256 stake, uint256 stakesOfWin, uint256 stakesOfDraw, uint256 stakesOfLoss); event Withdraw(address indexed user, uint indexed id, uint256 bonus); modifier validId(uint _id) { require(matches[_id].created == true); _; } modifier validResult(Result _result) { require(_result == Result.HomeWin || _result == Result.HomeDraw || _result == Result.HomeLoss); _; } constructor() public { rate = 20; // 5% } // For Owner & Manager function createMatch(uint _id, string _team, string _teamDetail, int32 _pointSpread, uint64 _startTime, uint64 _endTime) onlyOwner public { require(_startTime < _endTime); require(matches[_id].created == false); // Create new match Match memory _match = Match({ created:true, team: _team, teamDetail: _teamDetail, pointSpread: _pointSpread, startTime: _startTime, endTime: _endTime, stakesOfWin: 0, stakesOfDraw: 0, stakesOfLoss: 0, result: Result.Unknown }); // Insert into matches matches[_id] = _match; numMatches++; // Set event emit NewMatch(_id, _team, _teamDetail, _pointSpread, _startTime, _endTime); } function updateMatchInfo(uint _id, string _teamDetail, uint64 _startTime, uint64 _endTime) onlyOwner validId(_id) public { // Update match info if (bytes(_teamDetail).length > 0) { matches[_id].teamDetail = _teamDetail; } if (_startTime != 0) { matches[_id].startTime = _startTime; } if (_endTime != 0) { matches[_id].endTime = _endTime; } // Set event emit MatchInfo(_id, _teamDetail); } function announceMatchResult(uint _id, Result _result) onlyManager validId(_id) validResult(_result) public { // Check current result require(matches[_id].result == Result.Unknown); // Update result matches[_id].result = _result; // Calculate bonus and fee uint256 bonus; uint256 fee; Match storage _match = matches[_id]; if (_result == Result.HomeWin) { bonus = add(_match.stakesOfDraw, _match.stakesOfLoss); if (_match.stakesOfWin > 0) { fee = div(bonus, rate); } else { fee = bonus; } } else if (_result == Result.HomeDraw) { bonus = add(_match.stakesOfWin, _match.stakesOfLoss); if (_match.stakesOfDraw > 0) { fee = div(bonus, rate); } else { fee = bonus; } } else if (_result == Result.HomeLoss) { bonus = add(_match.stakesOfWin, _match.stakesOfDraw); if (_match.stakesOfLoss > 0) { fee = div(bonus, rate); } else { fee = bonus; } } address thiz = address(this); require(thiz.balance >= fee); manager.transfer(fee); // Set event emit MatchResult(_id, _result, fee); } // For Player function bet(uint _id, Result _result) validId(_id) validResult(_result) public payable { // Check value require(msg.value > 0); // Check match state Match storage _match = matches[_id]; require(_match.result == Result.Unknown); require(_match.startTime <= now); require(_match.endTime >= now); // Update matches if (_result == Result.HomeWin) { _match.stakesOfWin = add(_match.stakesOfWin, msg.value); } else if (_result == Result.HomeDraw) { _match.stakesOfDraw = add(_match.stakesOfDraw, msg.value); } else if (_result == Result.HomeLoss) { _match.stakesOfLoss = add(_match.stakesOfLoss, msg.value); } // Update predictions Prediction storage _prediction = predictions[_id][msg.sender]; if (_prediction.result == Result.Unknown) { _prediction.stake = msg.value; _prediction.result = _result; } else { require(_prediction.result == _result); _prediction.stake = add(_prediction.stake, msg.value); } // Set event emit Bet(msg.sender, _id, _result, msg.value, _match.stakesOfWin, _match.stakesOfDraw, _match.stakesOfLoss); } function getBonus(uint _id, address addr) validId(_id) public view returns (uint256) { // Get match state Match storage _match = matches[_id]; if (_match.result == Result.Unknown) { return 0; } // Get prediction state Prediction storage _prediction = predictions[_id][addr]; if (_prediction.result == Result.Unknown) { return 0; } // Check result if (_match.result != _prediction.result) { return 0; } // Calculate bonus uint256 bonus = _calcBouns(_match, _prediction); bonus = add(bonus, _prediction.stake); return bonus; } function withdraw(uint _id) validId(_id) public { // Check match state Match storage _match = matches[_id]; require(_match.result != Result.Unknown); // Check prediction state Prediction storage _prediction = predictions[_id][msg.sender]; require(_prediction.result != Result.Unknown); require(_prediction.stake > 0); require(_prediction.withdraw == false); _prediction.withdraw = true; // Check result require(_prediction.result == _match.result); // Calc bonus uint256 bonus = _calcBouns(_match, _prediction); bonus = add(bonus, _prediction.stake); address thiz = address(this); require(thiz.balance >= bonus); msg.sender.transfer(bonus); // Set event emit Withdraw(msg.sender, _id, bonus); } function _calcBouns(Match storage _match, Prediction storage _prediction) internal view returns (uint256) { uint256 bonus; if (_match.result != _prediction.result) { return 0; } if (_match.result == Result.HomeWin && _match.stakesOfWin > 0) { bonus = add(_match.stakesOfDraw, _match.stakesOfLoss); bonus = sub(bonus, div(bonus, rate)); bonus = div(mul(_prediction.stake, bonus), _match.stakesOfWin); } else if (_match.result == Result.HomeDraw && _match.stakesOfDraw > 0 ) { bonus = add(_match.stakesOfWin, _match.stakesOfLoss); bonus = sub(bonus, div(bonus, rate)); bonus = div(mul(_prediction.stake, bonus), _match.stakesOfDraw); } else if (_match.result == Result.HomeLoss && _match.stakesOfLoss > 0) { bonus = add(_match.stakesOfWin, _match.stakesOfDraw); bonus = sub(bonus, div(bonus, rate)); bonus = div(mul(_prediction.stake, bonus), _match.stakesOfLoss); } return bonus; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"owners","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_result","type":"uint8"}],"name":"announceMatchResult","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_id","type":"uint256"},{"name":"addr","type":"address"}],"name":"getBonus","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"matches","outputs":[{"name":"created","type":"bool"},{"name":"team","type":"string"},{"name":"teamDetail","type":"string"},{"name":"pointSpread","type":"int32"},{"name":"startTime","type":"uint64"},{"name":"endTime","type":"uint64"},{"name":"stakesOfWin","type":"uint256"},{"name":"stakesOfDraw","type":"uint256"},{"name":"stakesOfLoss","type":"uint256"},{"name":"result","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"manager","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_team","type":"string"},{"name":"_teamDetail","type":"string"},{"name":"_pointSpread","type":"int32"},{"name":"_startTime","type":"uint64"},{"name":"_endTime","type":"uint64"}],"name":"createMatch","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_teamDetail","type":"string"},{"name":"_startTime","type":"uint64"},{"name":"_endTime","type":"uint64"}],"name":"updateMatchInfo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"numMatches","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"address"}],"name":"predictions","outputs":[{"name":"result","type":"uint8"},{"name":"stake","type":"uint256"},{"name":"withdraw","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getOwners","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_result","type":"uint8"}],"name":"bet","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_manager","type":"address"}],"name":"setManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"ownerByAddress","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_owners","type":"address[]"}],"name":"setOwners","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"id","type":"uint256"},{"indexed":false,"name":"team","type":"string"},{"indexed":false,"name":"detail","type":"string"},{"indexed":false,"name":"spread","type":"int32"},{"indexed":false,"name":"start","type":"uint64"},{"indexed":false,"name":"end","type":"uint64"}],"name":"NewMatch","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"id","type":"uint256"},{"indexed":false,"name":"detail","type":"string"}],"name":"MatchInfo","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"id","type":"uint256"},{"indexed":false,"name":"result","type":"uint8"},{"indexed":false,"name":"fee","type":"uint256"}],"name":"MatchResult","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":true,"name":"id","type":"uint256"},{"indexed":false,"name":"result","type":"uint8"},{"indexed":false,"name":"stake","type":"uint256"},{"indexed":false,"name":"stakesOfWin","type":"uint256"},{"indexed":false,"name":"stakesOfDraw","type":"uint256"},{"indexed":false,"name":"stakesOfLoss","type":"uint256"}],"name":"Bet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":true,"name":"id","type":"uint256"},{"indexed":false,"name":"bonus","type":"uint256"}],"name":"Withdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"manager","type":"address"}],"name":"SetManager","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"owners","type":"address[]"}],"name":"SetOwners","type":"event"}]
Contract Creation Code
608060405234801561001057600080fd5b5060008054600160a060020a031916331790556014600655611a57806100376000396000f3006080604052600436106100e55763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663025e7c2781146100ea578063238c8a821461011e5780632c4e722e1461013e5780632e1a7d4d14610165578063446dba8f1461017d5780634768d4ef146101a1578063481c6a751461030f578063625a3a34146103245780637fef2d38146103db578063854458291461045057806392b108d014610465578063a0e67e2b146104bf578063c437a0cd14610524578063d0ebdbe714610535578063eb6b192f14610556578063fa4d36981461058b575b600080fd5b3480156100f657600080fd5b506101026004356105e0565b60408051600160a060020a039092168252519081900360200190f35b34801561012a57600080fd5b5061013c60043560ff60243516610608565b005b34801561014a57600080fd5b50610153610877565b60408051918252519081900360200190f35b34801561017157600080fd5b5061013c60043561087d565b34801561018957600080fd5b50610153600435600160a060020a0360243516610a02565b3480156101ad57600080fd5b506101b9600435610afa565b604051808b15151515815260200180602001806020018a60030b60030b81526020018967ffffffffffffffff1667ffffffffffffffff1681526020018867ffffffffffffffff1667ffffffffffffffff16815260200187815260200186815260200185815260200184600381111561022d57fe5b60ff16815260200183810383528c818151815260200191508051906020019080838360005b8381101561026a578181015183820152602001610252565b50505050905090810190601f1680156102975780820380516001836020036101000a031916815260200191505b5083810382528b5181528b516020918201918d019080838360005b838110156102ca5781810151838201526020016102b2565b50505050905090810190601f1680156102f75780820380516001836020036101000a031916815260200191505b509c5050505050505050505050505060405180910390f35b34801561031b57600080fd5b50610102610c8a565b34801561033057600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261013c95833595369560449491939091019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497505050833560030b9450505050602081013567ffffffffffffffff908116916040013516610c99565b3480156103e757600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261013c9583359536956044949193909101919081908401838280828437509497505067ffffffffffffffff8535811696506020909501359094169350610fd092505050565b34801561045c57600080fd5b50610153611185565b34801561047157600080fd5b50610489600435600160a060020a036024351661118b565b6040518084600381111561049957fe5b60ff16815260200183815260200182151515158152602001935050505060405180910390f35b3480156104cb57600080fd5b506104d46111bc565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156105105781810151838201526020016104f8565b505050509050019250505060405180910390f35b61013c60043560ff6024351661121f565b34801561054157600080fd5b5061013c600160a060020a03600435166114ae565b34801561056257600080fd5b50610577600160a060020a0360043516611526565b604080519115158252519081900360200190f35b34801561059757600080fd5b506040805160206004803580820135838102808601850190965280855261013c9536959394602494938501929182918501908490808284375094975061153b9650505050505050565b60018054829081106105ee57fe5b600091825260209091200154600160a060020a0316905081565b60008054819081908190600160a060020a0316331461062657600080fd5b600086815260046020526040902054869060ff16151560011461064857600080fd5b85600181600381111561065757fe5b148061066e5750600281600381111561066c57fe5b145b806106845750600381600381111561068257fe5b145b151561068f57600080fd5b60008881526004602052604081206007015460ff1660038111156106af57fe5b146106b957600080fd5b6000888152600460205260409020600701805488919060ff191660018360038111156106e157fe5b021790555060008881526004602052604090209350600187600381111561070457fe5b14156107475761071c8460050154856006015461155e565b955060008460040154111561073e5761073786600654611571565b9450610742565b8594505b6107d4565b600287600381111561075557fe5b14156107885761076d8460040154856006015461155e565b955060008460050154111561073e5761073786600654611571565b600387600381111561079657fe5b14156107d4576107ae8460040154856005015461155e565b95506000846006015411156107d0576107c986600654611571565b94506107d4565b8594505b30925082318511156107e557600080fd5b60008054604051600160a060020a039091169187156108fc02918891818181858888f1935050505015801561081e573d6000803e3d6000fd5b50877f1d411260d381ced63bf038dae2946cba327c0c577467b77e60d229eb93c3d06688876040518083600381111561085357fe5b60ff1681526020018281526020019250505060405180910390a25050505050505050565b60065481565b600081815260046020526040812054819081908190859060ff1615156001146108a557600080fd5b60008681526004602052604081209550600786015460ff1660038111156108c857fe5b14156108d357600080fd5b600086815260056020908152604080832033845290915281209450845460ff1660038111156108fe57fe5b141561090957600080fd5b600184015460001061091a57600080fd5b600284015460ff161561092c57600080fd5b60028401805460ff19166001179055600785015460ff16600381111561094e57fe5b845460ff16600381111561095e57fe5b1461096857600080fd5b6109728585611586565b925061098283856001015461155e565b9250309150813183111561099557600080fd5b604051339084156108fc029085906000818181858888f193505050501580156109c2573d6000803e3d6000fd5b50604080518481529051879133917ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b5689181900360200190a3505050505050565b600082815260046020526040812054819081908190869060ff161515600114610a2a57600080fd5b60008781526004602052604081209450600785015460ff166003811115610a4d57fe5b1415610a5c5760009450610af0565b6000878152600560209081526040808320600160a060020a038a16845290915281209350835460ff166003811115610a9057fe5b1415610a9f5760009450610af0565b825460ff166003811115610aaf57fe5b600785015460ff166003811115610ac257fe5b14610ad05760009450610af0565b610ada8484611586565b9150610aea82846001015461155e565b91508194505b5050505092915050565b6004602090815260009182526040918290208054600180830180548651600261010094831615949094026000190190911692909204601f810186900486028301860190965285825260ff909216949293909290830182828015610b9e5780601f10610b7357610100808354040283529160200191610b9e565b820191906000526020600020905b815481529060010190602001808311610b8157829003601f168201915b50505060028085018054604080516020601f6000196101006001871615020190941695909504928301859004850281018501909152818152959695945090925090830182828015610c305780601f10610c0557610100808354040283529160200191610c30565b820191906000526020600020905b815481529060010190602001808311610c1357829003601f168201915b50505060038085015460048601546005870154600688015460079098015496979383900b9667ffffffffffffffff6401000000008504811697506c0100000000000000000000000090940490931694509092909160ff168a565b600054600160a060020a031681565b610ca16118a1565b3360009081526002602052604090205460ff161515600114610cc257600080fd5b67ffffffffffffffff80831690841610610cdb57600080fd5b60008781526004602052604090205460ff1615610cf757600080fd5b610140604051908101604052806001151581526020018781526020018681526020018560030b81526020018467ffffffffffffffff1681526020018367ffffffffffffffff16815260200160008152602001600081526020016000815260200160006003811115610d6457fe5b905260008881526004602090815260409091208251815460ff191690151517815582820151805193945084939192610da4926001850192909101906118f4565b5060408201518051610dc09160028401916020909101906118f4565b50606082015160038281018054608086015160a087015163ffffffff1990921663ffffffff95850b95909516949094176bffffffffffffffff00000000191664010000000067ffffffffffffffff958616021773ffffffffffffffff00000000000000000000000019166c0100000000000000000000000094909116939093029290921790915560c0830151600483015560e0830151600583015561010083015160068301556101208301516007830180549192909160ff1916906001908490811115610e8957fe5b0217905550506003805460010181556040805187830b90920b9082015267ffffffffffffffff80861660608301528416608082015260a080825288519082015287518992507fe187dfaad0a80f26ac9cf793022542ac887d4007cd7244664f174a6e7e9f478e9189918991899189918991819060208083019160c08401918a019080838360005b83811015610f28578181015183820152602001610f10565b50505050905090810190601f168015610f555780820380516001836020036101000a031916815260200191505b50838103825287518152875160209182019189019080838360005b83811015610f88578181015183820152602001610f70565b50505050905090810190601f168015610fb55780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a250505050505050565b3360009081526002602052604090205460ff161515600114610ff157600080fd5b600084815260046020526040902054849060ff16151560011461101357600080fd5b6000845111156110445760008581526004602090815260409091208551611042926002909201918701906118f4565b505b67ffffffffffffffff83161561108c57600085815260046020526040902060030180546bffffffffffffffff00000000191664010000000067ffffffffffffffff8616021790555b67ffffffffffffffff8216156110e4576000858152600460205260409020600301805473ffffffffffffffff00000000000000000000000019166c0100000000000000000000000067ffffffffffffffff8516021790555b847fe13dc79b60f22c2f8a0ac013c778114e0ef4294b5bd560686c4aa38abd3d0b92856040518080602001828103825283818151815260200191508051906020019080838360005b8381101561114457818101518382015260200161112c565b50505050905090810190601f1680156111715780820380516001836020036101000a031916815260200191505b509250505060405180910390a25050505050565b60035481565b600560209081526000928352604080842090915290825290208054600182015460029092015460ff91821692911683565b6060600180548060200260200160405190810160405280929190818152602001828054801561121457602002820191906000526020600020905b8154600160a060020a031681526001909101906020018083116111f6575b505050505090505b90565b6000828152600460205260408120548190849060ff16151560011461124357600080fd5b83600181600381111561125257fe5b14806112695750600281600381111561126757fe5b145b8061127f5750600381600381111561127d57fe5b145b151561128a57600080fd5b6000341161129757600080fd5b60008681526004602052604081209450600785015460ff1660038111156112ba57fe5b146112c457600080fd5b60038401544264010000000090910467ffffffffffffffff1611156112e857600080fd5b6003840154426c0100000000000000000000000090910467ffffffffffffffff16101561131457600080fd5b600185600381111561132257fe5b14156113405761133684600401543461155e565b6004850155611394565b600285600381111561134e57fe5b141561136c5761136284600501543461155e565b6005850155611394565b600385600381111561137a57fe5b14156113945761138e84600601543461155e565b60068501555b600086815260056020908152604080832033845290915281209350835460ff1660038111156113bf57fe5b14156113f0573460018085019190915583548691859160ff1916908360038111156113e657fe5b021790555061142a565b8460038111156113fc57fe5b835460ff16600381111561140c57fe5b1461141657600080fd5b61142483600101543461155e565b60018401555b8533600160a060020a03167fe48b96341a67ee69e6670e8df3a21898808edf14251f7cb24681dd7d9f1c8ee78734886004015489600501548a600601546040518086600381111561147757fe5b60ff1681526020018581526020018481526020018381526020018281526020019550505050505060405180910390a3505050505050565b600054600160a060020a031633146114c557600080fd5b60008054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f54a6385aa0292b04e1ef8513253c17d1863f7cdfc87029d77fd55cc4c2e717e29181900360200190a150565b60026020526000908152604090205460ff1681565b600054600160a060020a0316331461155257600080fd5b61155b8161171a565b50565b8181018281101561156b57fe5b92915050565b6000818381151561157e57fe5b049392505050565b8054600090819060ff16600381111561159b57fe5b600785015460ff1660038111156115ae57fe5b146115bc5760009150611713565b6001600785015460ff1660038111156115d157fe5b1480156115e2575060008460040154115b15611634576115f98460050154856006015461155e565b90506116108161160b83600654611571565b611866565b905061162d611623846001015483611878565b8560040154611571565b905061170f565b6002600785015460ff16600381111561164957fe5b14801561165a575060008460050154115b156116a0576116718460040154856006015461155e565b90506116838161160b83600654611571565b905061162d611696846001015483611878565b8560050154611571565b6003600785015460ff1660038111156116b557fe5b1480156116c6575060008460060154115b1561170f576116dd8460040154856005015461155e565b90506116ef8161160b83600654611571565b905061170c611702846001015483611878565b8560060154611571565b90505b8091505b5092915050565b6000805b60015482101561177d5760006002600060018581548110151561173d57fe5b600091825260208083209190910154600160a060020a031683528201929092526040019020805460ff19169115159190911790556001919091019061171e565b5060005b82518110156117d857600160026000858481518110151561179e57fe5b602090810291909101810151600160a060020a03168252810191909152604001600020805460ff1916911515919091179055600101611781565b82516117eb906001906020860190611972565b507f9465cd279c2de393c5568ae444599e3644e3d1864ca2c05ced8a654df2aea3cb836040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561184e578181015183820152602001611836565b505050509050019250505060405180910390a1505050565b60008282111561187257fe5b50900390565b60008215156118895750600061156b565b5081810281838281151561189957fe5b041461156b57fe5b604080516101408101825260008082526060602083018190529282018390529181018290526080810182905260a0810182905260c0810182905260e0810182905261010081018290529061012082015290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061193557805160ff1916838001178555611962565b82800160010185558215611962579182015b82811115611962578251825591602001919060010190611947565b5061196e9291506119e0565b5090565b8280548282559060005260206000209081019282156119d4579160200282015b828111156119d4578251825473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909116178255602090920191600190910190611992565b5061196e9291506119fa565b61121c91905b8082111561196e57600081556001016119e6565b61121c91905b8082111561196e57805473ffffffffffffffffffffffffffffffffffffffff19168155600101611a005600a165627a7a723058209acb94fafb30f877552b71113a959d59a3f13bbef36a11038456129f6fbd51840029
Deployed Bytecode
0x6080604052600436106100e55763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663025e7c2781146100ea578063238c8a821461011e5780632c4e722e1461013e5780632e1a7d4d14610165578063446dba8f1461017d5780634768d4ef146101a1578063481c6a751461030f578063625a3a34146103245780637fef2d38146103db578063854458291461045057806392b108d014610465578063a0e67e2b146104bf578063c437a0cd14610524578063d0ebdbe714610535578063eb6b192f14610556578063fa4d36981461058b575b600080fd5b3480156100f657600080fd5b506101026004356105e0565b60408051600160a060020a039092168252519081900360200190f35b34801561012a57600080fd5b5061013c60043560ff60243516610608565b005b34801561014a57600080fd5b50610153610877565b60408051918252519081900360200190f35b34801561017157600080fd5b5061013c60043561087d565b34801561018957600080fd5b50610153600435600160a060020a0360243516610a02565b3480156101ad57600080fd5b506101b9600435610afa565b604051808b15151515815260200180602001806020018a60030b60030b81526020018967ffffffffffffffff1667ffffffffffffffff1681526020018867ffffffffffffffff1667ffffffffffffffff16815260200187815260200186815260200185815260200184600381111561022d57fe5b60ff16815260200183810383528c818151815260200191508051906020019080838360005b8381101561026a578181015183820152602001610252565b50505050905090810190601f1680156102975780820380516001836020036101000a031916815260200191505b5083810382528b5181528b516020918201918d019080838360005b838110156102ca5781810151838201526020016102b2565b50505050905090810190601f1680156102f75780820380516001836020036101000a031916815260200191505b509c5050505050505050505050505060405180910390f35b34801561031b57600080fd5b50610102610c8a565b34801561033057600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261013c95833595369560449491939091019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497505050833560030b9450505050602081013567ffffffffffffffff908116916040013516610c99565b3480156103e757600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261013c9583359536956044949193909101919081908401838280828437509497505067ffffffffffffffff8535811696506020909501359094169350610fd092505050565b34801561045c57600080fd5b50610153611185565b34801561047157600080fd5b50610489600435600160a060020a036024351661118b565b6040518084600381111561049957fe5b60ff16815260200183815260200182151515158152602001935050505060405180910390f35b3480156104cb57600080fd5b506104d46111bc565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156105105781810151838201526020016104f8565b505050509050019250505060405180910390f35b61013c60043560ff6024351661121f565b34801561054157600080fd5b5061013c600160a060020a03600435166114ae565b34801561056257600080fd5b50610577600160a060020a0360043516611526565b604080519115158252519081900360200190f35b34801561059757600080fd5b506040805160206004803580820135838102808601850190965280855261013c9536959394602494938501929182918501908490808284375094975061153b9650505050505050565b60018054829081106105ee57fe5b600091825260209091200154600160a060020a0316905081565b60008054819081908190600160a060020a0316331461062657600080fd5b600086815260046020526040902054869060ff16151560011461064857600080fd5b85600181600381111561065757fe5b148061066e5750600281600381111561066c57fe5b145b806106845750600381600381111561068257fe5b145b151561068f57600080fd5b60008881526004602052604081206007015460ff1660038111156106af57fe5b146106b957600080fd5b6000888152600460205260409020600701805488919060ff191660018360038111156106e157fe5b021790555060008881526004602052604090209350600187600381111561070457fe5b14156107475761071c8460050154856006015461155e565b955060008460040154111561073e5761073786600654611571565b9450610742565b8594505b6107d4565b600287600381111561075557fe5b14156107885761076d8460040154856006015461155e565b955060008460050154111561073e5761073786600654611571565b600387600381111561079657fe5b14156107d4576107ae8460040154856005015461155e565b95506000846006015411156107d0576107c986600654611571565b94506107d4565b8594505b30925082318511156107e557600080fd5b60008054604051600160a060020a039091169187156108fc02918891818181858888f1935050505015801561081e573d6000803e3d6000fd5b50877f1d411260d381ced63bf038dae2946cba327c0c577467b77e60d229eb93c3d06688876040518083600381111561085357fe5b60ff1681526020018281526020019250505060405180910390a25050505050505050565b60065481565b600081815260046020526040812054819081908190859060ff1615156001146108a557600080fd5b60008681526004602052604081209550600786015460ff1660038111156108c857fe5b14156108d357600080fd5b600086815260056020908152604080832033845290915281209450845460ff1660038111156108fe57fe5b141561090957600080fd5b600184015460001061091a57600080fd5b600284015460ff161561092c57600080fd5b60028401805460ff19166001179055600785015460ff16600381111561094e57fe5b845460ff16600381111561095e57fe5b1461096857600080fd5b6109728585611586565b925061098283856001015461155e565b9250309150813183111561099557600080fd5b604051339084156108fc029085906000818181858888f193505050501580156109c2573d6000803e3d6000fd5b50604080518481529051879133917ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b5689181900360200190a3505050505050565b600082815260046020526040812054819081908190869060ff161515600114610a2a57600080fd5b60008781526004602052604081209450600785015460ff166003811115610a4d57fe5b1415610a5c5760009450610af0565b6000878152600560209081526040808320600160a060020a038a16845290915281209350835460ff166003811115610a9057fe5b1415610a9f5760009450610af0565b825460ff166003811115610aaf57fe5b600785015460ff166003811115610ac257fe5b14610ad05760009450610af0565b610ada8484611586565b9150610aea82846001015461155e565b91508194505b5050505092915050565b6004602090815260009182526040918290208054600180830180548651600261010094831615949094026000190190911692909204601f810186900486028301860190965285825260ff909216949293909290830182828015610b9e5780601f10610b7357610100808354040283529160200191610b9e565b820191906000526020600020905b815481529060010190602001808311610b8157829003601f168201915b50505060028085018054604080516020601f6000196101006001871615020190941695909504928301859004850281018501909152818152959695945090925090830182828015610c305780601f10610c0557610100808354040283529160200191610c30565b820191906000526020600020905b815481529060010190602001808311610c1357829003601f168201915b50505060038085015460048601546005870154600688015460079098015496979383900b9667ffffffffffffffff6401000000008504811697506c0100000000000000000000000090940490931694509092909160ff168a565b600054600160a060020a031681565b610ca16118a1565b3360009081526002602052604090205460ff161515600114610cc257600080fd5b67ffffffffffffffff80831690841610610cdb57600080fd5b60008781526004602052604090205460ff1615610cf757600080fd5b610140604051908101604052806001151581526020018781526020018681526020018560030b81526020018467ffffffffffffffff1681526020018367ffffffffffffffff16815260200160008152602001600081526020016000815260200160006003811115610d6457fe5b905260008881526004602090815260409091208251815460ff191690151517815582820151805193945084939192610da4926001850192909101906118f4565b5060408201518051610dc09160028401916020909101906118f4565b50606082015160038281018054608086015160a087015163ffffffff1990921663ffffffff95850b95909516949094176bffffffffffffffff00000000191664010000000067ffffffffffffffff958616021773ffffffffffffffff00000000000000000000000019166c0100000000000000000000000094909116939093029290921790915560c0830151600483015560e0830151600583015561010083015160068301556101208301516007830180549192909160ff1916906001908490811115610e8957fe5b0217905550506003805460010181556040805187830b90920b9082015267ffffffffffffffff80861660608301528416608082015260a080825288519082015287518992507fe187dfaad0a80f26ac9cf793022542ac887d4007cd7244664f174a6e7e9f478e9189918991899189918991819060208083019160c08401918a019080838360005b83811015610f28578181015183820152602001610f10565b50505050905090810190601f168015610f555780820380516001836020036101000a031916815260200191505b50838103825287518152875160209182019189019080838360005b83811015610f88578181015183820152602001610f70565b50505050905090810190601f168015610fb55780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a250505050505050565b3360009081526002602052604090205460ff161515600114610ff157600080fd5b600084815260046020526040902054849060ff16151560011461101357600080fd5b6000845111156110445760008581526004602090815260409091208551611042926002909201918701906118f4565b505b67ffffffffffffffff83161561108c57600085815260046020526040902060030180546bffffffffffffffff00000000191664010000000067ffffffffffffffff8616021790555b67ffffffffffffffff8216156110e4576000858152600460205260409020600301805473ffffffffffffffff00000000000000000000000019166c0100000000000000000000000067ffffffffffffffff8516021790555b847fe13dc79b60f22c2f8a0ac013c778114e0ef4294b5bd560686c4aa38abd3d0b92856040518080602001828103825283818151815260200191508051906020019080838360005b8381101561114457818101518382015260200161112c565b50505050905090810190601f1680156111715780820380516001836020036101000a031916815260200191505b509250505060405180910390a25050505050565b60035481565b600560209081526000928352604080842090915290825290208054600182015460029092015460ff91821692911683565b6060600180548060200260200160405190810160405280929190818152602001828054801561121457602002820191906000526020600020905b8154600160a060020a031681526001909101906020018083116111f6575b505050505090505b90565b6000828152600460205260408120548190849060ff16151560011461124357600080fd5b83600181600381111561125257fe5b14806112695750600281600381111561126757fe5b145b8061127f5750600381600381111561127d57fe5b145b151561128a57600080fd5b6000341161129757600080fd5b60008681526004602052604081209450600785015460ff1660038111156112ba57fe5b146112c457600080fd5b60038401544264010000000090910467ffffffffffffffff1611156112e857600080fd5b6003840154426c0100000000000000000000000090910467ffffffffffffffff16101561131457600080fd5b600185600381111561132257fe5b14156113405761133684600401543461155e565b6004850155611394565b600285600381111561134e57fe5b141561136c5761136284600501543461155e565b6005850155611394565b600385600381111561137a57fe5b14156113945761138e84600601543461155e565b60068501555b600086815260056020908152604080832033845290915281209350835460ff1660038111156113bf57fe5b14156113f0573460018085019190915583548691859160ff1916908360038111156113e657fe5b021790555061142a565b8460038111156113fc57fe5b835460ff16600381111561140c57fe5b1461141657600080fd5b61142483600101543461155e565b60018401555b8533600160a060020a03167fe48b96341a67ee69e6670e8df3a21898808edf14251f7cb24681dd7d9f1c8ee78734886004015489600501548a600601546040518086600381111561147757fe5b60ff1681526020018581526020018481526020018381526020018281526020019550505050505060405180910390a3505050505050565b600054600160a060020a031633146114c557600080fd5b60008054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f54a6385aa0292b04e1ef8513253c17d1863f7cdfc87029d77fd55cc4c2e717e29181900360200190a150565b60026020526000908152604090205460ff1681565b600054600160a060020a0316331461155257600080fd5b61155b8161171a565b50565b8181018281101561156b57fe5b92915050565b6000818381151561157e57fe5b049392505050565b8054600090819060ff16600381111561159b57fe5b600785015460ff1660038111156115ae57fe5b146115bc5760009150611713565b6001600785015460ff1660038111156115d157fe5b1480156115e2575060008460040154115b15611634576115f98460050154856006015461155e565b90506116108161160b83600654611571565b611866565b905061162d611623846001015483611878565b8560040154611571565b905061170f565b6002600785015460ff16600381111561164957fe5b14801561165a575060008460050154115b156116a0576116718460040154856006015461155e565b90506116838161160b83600654611571565b905061162d611696846001015483611878565b8560050154611571565b6003600785015460ff1660038111156116b557fe5b1480156116c6575060008460060154115b1561170f576116dd8460040154856005015461155e565b90506116ef8161160b83600654611571565b905061170c611702846001015483611878565b8560060154611571565b90505b8091505b5092915050565b6000805b60015482101561177d5760006002600060018581548110151561173d57fe5b600091825260208083209190910154600160a060020a031683528201929092526040019020805460ff19169115159190911790556001919091019061171e565b5060005b82518110156117d857600160026000858481518110151561179e57fe5b602090810291909101810151600160a060020a03168252810191909152604001600020805460ff1916911515919091179055600101611781565b82516117eb906001906020860190611972565b507f9465cd279c2de393c5568ae444599e3644e3d1864ca2c05ced8a654df2aea3cb836040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561184e578181015183820152602001611836565b505050509050019250505060405180910390a1505050565b60008282111561187257fe5b50900390565b60008215156118895750600061156b565b5081810281838281151561189957fe5b041461156b57fe5b604080516101408101825260008082526060602083018190529282018390529181018290526080810182905260a0810182905260c0810182905260e0810182905261010081018290529061012082015290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061193557805160ff1916838001178555611962565b82800160010185558215611962579182015b82811115611962578251825591602001919060010190611947565b5061196e9291506119e0565b5090565b8280548282559060005260206000209081019282156119d4579160200282015b828111156119d4578251825473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909116178255602090920191600190910190611992565b5061196e9291506119fa565b61121c91905b8082111561196e57600081556001016119e6565b61121c91905b8082111561196e57805473ffffffffffffffffffffffffffffffffffffffff19168155600101611a005600a165627a7a723058209acb94fafb30f877552b71113a959d59a3f13bbef36a11038456129f6fbd51840029
Swarm Source
bzzr://9acb94fafb30f877552b71113a959d59a3f13bbef36a11038456129f6fbd5184
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ 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.