ETH Price: $1,787.63 (-1.81%)
Gas: 0.44 Gwei

Contract

0x3505F494c3f0fed0B594E01Fa41Dd3967645ca39
 

Overview

ETH Balance

0.00185815 ETH

Eth Value

$3.32 (@ $1,787.63/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve221923452025-04-04 1:43:5939 hrs ago1743731039IN
Swarm Fund Token
0 ETH0.000065031.39648483
Approve221797192025-04-02 7:25:473 days ago1743578747IN
Swarm Fund Token
0 ETH0.000046291
Approve221589782025-03-30 9:58:356 days ago1743328715IN
Swarm Fund Token
0 ETH0.000109662.35762461
Transfer221589222025-03-30 9:46:596 days ago1743328019IN
Swarm Fund Token
0 ETH0.000108482.31122003
Approve221376542025-03-27 10:28:479 days ago1743071327IN
Swarm Fund Token
0 ETH0.00003260.7
Approve221338302025-03-26 21:39:599 days ago1743025199IN
Swarm Fund Token
0 ETH0.000023250.50303088
Approve220985202025-03-21 23:25:1114 days ago1742599511IN
Swarm Fund Token
0 ETH0.000021290.45727859
Transfer220895752025-03-20 17:29:1116 days ago1742491751IN
Swarm Fund Token
0 ETH0.000089162.98815673
Transfer220841472025-03-19 23:18:1116 days ago1742426291IN
Swarm Fund Token
0 ETH0.000049450.95616982
Approve220783432025-03-19 3:50:2317 days ago1742356223IN
Swarm Fund Token
0 ETH0.000113712.44151494
Approve220241962025-03-11 14:23:1125 days ago1741702991IN
Swarm Fund Token
0 ETH0.000185443.98678789
Transfer220138612025-03-10 3:43:4726 days ago1741578227IN
Swarm Fund Token
0 ETH0.00005371.14422405
Approve219850422025-03-06 3:03:4730 days ago1741230227IN
Swarm Fund Token
0 ETH0.000121932.61813615
Approve219563032025-03-02 2:48:4734 days ago1740883727IN
Swarm Fund Token
0 ETH0.00003770.8095084
Transfer219544832025-03-01 20:43:2334 days ago1740861803IN
Swarm Fund Token
0 ETH0.000038090.81134543
Transfer219460402025-02-28 16:28:4736 days ago1740760127IN
Swarm Fund Token
0 ETH0.000111582.15711643
Approve219208232025-02-25 4:01:1139 days ago1740456071IN
Swarm Fund Token
0 ETH0.000060041.29762454
Approve219054682025-02-23 0:31:3541 days ago1740270695IN
Swarm Fund Token
0 ETH0.000075421.61956163
Approve218968262025-02-21 19:33:1142 days ago1740166391IN
Swarm Fund Token
0 ETH0.000143463.08040258
Approve218933552025-02-21 7:54:5943 days ago1740124499IN
Swarm Fund Token
0 ETH0.000046311
Approve218823942025-02-19 19:06:2344 days ago1739991983IN
Swarm Fund Token
0 ETH0.000040860.87740061
Approve218731202025-02-18 12:00:4746 days ago1739880047IN
Swarm Fund Token
0 ETH0.000037680.80921661
Approve218471332025-02-14 20:39:3549 days ago1739565575IN
Swarm Fund Token
0 ETH0.000127872.7492248
Approve218414442025-02-14 1:31:4750 days ago1739496707IN
Swarm Fund Token
0 ETH0.000129272.77933967
Approve218098612025-02-09 15:29:3555 days ago1739114975IN
Swarm Fund Token
0 ETH0.000043780.9402116
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Method Block
From
To
-115104332020-12-23 14:47:081564 days ago1608734828
Swarm Fund Token
4.68024294 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SwarmToken

Compiler Version
v0.5.11+commit.c082d0b4

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2019-08-28
*/

pragma solidity ^0.5.0;


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);
}

