ETH Price: $2,583.64 (-1.94%)

Contract

0x3505F494c3f0fed0B594E01Fa41Dd3967645ca39
 

Overview

ETH Balance

0.00185815 ETH

Eth Value

$4.80 (@ $2,583.64/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
0xb90243d6becb32830ca7849802bb2cff561b28e7d184c59c30bbc0c08c2c2364 Approve(pending)2024-10-13 1:26:282 days ago1728782788IN
Swarm Fund Token
0 ETH(Pending)(Pending)
Approve209495602024-10-12 12:36:233 days ago1728736583IN
Swarm Fund Token
0 ETH0.000215418.18273415
Approve209495332024-10-12 12:30:473 days ago1728736247IN
Swarm Fund Token
0 ETH0.000200577.61883201
Approve209495242024-10-12 12:28:593 days ago1728736139IN
Swarm Fund Token
0 ETH0.000190347.23022373
Approve209495162024-10-12 12:27:233 days ago1728736043IN
Swarm Fund Token
0 ETH0.000348767.54467314
Approve209052442024-10-06 8:13:239 days ago1728202403IN
Swarm Fund Token
0 ETH0.000244575.25142277
Approve209005822024-10-05 16:38:479 days ago1728146327IN
Swarm Fund Token
0 ETH0.000310436.66533639
Transfer208665952024-09-30 22:55:1114 days ago1727736911IN
Swarm Fund Token
0 ETH0.0017917860
Transfer208665882024-09-30 22:53:4714 days ago1727736827IN
Swarm Fund Token
0 ETH0.000930
Transfer208660012024-09-30 20:56:2314 days ago1727729783IN
Swarm Fund Token
0 ETH0.0023481550
Approve208543392024-09-29 5:54:4716 days ago1727589287IN
Swarm Fund Token
0 ETH0.00032556.98896675
Approve208437472024-09-27 18:27:1117 days ago1727461631IN
Swarm Fund Token
0 ETH0.0003222613.26756842
Approve208434412024-09-27 17:25:5917 days ago1727457959IN
Swarm Fund Token
0 ETH0.0007532916.27049138
Approve208434382024-09-27 17:25:2317 days ago1727457923IN
Swarm Fund Token
0 ETH0.0007637216.49584221
Transfer208296332024-09-25 19:14:2319 days ago1727291663IN
Swarm Fund Token
0 ETH0.0009561327.59338256
Transfer208296262024-09-25 19:12:5919 days ago1727291579IN
Swarm Fund Token
0 ETH0.0008247427.63972648
Transfer208296262024-09-25 19:12:5919 days ago1727291579IN
Swarm Fund Token
0 ETH0.0008250727.63972648
Transfer208296262024-09-25 19:12:5919 days ago1727291579IN
Swarm Fund Token
0 ETH0.0008247427.63972648
Transfer208296262024-09-25 19:12:5919 days ago1727291579IN
Swarm Fund Token
0 ETH0.0008250727.63972648
Transfer208296262024-09-25 19:12:5919 days ago1727291579IN
Swarm Fund Token
0 ETH0.0008247427.63972648
Transfer208296262024-09-25 19:12:5919 days ago1727291579IN
Swarm Fund Token
0 ETH0.0008247427.63972648
Transfer208296262024-09-25 19:12:5919 days ago1727291579IN
Swarm Fund Token
0 ETH0.0008247427.63972648
Transfer208296262024-09-25 19:12:5919 days ago1727291579IN
Swarm Fund Token
0 ETH0.0008247427.63972648
Transfer208296262024-09-25 19:12:5919 days ago1727291579IN
Swarm Fund Token
0 ETH0.0008247427.63972648
Transfer208296262024-09-25 19:12:5919 days ago1727291579IN
Swarm Fund Token
0 ETH0.0008247427.63972648
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block From To
115104332020-12-23 14:47:081392 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

[{"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.