Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 153 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Collect | 8640680 | 1970 days ago | IN | 0 ETH | 0.00002181 | ||||
Collect | 8640680 | 1970 days ago | IN | 0 ETH | 0.00002181 | ||||
Collect | 8640680 | 1970 days ago | IN | 0 ETH | 0.00002181 | ||||
Collect | 8603745 | 1976 days ago | IN | 0 ETH | 0.00002181 | ||||
Collect | 8472903 | 1996 days ago | IN | 0 ETH | 0.00007197 | ||||
Collect | 8467000 | 1997 days ago | IN | 0 ETH | 0.0004362 | ||||
Collect | 8466999 | 1997 days ago | IN | 0 ETH | 0.0004362 | ||||
Clear | 8450092 | 2000 days ago | IN | 0 ETH | 0.00097766 | ||||
Pause | 8450084 | 2000 days ago | IN | 0 ETH | 0.00043642 | ||||
Collect | 8443320 | 2001 days ago | IN | 0 ETH | 0.00042539 | ||||
Collect | 8439115 | 2001 days ago | IN | 0 ETH | 0.00212697 | ||||
Collect | 8432739 | 2002 days ago | IN | 0 ETH | 0.00008507 | ||||
Collect | 8432689 | 2002 days ago | IN | 0 ETH | 0.00008507 | ||||
Collect | 8432140 | 2002 days ago | IN | 0 ETH | 0.00008507 | ||||
Collect | 8386495 | 2010 days ago | IN | 0 ETH | 0.00085079 | ||||
Collect | 8386021 | 2010 days ago | IN | 0 ETH | 0.00051047 | ||||
Collect | 8363122 | 2013 days ago | IN | 0 ETH | 0.00008507 | ||||
Collect | 8355181 | 2014 days ago | IN | 0 ETH | 0.00042539 | ||||
Collect | 8355084 | 2014 days ago | IN | 0 ETH | 0.00042539 | ||||
Collect | 8355048 | 2014 days ago | IN | 0 ETH | 0.00042539 | ||||
Collect | 8355021 | 2014 days ago | IN | 0 ETH | 0.00042539 | ||||
Collect | 8353602 | 2015 days ago | IN | 0 ETH | 0.00144634 | ||||
Collect | 8352468 | 2015 days ago | IN | 0 ETH | 0.00022149 | ||||
Collect | 8352468 | 2015 days ago | IN | 0 ETH | 0.00085079 | ||||
Collect | 8348922 | 2015 days ago | IN | 0 ETH | 0.00017015 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Distribution
Compiler Version
v0.5.10+commit.5a6ea5b1
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-07-31 */ pragma solidity ^0.5.0; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a, "SafeMath: subtraction overflow"); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { require(b > 0, "SafeMath: division by zero"); uint256 c = a / b; return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { require(b != 0, "SafeMath: modulo by zero"); return a % b; } } contract Ownable { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () internal { _owner = msg.sender; emit OwnershipTransferred(address(0), _owner); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(isOwner(), "Ownable: caller is not the owner"); _; } function isOwner() public view returns (bool) { return msg.sender == _owner; } function renounceOwnership() public onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public onlyOwner { _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library Roles { struct Role { mapping (address => bool) bearer; } function add(Role storage role, address account) internal { require(!has(role, account), "Roles: account already has role"); role.bearer[account] = true; } function remove(Role storage role, address account) internal { require(has(role, account), "Roles: account does not have role"); role.bearer[account] = false; } function has(Role storage role, address account) internal view returns (bool) { require(account != address(0), "Roles: account is the zero address"); return role.bearer[account]; } } contract PauserRole { using Roles for Roles.Role; event PauserAdded(address indexed account); event PauserRemoved(address indexed account); Roles.Role private _pausers; constructor () internal { _addPauser(msg.sender); } modifier onlyPauser() { require(isPauser(msg.sender), "PauserRole: caller does not have the Pauser role"); _; } function isPauser(address account) public view returns (bool) { return _pausers.has(account); } function addPauser(address account) public onlyPauser { _addPauser(account); } function renouncePauser() public { _removePauser(msg.sender); } function _addPauser(address account) internal { _pausers.add(account); emit PauserAdded(account); } function _removePauser(address account) internal { _pausers.remove(account); emit PauserRemoved(account); } } contract Pausable is PauserRole { event Paused(address account); event Unpaused(address account); bool private _paused; constructor () internal { _paused = false; } function paused() public view returns (bool) { return _paused; } modifier whenNotPaused() { require(!_paused, "Pausable: paused"); _; } modifier whenPaused() { require(_paused, "Pausable: not paused"); _; } function pause() public onlyPauser whenNotPaused { _paused = true; emit Paused(msg.sender); } function unpause() public onlyPauser whenPaused { _paused = false; emit Unpaused(msg.sender); } } interface IDistribution { event RewardAssigned(uint256 periodEnd, address indexed masternode, uint256 value); event RewardCollected(uint256 periodEnd, address indexed masternode, uint256 value); event RewardSet(address indexed masternode, uint256 value); function rewardOf(address account) external view returns (uint256); function periodEndOf(address account) external view returns (uint256); function assignRewards(uint256 periodEnd, address[] calldata accounts, uint256[] calldata values) external returns (bool); function encodedAssignRewards(uint256 periodEnd, uint160 lotSize, uint256[] calldata rewards) external returns (bool); function collect() external returns (bool); function collectRewards(address[] calldata accounts) external returns (bool); function clear() external returns (bool); } contract ManagerRole { using Roles for Roles.Role; event ManagerAdded(address indexed account); event ManagerRemoved(address indexed account); Roles.Role private _manager; modifier onlyManager() { require(_isManager(msg.sender)); _; } function _addManager(address account) internal { _manager.add(account); emit ManagerAdded(account); } function _removeManager(address account) internal { _manager.remove(account); emit ManagerRemoved(account); } function _isManager(address account) internal view returns (bool) { return _manager.has(account); } } contract Distribution is IDistribution, ManagerRole, Ownable, Pausable { using SafeMath for uint256; struct AccountReward { uint256 reward; uint256 periodEnd; } mapping(address => AccountReward) public _rewards; IERC20 private _swmERC20; constructor(address swmERC20) public { _swmERC20 = IERC20(swmERC20); } function rewardOf(address account) external view returns (uint256) { return _rewards[account].reward; } function periodEndOf(address account) external view returns (uint256) { return _rewards[account].periodEnd; } function assignRewards(uint256 periodEnd, address[] calldata accounts, uint256[] calldata values) external whenNotPaused onlyOwnerOrManager returns (bool) { require(accounts.length != 0, "Accounts length is zero"); require(accounts.length == values.length, "Lengths difference"); require(periodEnd < now, "Period end is in future"); uint256 sumValues = 0; for (uint256 i = 0; i < accounts.length; i++) { _assign(periodEnd, accounts[i], values[i]); sumValues = sumValues.add(values[i]); } _swmERC20.transferFrom(msg.sender, address(this), sumValues); return true; } function encodedAssignRewards(uint256 periodEnd, uint160 lotSize, uint256[] calldata rewards) external whenNotPaused onlyOwnerOrManager returns (bool) { require(rewards.length != 0, "Values length is zero"); require(periodEnd < now, "Period end is in future"); uint256 count = rewards.length; uint256 sumValues = 0; for (uint256 i = 0; i < count; i++) { uint256 reward = rewards[i]; uint256 value = (reward >> 160) * lotSize; address to = address(reward & 0x00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF); _assign(periodEnd, to, value); sumValues = sumValues.add(value); } _swmERC20.transferFrom(msg.sender, address(this), sumValues); return true; } function setRewards(address[] calldata accounts, uint256[] calldata values) external whenPaused onlyOwner returns (bool) { require(accounts.length != 0, "Accounts length is zero"); require(accounts.length == values.length, "Lengths difference"); for (uint256 i = 0; i < accounts.length; i++) { _set(accounts[i], values[i]); } return true; } function collect() external whenNotPaused returns (bool) { _collect(msg.sender); return true; } function collectRewards(address[] calldata accounts) external onlyOwner returns (bool) { require(accounts.length != 0, "Accounts length is zero"); for (uint256 i = 0; i < accounts.length; i++) { _collect(accounts[i]); } return true; } function clear() external onlyOwner returns (bool) { return _swmERC20.transfer(msg.sender, _swmERC20.balanceOf(address(this))); } function isManager(address account) external view returns (bool) { return _isManager(account); } function addManager(address account) external onlyOwner { _addManager(account); } function removeManager(address account) external onlyOwner { _removeManager(account); } modifier onlyOwnerOrManager() { require(isOwner() || _isManager(msg.sender), "Not Owner or Manager"); _; } function _collect(address account) internal { require(_rewards[account].reward != 0, "Reward is zero"); uint256 reward = _rewards[account].reward; uint256 periodEnd = _rewards[account].periodEnd; delete _rewards[account].reward; _swmERC20.transfer(account, reward); emit RewardCollected(periodEnd, account, reward); } function _assign(uint256 periodEnd, address account, uint256 value) internal { require(value != 0, "Value is zero"); require(account != address(0), "Account address is zero"); require(periodEnd > _rewards[account].periodEnd, "Period end less than saved for account"); _rewards[account].reward = _rewards[account].reward.add(value); _rewards[account].periodEnd = periodEnd; emit RewardAssigned(periodEnd, account, value); } function _set(address account, uint256 value) internal { require(account != address(0), "Account address is zero"); _rewards[account].reward = value; emit RewardSet(account, value); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"rewardOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isPauser","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"clear","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renouncePauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"_rewards","outputs":[{"name":"reward","type":"uint256"},{"name":"periodEnd","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addPauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"accounts","type":"address[]"},{"name":"values","type":"uint256[]"}],"name":"setRewards","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"periodEnd","type":"uint256"},{"name":"accounts","type":"address[]"},{"name":"values","type":"uint256[]"}],"name":"assignRewards","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"removeManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"collect","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"periodEndOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isManager","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"accounts","type":"address[]"}],"name":"collectRewards","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"periodEnd","type":"uint256"},{"name":"lotSize","type":"uint160"},{"name":"rewards","type":"uint256[]"}],"name":"encodedAssignRewards","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"swmERC20","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"ManagerAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"ManagerRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"periodEnd","type":"uint256"},{"indexed":true,"name":"masternode","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"RewardAssigned","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"periodEnd","type":"uint256"},{"indexed":true,"name":"masternode","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"RewardCollected","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"masternode","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"RewardSet","type":"event"}]
Contract Creation Code
60806040523480156200001157600080fd5b5060405162002fc238038062002fc2833981810160405260208110156200003757600080fd5b810190808051906020019092919050505033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a362000117336200017a60201b60201c565b6000600360006101000a81548160ff02191690831515021790555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506200039f565b62000195816002620001db60201b620029651790919060201c565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b620001ed8282620002bf60201b60201c565b1562000261576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000348576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018062002fa06022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b612bf180620003af6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80638da5cb5b116100b8578063e52253811161007c578063e5225381146105d4578063f2347cd2146105f6578063f2fde38b1461064e578063f3ae241514610692578063f9c31da2146106ee578063fdc3a69f1461077f57610142565b80638da5cb5b1461034e5780638f32d59b1461039857806392920522146103ba5780639a790395146104a0578063ac18de431461059057610142565b80635c975abb1161010a5780635c975abb1461026b5780636ef8d66d1461028d578063715018a6146102975780637d6dfb7e146102a157806382dc1ec4146103005780638456cb591461034457610142565b80631d62ebd9146101475780632d06177a1461019f5780633f4ba83a146101e357806346fbf68e146101ed57806352efea6e14610249575b600080fd5b6101896004803603602081101561015d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061083a565b6040518082815260200191505060405180910390f35b6101e1600480360360208110156101b557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610886565b005b6101eb61090c565b005b61022f6004803603602081101561020357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a6c565b604051808215151515815260200191505060405180910390f35b610251610a89565b604051808215151515815260200191505060405180910390f35b610273610cc7565b604051808215151515815260200191505060405180910390f35b610295610cde565b005b61029f610ce9565b005b6102e3600480360360208110156102b757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e24565b604051808381526020018281526020019250505060405180910390f35b6103426004803603602081101561031657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e48565b005b61034c610eb2565b005b610356611013565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103a061103d565b604051808215151515815260200191505060405180910390f35b610486600480360360408110156103d057600080fd5b81019080803590602001906401000000008111156103ed57600080fd5b8201836020820111156103ff57600080fd5b8035906020019184602083028401116401000000008311171561042157600080fd5b90919293919293908035906020019064010000000081111561044257600080fd5b82018360208201111561045457600080fd5b8035906020019184602083028401116401000000008311171561047657600080fd5b9091929391929390505050611095565b604051808215151515815260200191505060405180910390f35b610576600480360360608110156104b657600080fd5b8101908080359060200190929190803590602001906401000000008111156104dd57600080fd5b8201836020820111156104ef57600080fd5b8035906020019184602083028401116401000000008311171561051157600080fd5b90919293919293908035906020019064010000000081111561053257600080fd5b82018360208201111561054457600080fd5b8035906020019184602083028401116401000000008311171561056657600080fd5b90919293919293905050506112f7565b604051808215151515815260200191505060405180910390f35b6105d2600480360360208110156105a657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611727565b005b6105dc6117ad565b604051808215151515815260200191505060405180910390f35b6106386004803603602081101561060c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611842565b6040518082815260200191505060405180910390f35b6106906004803603602081101561066457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061188e565b005b6106d4600480360360208110156106a857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611914565b604051808215151515815260200191505060405180910390f35b6107656004803603602081101561070457600080fd5b810190808035906020019064010000000081111561072157600080fd5b82018360208201111561073357600080fd5b8035906020019184602083028401116401000000008311171561075557600080fd5b9091929391929390505050611926565b604051808215151515815260200191505060405180910390f35b6108206004803603606081101561079557600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156107dc57600080fd5b8201836020820111156107ee57600080fd5b8035906020019184602083028401116401000000008311171561081057600080fd5b9091929391929390505050611a76565b604051808215151515815260200191505060405180910390f35b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001549050919050565b61088e61103d565b610900576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b61090981611e3a565b50565b61091533610a6c565b61096a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180612afe6030913960400191505060405180910390fd5b600360009054906101000a900460ff166109ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5061757361626c653a206e6f742070617573656400000000000000000000000081525060200191505060405180910390fd5b6000600360006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000610a82826002611e9490919063ffffffff16565b9050919050565b6000610a9361103d565b610b05576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610be357600080fd5b505afa158015610bf7573d6000803e3d6000fd5b505050506040513d6020811015610c0d57600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610c8757600080fd5b505af1158015610c9b573d6000803e3d6000fd5b505050506040513d6020811015610cb157600080fd5b8101908080519060200190929190505050905090565b6000600360009054906101000a900460ff16905090565b610ce733611f72565b565b610cf161103d565b610d63576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60046020528060005260406000206000915090508060000154908060010154905082565b610e5133610a6c565b610ea6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180612afe6030913960400191505060405180910390fd5b610eaf81611fcc565b50565b610ebb33610a6c565b610f10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180612afe6030913960400191505060405180910390fd5b600360009054906101000a900460ff1615610f93576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b6001600360006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b6000600360009054906101000a900460ff16611119576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5061757361626c653a206e6f742070617573656400000000000000000000000081525060200191505060405180910390fd5b61112161103d565b611193576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600085859050141561120d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4163636f756e7473206c656e677468206973207a65726f00000000000000000081525060200191505060405180910390fd5b828290508585905014611288576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4c656e6774687320646966666572656e6365000000000000000000000000000081525060200191505060405180910390fd5b60008090505b858590508110156112ea576112dd8686838181106112a857fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff168585848181106112d157fe5b90506020020135612026565b808060010191505061128e565b5060019050949350505050565b6000600360009054906101000a900460ff161561137c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b61138461103d565b80611394575061139333612162565b5b611406576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f4e6f74204f776e6572206f72204d616e6167657200000000000000000000000081525060200191505060405180910390fd5b6000858590501415611480576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4163636f756e7473206c656e677468206973207a65726f00000000000000000081525060200191505060405180910390fd5b8282905085859050146114fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4c656e6774687320646966666572656e6365000000000000000000000000000081525060200191505060405180910390fd5b428610611570576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f506572696f6420656e6420697320696e2066757475726500000000000000000081525060200191505060405180910390fd5b600080905060008090505b868690508110156115ff576115cb8888888481811061159657fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff168787858181106115bf57fe5b9050602002013561217f565b6115f08585838181106115da57fe5b905060200201358361247090919063ffffffff16565b9150808060010191505061157b565b50600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116dd57600080fd5b505af11580156116f1573d6000803e3d6000fd5b505050506040513d602081101561170757600080fd5b810190808051906020019092919050505050600191505095945050505050565b61172f61103d565b6117a1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6117aa816124f8565b50565b6000600360009054906101000a900460ff1615611832576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b61183b33612552565b6001905090565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549050919050565b61189661103d565b611908576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6119118161281f565b50565b600061191f82612162565b9050919050565b600061193061103d565b6119a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000838390501415611a1c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4163636f756e7473206c656e677468206973207a65726f00000000000000000081525060200191505060405180910390fd5b60008090505b83839050811015611a6b57611a5e848483818110611a3c57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16612552565b8080600101915050611a22565b506001905092915050565b6000600360009054906101000a900460ff1615611afb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b611b0361103d565b80611b135750611b1233612162565b5b611b85576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f4e6f74204f776e6572206f72204d616e6167657200000000000000000000000081525060200191505060405180910390fd5b6000838390501415611bff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f56616c756573206c656e677468206973207a65726f000000000000000000000081525060200191505060405180910390fd5b428510611c74576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f506572696f6420656e6420697320696e2066757475726500000000000000000081525060200191505060405180910390fd5b6000838390509050600080905060008090505b82811015611d12576000868683818110611c9d57fe5b90506020020135905060008873ffffffffffffffffffffffffffffffffffffffff1660a083901c029050600073ffffffffffffffffffffffffffffffffffffffff83169050611ced8b828461217f565b611d00828661247090919063ffffffff16565b94505050508080600101915050611c87565b50600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611df057600080fd5b505af1158015611e04573d6000803e3d6000fd5b505050506040513d6020811015611e1a57600080fd5b810190808051906020019092919050505050600192505050949350505050565b611e4e81600061296590919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f3b4a40cccf2058c593542587329dd385be4f0b588db5471fbd9598e56dd7093a60405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612b756022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611f86816002612a4090919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e60405160405180910390a250565b611fe081600261296590919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156120c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4163636f756e742061646472657373206973207a65726f00000000000000000081525060200191505060405180910390fd5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055508173ffffffffffffffffffffffffffffffffffffffff167ffb1d63c3ab92db1512a24431e1b98d16962606e5ed0f4b72705880eb9175ba0a826040518082815260200191505060405180910390a25050565b6000612178826000611e9490919063ffffffff16565b9050919050565b60008114156121f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f56616c7565206973207a65726f0000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612299576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4163636f756e742061646472657373206973207a65726f00000000000000000081525060200191505060405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101548311612333576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612b976026913960400191505060405180910390fd5b61238881600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015461247090919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555082600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055508173ffffffffffffffffffffffffffffffffffffffff167f40cea6a517c46e3041942d9b88a525b986aa75d5fe283b97daea8f241519e31d8483604051808381526020018281526020019250505060405180910390a2505050565b6000808284019050838110156124ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b61250c816000612a4090919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fef69f7d97228658c92417be1b16b19058315de71fecb435d07b7d23728b6bd3160405160405180910390a250565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154141561260b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f526577617264206973207a65726f00000000000000000000000000000000000081525060200191505060405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015490506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549050600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009055600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561278857600080fd5b505af115801561279c573d6000803e3d6000fd5b505050506040513d60208110156127b257600080fd5b8101908080519060200190929190505050508273ffffffffffffffffffffffffffffffffffffffff167f21c44946fba391a23601cfe4a4c4dc751779719b269b81942339d9eadb9302238284604051808381526020018281526020019250505060405180910390a2505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156128a5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612b2e6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61296f8282611e94565b156129e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b612a4a8282611e94565b612a9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b546021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505056fe506175736572526f6c653a2063616c6c657220646f6573206e6f742068617665207468652050617573657220726f6c654f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373506572696f6420656e64206c657373207468616e20736176656420666f72206163636f756e74a265627a7a723058201fe98ce15ea1da214274a5f8505ba901f776004abd7eeecf638488cf5b9fd9b164736f6c634300050a0032526f6c65733a206163636f756e7420697320746865207a65726f20616464726573730000000000000000000000009e88613418cf03dca54d6a2cf6ad934a78c7a17a
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101425760003560e01c80638da5cb5b116100b8578063e52253811161007c578063e5225381146105d4578063f2347cd2146105f6578063f2fde38b1461064e578063f3ae241514610692578063f9c31da2146106ee578063fdc3a69f1461077f57610142565b80638da5cb5b1461034e5780638f32d59b1461039857806392920522146103ba5780639a790395146104a0578063ac18de431461059057610142565b80635c975abb1161010a5780635c975abb1461026b5780636ef8d66d1461028d578063715018a6146102975780637d6dfb7e146102a157806382dc1ec4146103005780638456cb591461034457610142565b80631d62ebd9146101475780632d06177a1461019f5780633f4ba83a146101e357806346fbf68e146101ed57806352efea6e14610249575b600080fd5b6101896004803603602081101561015d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061083a565b6040518082815260200191505060405180910390f35b6101e1600480360360208110156101b557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610886565b005b6101eb61090c565b005b61022f6004803603602081101561020357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a6c565b604051808215151515815260200191505060405180910390f35b610251610a89565b604051808215151515815260200191505060405180910390f35b610273610cc7565b604051808215151515815260200191505060405180910390f35b610295610cde565b005b61029f610ce9565b005b6102e3600480360360208110156102b757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e24565b604051808381526020018281526020019250505060405180910390f35b6103426004803603602081101561031657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e48565b005b61034c610eb2565b005b610356611013565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103a061103d565b604051808215151515815260200191505060405180910390f35b610486600480360360408110156103d057600080fd5b81019080803590602001906401000000008111156103ed57600080fd5b8201836020820111156103ff57600080fd5b8035906020019184602083028401116401000000008311171561042157600080fd5b90919293919293908035906020019064010000000081111561044257600080fd5b82018360208201111561045457600080fd5b8035906020019184602083028401116401000000008311171561047657600080fd5b9091929391929390505050611095565b604051808215151515815260200191505060405180910390f35b610576600480360360608110156104b657600080fd5b8101908080359060200190929190803590602001906401000000008111156104dd57600080fd5b8201836020820111156104ef57600080fd5b8035906020019184602083028401116401000000008311171561051157600080fd5b90919293919293908035906020019064010000000081111561053257600080fd5b82018360208201111561054457600080fd5b8035906020019184602083028401116401000000008311171561056657600080fd5b90919293919293905050506112f7565b604051808215151515815260200191505060405180910390f35b6105d2600480360360208110156105a657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611727565b005b6105dc6117ad565b604051808215151515815260200191505060405180910390f35b6106386004803603602081101561060c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611842565b6040518082815260200191505060405180910390f35b6106906004803603602081101561066457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061188e565b005b6106d4600480360360208110156106a857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611914565b604051808215151515815260200191505060405180910390f35b6107656004803603602081101561070457600080fd5b810190808035906020019064010000000081111561072157600080fd5b82018360208201111561073357600080fd5b8035906020019184602083028401116401000000008311171561075557600080fd5b9091929391929390505050611926565b604051808215151515815260200191505060405180910390f35b6108206004803603606081101561079557600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156107dc57600080fd5b8201836020820111156107ee57600080fd5b8035906020019184602083028401116401000000008311171561081057600080fd5b9091929391929390505050611a76565b604051808215151515815260200191505060405180910390f35b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001549050919050565b61088e61103d565b610900576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b61090981611e3a565b50565b61091533610a6c565b61096a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180612afe6030913960400191505060405180910390fd5b600360009054906101000a900460ff166109ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5061757361626c653a206e6f742070617573656400000000000000000000000081525060200191505060405180910390fd5b6000600360006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000610a82826002611e9490919063ffffffff16565b9050919050565b6000610a9361103d565b610b05576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610be357600080fd5b505afa158015610bf7573d6000803e3d6000fd5b505050506040513d6020811015610c0d57600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610c8757600080fd5b505af1158015610c9b573d6000803e3d6000fd5b505050506040513d6020811015610cb157600080fd5b8101908080519060200190929190505050905090565b6000600360009054906101000a900460ff16905090565b610ce733611f72565b565b610cf161103d565b610d63576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60046020528060005260406000206000915090508060000154908060010154905082565b610e5133610a6c565b610ea6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180612afe6030913960400191505060405180910390fd5b610eaf81611fcc565b50565b610ebb33610a6c565b610f10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180612afe6030913960400191505060405180910390fd5b600360009054906101000a900460ff1615610f93576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b6001600360006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b6000600360009054906101000a900460ff16611119576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5061757361626c653a206e6f742070617573656400000000000000000000000081525060200191505060405180910390fd5b61112161103d565b611193576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600085859050141561120d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4163636f756e7473206c656e677468206973207a65726f00000000000000000081525060200191505060405180910390fd5b828290508585905014611288576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4c656e6774687320646966666572656e6365000000000000000000000000000081525060200191505060405180910390fd5b60008090505b858590508110156112ea576112dd8686838181106112a857fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff168585848181106112d157fe5b90506020020135612026565b808060010191505061128e565b5060019050949350505050565b6000600360009054906101000a900460ff161561137c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b61138461103d565b80611394575061139333612162565b5b611406576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f4e6f74204f776e6572206f72204d616e6167657200000000000000000000000081525060200191505060405180910390fd5b6000858590501415611480576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4163636f756e7473206c656e677468206973207a65726f00000000000000000081525060200191505060405180910390fd5b8282905085859050146114fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4c656e6774687320646966666572656e6365000000000000000000000000000081525060200191505060405180910390fd5b428610611570576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f506572696f6420656e6420697320696e2066757475726500000000000000000081525060200191505060405180910390fd5b600080905060008090505b868690508110156115ff576115cb8888888481811061159657fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff168787858181106115bf57fe5b9050602002013561217f565b6115f08585838181106115da57fe5b905060200201358361247090919063ffffffff16565b9150808060010191505061157b565b50600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116dd57600080fd5b505af11580156116f1573d6000803e3d6000fd5b505050506040513d602081101561170757600080fd5b810190808051906020019092919050505050600191505095945050505050565b61172f61103d565b6117a1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6117aa816124f8565b50565b6000600360009054906101000a900460ff1615611832576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b61183b33612552565b6001905090565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549050919050565b61189661103d565b611908576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6119118161281f565b50565b600061191f82612162565b9050919050565b600061193061103d565b6119a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000838390501415611a1c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4163636f756e7473206c656e677468206973207a65726f00000000000000000081525060200191505060405180910390fd5b60008090505b83839050811015611a6b57611a5e848483818110611a3c57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16612552565b8080600101915050611a22565b506001905092915050565b6000600360009054906101000a900460ff1615611afb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b611b0361103d565b80611b135750611b1233612162565b5b611b85576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f4e6f74204f776e6572206f72204d616e6167657200000000000000000000000081525060200191505060405180910390fd5b6000838390501415611bff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f56616c756573206c656e677468206973207a65726f000000000000000000000081525060200191505060405180910390fd5b428510611c74576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f506572696f6420656e6420697320696e2066757475726500000000000000000081525060200191505060405180910390fd5b6000838390509050600080905060008090505b82811015611d12576000868683818110611c9d57fe5b90506020020135905060008873ffffffffffffffffffffffffffffffffffffffff1660a083901c029050600073ffffffffffffffffffffffffffffffffffffffff83169050611ced8b828461217f565b611d00828661247090919063ffffffff16565b94505050508080600101915050611c87565b50600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611df057600080fd5b505af1158015611e04573d6000803e3d6000fd5b505050506040513d6020811015611e1a57600080fd5b810190808051906020019092919050505050600192505050949350505050565b611e4e81600061296590919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f3b4a40cccf2058c593542587329dd385be4f0b588db5471fbd9598e56dd7093a60405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612b756022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611f86816002612a4090919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e60405160405180910390a250565b611fe081600261296590919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156120c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4163636f756e742061646472657373206973207a65726f00000000000000000081525060200191505060405180910390fd5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055508173ffffffffffffffffffffffffffffffffffffffff167ffb1d63c3ab92db1512a24431e1b98d16962606e5ed0f4b72705880eb9175ba0a826040518082815260200191505060405180910390a25050565b6000612178826000611e9490919063ffffffff16565b9050919050565b60008114156121f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f56616c7565206973207a65726f0000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612299576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4163636f756e742061646472657373206973207a65726f00000000000000000081525060200191505060405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101548311612333576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612b976026913960400191505060405180910390fd5b61238881600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015461247090919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555082600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055508173ffffffffffffffffffffffffffffffffffffffff167f40cea6a517c46e3041942d9b88a525b986aa75d5fe283b97daea8f241519e31d8483604051808381526020018281526020019250505060405180910390a2505050565b6000808284019050838110156124ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b61250c816000612a4090919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fef69f7d97228658c92417be1b16b19058315de71fecb435d07b7d23728b6bd3160405160405180910390a250565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154141561260b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f526577617264206973207a65726f00000000000000000000000000000000000081525060200191505060405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015490506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549050600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009055600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561278857600080fd5b505af115801561279c573d6000803e3d6000fd5b505050506040513d60208110156127b257600080fd5b8101908080519060200190929190505050508273ffffffffffffffffffffffffffffffffffffffff167f21c44946fba391a23601cfe4a4c4dc751779719b269b81942339d9eadb9302238284604051808381526020018281526020019250505060405180910390a2505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156128a5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612b2e6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61296f8282611e94565b156129e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b612a4a8282611e94565b612a9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b546021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505056fe506175736572526f6c653a2063616c6c657220646f6573206e6f742068617665207468652050617573657220726f6c654f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373506572696f6420656e64206c657373207468616e20736176656420666f72206163636f756e74a265627a7a723058201fe98ce15ea1da214274a5f8505ba901f776004abd7eeecf638488cf5b9fd9b164736f6c634300050a0032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000009e88613418cf03dca54d6a2cf6ad934a78c7a17a
-----Decoded View---------------
Arg [0] : swmERC20 (address): 0x9e88613418cF03dCa54D6a2cf6Ad934A78C7A17A
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000009e88613418cf03dca54d6a2cf6ad934a78c7a17a
Swarm Source
bzzr://1fe98ce15ea1da214274a5f8505ba901f776004abd7eeecf638488cf5b9fd9b1
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 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.