contract ERC20Detailed is IERC20 {
    string private _name;
    string private _symbol;
    uint8 private _decimals;

    
    constructor (string memory name, string memory symbol, uint8 decimals) public {
        _name = name;
        _symbol = symbol;
        _decimals = decimals;
    }

    
    function name() public view returns (string memory) {
        return _name;
    }

    
    function symbol() public view returns (string memory) {
        return _symbol;
    }

    
    function decimals() public view returns (uint8) {
        return _decimals;
    }
}

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 ERC20 is IERC20 {
    using SafeMath for uint256;

    mapping (address => uint256) private _balances;

    mapping (address => mapping (address => uint256)) private _allowances;

    uint256 private _totalSupply;

    
    function totalSupply() public view returns (uint256) {
        return _totalSupply;
    }

    
    function balanceOf(address account) public view returns (uint256) {
        return _balances[account];
    }

    
    function transfer(address recipient, uint256 amount) public returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

    
    function allowance(address owner, address spender) public view returns (uint256) {
        return _allowances[owner][spender];
    }

    
    function approve(address spender, uint256 value) public returns (bool) {
        _approve(msg.sender, spender, value);
        return true;
    }

    
    function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount));
        return true;
    }

    
    function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender].add(addedValue));
        return true;
    }

    
    function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender].sub(subtractedValue));
        return true;
    }

    
    function _transfer(address sender, address recipient, uint256 amount) internal {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _balances[sender] = _balances[sender].sub(amount);
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    
    function _mint(address account, uint256 amount) internal {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        emit Transfer(address(0), account, amount);
    }

     
    function _burn(address account, uint256 value) internal {
        require(account != address(0), "ERC20: burn from the zero address");

        _totalSupply = _totalSupply.sub(value);
        _balances[account] = _balances[account].sub(value);
        emit Transfer(account, address(0), value);
    }

    
    function _approve(address owner, address spender, uint256 value) internal {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = value;
        emit Approval(owner, spender, value);
    }

    
    function _burnFrom(address account, uint256 amount) internal {
        _burn(account, amount);
        _approve(account, msg.sender, _allowances[account][msg.sender].sub(amount));
    }
}

contract ERC20Burnable is ERC20 {
    
    function burn(uint256 amount) public {
        _burn(msg.sender, amount);
    }

    
    function burnFrom(address account, uint256 amount) public {
        _burnFrom(account, amount);
    }
}

interface ISwarmTokenControlled {
    event DocumentUpdated(bytes32 hash, string url);
    event ClaimedTokens(address indexed token, address indexed controller, uint256 amount);
    event ClaimedEther(address indexed controller, uint256 amount);

    function updateDocument(bytes32 hash, string calldata url) external returns (bool);
    function claimTokens(IERC20 token) external returns (bool);
    function claimEther() external returns (bool);
}

interface ISwarmTokenRecipient {
    function receiveApproval(address from, uint256 amount, address token, bytes calldata data) external;
}

contract Controlled {
    address private _controller;

    
    event ControllerTransferred(address recipient);

    
    constructor (address controller) internal {
        _controller = controller;
        emit ControllerTransferred(_controller);
    }

    
    modifier onlyController() {
        require(msg.sender == _controller, "Controlled: caller is not the controller address");
        _;
    }

    
    function controller() public view returns (address) {
        return _controller;
    }

    
    function transferController(address recipient) public onlyController {
        require(recipient != address(0), "Controlled: new controller is the zero address");
        _controller = recipient;
        emit ControllerTransferred(_controller);
    }
}

contract SwarmToken is ISwarmTokenControlled, ERC20Burnable, ERC20Detailed, Controlled {
    struct Document {
        bytes32 hash;
        string url;
    }

    Document private _document;

    constructor(
        address controller,
        string memory name,
        string memory symbol,
        uint8 decimals,
        address initialAccount,
        uint256 totalSupply
    )
        ERC20Detailed(name, symbol, decimals)
        Controlled(controller)
        public
    {
        _mint(initialAccount, totalSupply);
    }

    
    function approveAndCall(address spender, uint256 value, bytes memory extraData) public returns (bool) {
        require(value == 0 || allowance(msg.sender, spender) == 0, 'SwarmToken: not clean allowance state');

        _approve(msg.sender, spender, value);
        ISwarmTokenRecipient(spender).receiveApproval(msg.sender, value, address(this), extraData);
        return true;
    }

    
    function getDocument() external view returns (bytes32, string memory) {
        return (_document.hash, _document.url);
    }

    
    function updateDocument(bytes32 hash, string calldata url) external onlyController returns (bool) {
        return _updateDocument(hash, url);
    }

    
    function claimTokens(IERC20 token) external onlyController returns (bool) {
        uint256 balance = token.balanceOf(address(this));
        token.transfer(msg.sender, balance);

        emit ClaimedTokens(address(token), msg.sender, balance);

        return true;
    }

    
    function claimEther() external onlyController returns (bool) {
        uint256 balance = address(this).balance;
        msg.sender.transfer(balance);

        emit ClaimedEther(msg.sender, balance);

        return true;
    }

    
    function() external payable {
        require(msg.data.length == 0);
    }

    
    function _updateDocument(bytes32 hash, string memory url) internal returns (bool) {
        _document.hash = hash;
        _document.url = url;

        emit DocumentUpdated(hash, url);

        return true;
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"hash","type":"bytes32"},{"internalType":"string","name":"url","type":"string"}],"name":"updateDocument","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"claimEther","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getDocument","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"}],"name":"claimTokens","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"recipient","type":"address"}],"name":"transferController","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"controller","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"controller","type":"address"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint8","name":"decimals","type":"uint8"},{"internalType":"address","name":"initialAccount","type":"address"},{"internalType":"uint256","name":"totalSupply","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"recipient","type":"address"}],"name":"ControllerTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"hash","type":"bytes32"},{"indexed":false,"internalType":"string","name":"url","type":"string"}],"name":"DocumentUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":true,"internalType":"address","name":"controller","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ClaimedTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"controller","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ClaimedEther","type":"event"}]

60806040523480156200001157600080fd5b506040516200290d3803806200290d833981810160405260c08110156200003757600080fd5b8101908080519060200190929190805160405193929190846401000000008211156200006257600080fd5b838201915060208201858111156200007957600080fd5b82518660018202830111640100000000821117156200009757600080fd5b8083526020830192505050908051906020019080838360005b83811015620000cd578082015181840152602081019050620000b0565b50505050905090810190601f168015620000fb5780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011f57600080fd5b838201915060208201858111156200013657600080fd5b82518660018202830111640100000000821117156200015457600080fd5b8083526020830192505050908051906020019080838360005b838110156200018a5780820151818401526020810190506200016d565b50505050905090810190601f168015620001b85780820380516001836020036101000a031916815260200191505b50604052602001805190602001909291908051906020019092919080519060200190929190505050858585858260039080519060200190620001fc9291906200056c565b508160049080519060200190620002159291906200056c565b5080600560006101000a81548160ff021916908360ff16021790555050505080600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f22ae3e13754fada79785f8712cf9edb6d7a1be7e1738be44b84374a5b0220aed600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1506200030d82826200031960201b60201c565b5050505050506200061b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620003bd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b620003d981600254620004e360201b62001d351790919060201c565b60028190555062000437816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054620004e360201b62001d351790919060201c565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008082840190508381101562000562576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620005af57805160ff1916838001178555620005e0565b82800160010185558215620005e0579182015b82811115620005df578251825591602001919060010190620005c2565b5b509050620005ef9190620005f3565b5090565b6200061891905b8082111562000614576000816000905550600101620005fa565b5090565b90565b6122e2806200062b6000396000f3fe60806040526004361061011f5760003560e01c806379cc6790116100a0578063cae9ca5111610064578063cae9ca5114610775578063dd62ed3e1461087f578063df8de3e714610904578063e8ea054b1461096d578063f77c4791146109be5761011f565b806379cc67901461050d57806395d89b4114610568578063a457c2d7146105f8578063a9059cbb1461066b578063b6f3f14d146106de5761011f565b806339509351116100e7578063395093511461032357806342966c68146103965780634b15dcce146103d157806355291dbd1461047957806370a08231146104a85761011f565b806306fdde0314610131578063095ea7b3146101c157806318160ddd1461023457806323b872dd1461025f578063313ce567146102f2575b6000803690501461012f57600080fd5b005b34801561013d57600080fd5b50610146610a15565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018657808201518184015260208101905061016b565b50505050905090810190601f1680156101b35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101cd57600080fd5b5061021a600480360360408110156101e457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ab7565b604051808215151515815260200191505060405180910390f35b34801561024057600080fd5b50610249610ace565b6040518082815260200191505060405180910390f35b34801561026b57600080fd5b506102d86004803603606081101561028257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ad8565b604051808215151515815260200191505060405180910390f35b3480156102fe57600080fd5b50610307610b89565b604051808260ff1660ff16815260200191505060405180910390f35b34801561032f57600080fd5b5061037c6004803603604081101561034657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ba0565b604051808215151515815260200191505060405180910390f35b3480156103a257600080fd5b506103cf600480360360208110156103b957600080fd5b8101908080359060200190929190505050610c45565b005b3480156103dd57600080fd5b5061045f600480360360408110156103f457600080fd5b81019080803590602001909291908035906020019064010000000081111561041b57600080fd5b82018360208201111561042d57600080fd5b8035906020019184600183028401116401000000008311171561044f57600080fd5b9091929391929390505050610c52565b604051808215151515815260200191505060405180910390f35b34801561048557600080fd5b5061048e610d51565b604051808215151515815260200191505060405180910390f35b3480156104b457600080fd5b506104f7600480360360208110156104cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb2565b6040518082815260200191505060405180910390f35b34801561051957600080fd5b506105666004803603604081101561053057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610efa565b005b34801561057457600080fd5b5061057d610f08565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105bd5780820151818401526020810190506105a2565b50505050905090810190601f1680156105ea5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561060457600080fd5b506106516004803603604081101561061b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610faa565b604051808215151515815260200191505060405180910390f35b34801561067757600080fd5b506106c46004803603604081101561068e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061104f565b604051808215151515815260200191505060405180910390f35b3480156106ea57600080fd5b506106f3611066565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561073957808201518184015260208101905061071e565b50505050905090810190601f1680156107665780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561078157600080fd5b506108656004803603606081101561079857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156107df57600080fd5b8201836020820111156107f157600080fd5b8035906020019184600183028401116401000000008311171561081357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611119565b604051808215151515815260200191505060405180910390f35b34801561088b57600080fd5b506108ee600480360360408110156108a257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112dd565b6040518082815260200191505060405180910390f35b34801561091057600080fd5b506109536004803603602081101561092757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611364565b604051808215151515815260200191505060405180910390f35b34801561097957600080fd5b506109bc6004803603602081101561099057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115fa565b005b3480156109ca57600080fd5b506109d36117ef565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610aad5780601f10610a8257610100808354040283529160200191610aad565b820191906000526020600020905b815481529060010190602001808311610a9057829003601f168201915b5050505050905090565b6000610ac4338484611819565b6001905092915050565b6000600254905090565b6000610ae5848484611a10565b610b7e8433610b7985600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cac90919063ffffffff16565b611819565b600190509392505050565b6000600560009054906101000a900460ff16905090565b6000610c3b3384610c3685600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d3590919063ffffffff16565b611819565b6001905092915050565b610c4f3382611dbd565b50565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cfa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061217c6030913960400191505060405180910390fd5b610d488484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050611f5b565b90509392505050565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610df9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061217c6030913960400191505060405180910390fd5b60003073ffffffffffffffffffffffffffffffffffffffff163190503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610e5b573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167fbd18e33487971f93df781b1b8b4c86fed176a0aaf676e48329a735364d66af44826040518082815260200191505060405180910390a2600191505090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610f04828261202f565b5050565b606060048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610fa05780601f10610f7557610100808354040283529160200191610fa0565b820191906000526020600020905b815481529060010190602001808311610f8357829003601f168201915b5050505050905090565b6000611045338461104085600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cac90919063ffffffff16565b611819565b6001905092915050565b600061105c338484611a10565b6001905092915050565b600060606006600001546006600101808054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561110a5780601f106110df5761010080835404028352916020019161110a565b820191906000526020600020905b8154815290600101906020018083116110ed57829003601f168201915b50505050509050915091509091565b6000808314806111325750600061113033866112dd565b145b611187576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061221f6025913960400191505060405180910390fd5b611192338585611819565b8373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561126b578082015181840152602081019050611250565b50505050905090810190601f1680156112985780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1580156112ba57600080fd5b505af11580156112ce573d6000803e3d6000fd5b50505050600190509392505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461140c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061217c6030913960400191505060405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561148b57600080fd5b505afa15801561149f573d6000803e3d6000fd5b505050506040513d60208110156114b557600080fd5b810190808051906020019092919050505090508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561154f57600080fd5b505af1158015611563573d6000803e3d6000fd5b505050506040513d602081101561157957600080fd5b8101908080519060200190929190505050503373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167ff931edb47c50b4b4104c187b5814a9aef5f709e17e2ecf9617e860cacade929c836040518082815260200191505060405180910390a36001915050919050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146116a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061217c6030913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611726576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001806121f1602e913960400191505060405180910390fd5b80600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f22ae3e13754fada79785f8712cf9edb6d7a1be7e1738be44b84374a5b0220aed600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561189f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061228a6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611925576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806121cf6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a96576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806122656025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b1c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806121ac6023913960400191505060405180910390fd5b611b6d816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cac90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c00816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d3590919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600082821115611d24576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b600080828401905083811015611db3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e43576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806122446021913960400191505060405180910390fd5b611e5881600254611cac90919063ffffffff16565b600281905550611eaf816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cac90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000826006600001819055508160066001019080519060200190611f809291906120d6565b507f55bfbf9160b0ed8e61b497b7d34a9c6e369413a3472e1507298c9dfdb2f619f083836040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611fea578082015181840152602081019050611fcf565b50505050905090810190601f1680156120175780820380516001836020036101000a031916815260200191505b50935050505060405180910390a16001905092915050565b6120398282611dbd565b6120d282336120cd84600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cac90919063ffffffff16565b611819565b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061211757805160ff1916838001178555612145565b82800160010185558215612145579182015b82811115612144578251825591602001919060010190612129565b5b5090506121529190612156565b5090565b61217891905b8082111561217457600081600090555060010161215c565b5090565b9056fe436f6e74726f6c6c65643a2063616c6c6572206973206e6f742074686520636f6e74726f6c6c6572206164647265737345524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373436f6e74726f6c6c65643a206e657720636f6e74726f6c6c657220697320746865207a65726f2061646472657373537761726d546f6b656e3a206e6f7420636c65616e20616c6c6f77616e636520737461746545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a723158200351ee5630d82891badff57d4f0c51f804eeec215c0ea557ca59d3a5663dce7364736f6c634300050b0032000000000000000000000000c39bf343cfc1083497549d7f10468769becc79e400000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000012000000000000000000000000c39bf343cfc1083497549d7f10468769becc79e400000000000000000000000000000000000000000052b7d2dcc80cd2e40000000000000000000000000000000000000000000000000000000000000000000005535741524d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000353574d0000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x60806040526004361061011f5760003560e01c806379cc6790116100a0578063cae9ca5111610064578063cae9ca5114610775578063dd62ed3e1461087f578063df8de3e714610904578063e8ea054b1461096d578063f77c4791146109be5761011f565b806379cc67901461050d57806395d89b4114610568578063a457c2d7146105f8578063a9059cbb1461066b578063b6f3f14d146106de5761011f565b806339509351116100e7578063395093511461032357806342966c68146103965780634b15dcce146103d157806355291dbd1461047957806370a08231146104a85761011f565b806306fdde0314610131578063095ea7b3146101c157806318160ddd1461023457806323b872dd1461025f578063313ce567146102f2575b6000803690501461012f57600080fd5b005b34801561013d57600080fd5b50610146610a15565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018657808201518184015260208101905061016b565b50505050905090810190601f1680156101b35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101cd57600080fd5b5061021a600480360360408110156101e457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ab7565b604051808215151515815260200191505060405180910390f35b34801561024057600080fd5b50610249610ace565b6040518082815260200191505060405180910390f35b34801561026b57600080fd5b506102d86004803603606081101561028257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ad8565b604051808215151515815260200191505060405180910390f35b3480156102fe57600080fd5b50610307610b89565b604051808260ff1660ff16815260200191505060405180910390f35b34801561032f57600080fd5b5061037c6004803603604081101561034657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ba0565b604051808215151515815260200191505060405180910390f35b3480156103a257600080fd5b506103cf600480360360208110156103b957600080fd5b8101908080359060200190929190505050610c45565b005b3480156103dd57600080fd5b5061045f600480360360408110156103f457600080fd5b81019080803590602001909291908035906020019064010000000081111561041b57600080fd5b82018360208201111561042d57600080fd5b8035906020019184600183028401116401000000008311171561044f57600080fd5b9091929391929390505050610c52565b604051808215151515815260200191505060405180910390f35b34801561048557600080fd5b5061048e610d51565b604051808215151515815260200191505060405180910390f35b3480156104b457600080fd5b506104f7600480360360208110156104cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb2565b6040518082815260200191505060405180910390f35b34801561051957600080fd5b506105666004803603604081101561053057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610efa565b005b34801561057457600080fd5b5061057d610f08565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105bd5780820151818401526020810190506105a2565b50505050905090810190601f1680156105ea5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561060457600080fd5b506106516004803603604081101561061b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610faa565b604051808215151515815260200191505060405180910390f35b34801561067757600080fd5b506106c46004803603604081101561068e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061104f565b604051808215151515815260200191505060405180910390f35b3480156106ea57600080fd5b506106f3611066565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561073957808201518184015260208101905061071e565b50505050905090810190601f1680156107665780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561078157600080fd5b506108656004803603606081101561079857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156107df57600080fd5b8201836020820111156107f157600080fd5b8035906020019184600183028401116401000000008311171561081357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611119565b604051808215151515815260200191505060405180910390f35b34801561088b57600080fd5b506108ee600480360360408110156108a257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112dd565b6040518082815260200191505060405180910390f35b34801561091057600080fd5b506109536004803603602081101561092757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611364565b604051808215151515815260200191505060405180910390f35b34801561097957600080fd5b506109bc6004803603602081101561099057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115fa565b005b3480156109ca57600080fd5b506109d36117ef565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610aad5780601f10610a8257610100808354040283529160200191610aad565b820191906000526020600020905b815481529060010190602001808311610a9057829003601f168201915b5050505050905090565b6000610ac4338484611819565b6001905092915050565b6000600254905090565b6000610ae5848484611a10565b610b7e8433610b7985600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cac90919063ffffffff16565b611819565b600190509392505050565b6000600560009054906101000a900460ff16905090565b6000610c3b3384610c3685600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d3590919063ffffffff16565b611819565b6001905092915050565b610c4f3382611dbd565b50565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cfa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061217c6030913960400191505060405180910390fd5b610d488484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050611f5b565b90509392505050565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610df9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061217c6030913960400191505060405180910390fd5b60003073ffffffffffffffffffffffffffffffffffffffff163190503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610e5b573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167fbd18e33487971f93df781b1b8b4c86fed176a0aaf676e48329a735364d66af44826040518082815260200191505060405180910390a2600191505090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610f04828261202f565b5050565b606060048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610fa05780601f10610f7557610100808354040283529160200191610fa0565b820191906000526020600020905b815481529060010190602001808311610f8357829003601f168201915b5050505050905090565b6000611045338461104085600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cac90919063ffffffff16565b611819565b6001905092915050565b600061105c338484611a10565b6001905092915050565b600060606006600001546006600101808054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561110a5780601f106110df5761010080835404028352916020019161110a565b820191906000526020600020905b8154815290600101906020018083116110ed57829003601f168201915b50505050509050915091509091565b6000808314806111325750600061113033866112dd565b145b611187576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061221f6025913960400191505060405180910390fd5b611192338585611819565b8373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561126b578082015181840152602081019050611250565b50505050905090810190601f1680156112985780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1580156112ba57600080fd5b505af11580156112ce573d6000803e3d6000fd5b50505050600190509392505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461140c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061217c6030913960400191505060405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561148b57600080fd5b505afa15801561149f573d6000803e3d6000fd5b505050506040513d60208110156114b557600080fd5b810190808051906020019092919050505090508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561154f57600080fd5b505af1158015611563573d6000803e3d6000fd5b505050506040513d602081101561157957600080fd5b8101908080519060200190929190505050503373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167ff931edb47c50b4b4104c187b5814a9aef5f709e17e2ecf9617e860cacade929c836040518082815260200191505060405180910390a36001915050919050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146116a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061217c6030913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611726576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001806121f1602e913960400191505060405180910390fd5b80600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f22ae3e13754fada79785f8712cf9edb6d7a1be7e1738be44b84374a5b0220aed600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561189f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061228a6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611925576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806121cf6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a96576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806122656025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b1c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806121ac6023913960400191505060405180910390fd5b611b6d816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cac90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c00816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d3590919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600082821115611d24576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b600080828401905083811015611db3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e43576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806122446021913960400191505060405180910390fd5b611e5881600254611cac90919063ffffffff16565b600281905550611eaf816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cac90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000826006600001819055508160066001019080519060200190611f809291906120d6565b507f55bfbf9160b0ed8e61b497b7d34a9c6e369413a3472e1507298c9dfdb2f619f083836040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611fea578082015181840152602081019050611fcf565b50505050905090810190601f1680156120175780820380516001836020036101000a031916815260200191505b50935050505060405180910390a16001905092915050565b6120398282611dbd565b6120d282336120cd84600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cac90919063ffffffff16565b611819565b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061211757805160ff1916838001178555612145565b82800160010185558215612145579182015b82811115612144578251825591602001919060010190612129565b5b5090506121529190612156565b5090565b61217891905b8082111561217457600081600090555060010161215c565b5090565b9056fe436f6e74726f6c6c65643a2063616c6c6572206973206e6f742074686520636f6e74726f6c6c6572206164647265737345524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373436f6e74726f6c6c65643a206e657720636f6e74726f6c6c657220697320746865207a65726f2061646472657373537761726d546f6b656e3a206e6f7420636c65616e20616c6c6f77616e636520737461746545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a723158200351ee5630d82891badff57d4f0c51f804eeec215c0ea557ca59d3a5663dce7364736f6c634300050b0032

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000c39bf343cfc1083497549d7f10468769becc79e400000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000012000000000000000000000000c39bf343cfc1083497549d7f10468769becc79e400000000000000000000000000000000000000000052b7d2dcc80cd2e40000000000000000000000000000000000000000000000000000000000000000000005535741524d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000353574d0000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : controller (address): 0xC39bF343CFc1083497549D7f10468769beCc79E4
Arg [1] : name (string): SWARM
Arg [2] : symbol (string): SWM
Arg [3] : decimals (uint8): 18
Arg [4] : initialAccount (address): 0xC39bF343CFc1083497549D7f10468769beCc79E4
Arg [5] : totalSupply (uint256): 100000000000000000000000000

-----Encoded View---------------
10 Constructor Arguments found :
Arg [0] : 000000000000000000000000c39bf343cfc1083497549d7f10468769becc79e4
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000100
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [4] : 000000000000000000000000c39bf343cfc1083497549d7f10468769becc79e4
Arg [5] : 00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [7] : 535741524d000000000000000000000000000000000000000000000000000000
Arg [8] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [9] : 53574d0000000000000000000000000000000000000000000000000000000000


Swarm Source

bzzr://0351ee5630d82891badff57d4f0c51f804eeec215c0ea557ca59d3a5663dce73

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

OVERVIEW

Aims to be the Blockchain for Private Equity.

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.