ETH Price: $2,828.55 (+2.04%)

Contract

0x339D73f9a0FBD064Ea81F274437760a9db934806
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve170108092023-04-09 12:41:35686 days ago1681044095IN
Fake_Phishing291576
0 ETH0.000574521.87919263
Approve114597222020-12-15 20:04:521531 days ago1608062692IN
Fake_Phishing291576
0 ETH0.0007141948
Approve110719532020-10-17 6:55:171590 days ago1602917717IN
Fake_Phishing291576
0 ETH0.0003422123
Approve110091782020-10-07 14:40:551600 days ago1602081655IN
Fake_Phishing291576
0 ETH0.0011456877
Approve109987772020-10-05 23:40:221602 days ago1601941222IN
Fake_Phishing291576
0 ETH0.0009441763.45692883
Approve108527922020-09-13 9:24:571624 days ago1599989097IN
Fake_Phishing291576
0 ETH0.0013391190.00000145
Approve108461632020-09-12 8:56:131625 days ago1599900973IN
Fake_Phishing291576
0 ETH0.0037467883
Approve108287252020-09-09 17:01:531628 days ago1599670913IN
Fake_Phishing291576
0 ETH0.00713243158
Approve108277582020-09-09 13:26:191628 days ago1599657979IN
Fake_Phishing291576
0 ETH0.00620702137.50000023
Approve108166192020-09-07 20:13:361630 days ago1599509616IN
Fake_Phishing291576
0 ETH0.0036113680
Approve108158492020-09-07 17:24:081630 days ago1599499448IN
Fake_Phishing291576
0 ETH0.00523647116
Approve108125352020-09-07 5:14:181630 days ago1599455658IN
Fake_Phishing291576
0 ETH0.00154741104
Approve108034652020-09-05 19:56:421632 days ago1599335802IN
Fake_Phishing291576
0 ETH0.01832765406
Approve108024782020-09-05 16:25:321632 days ago1599323132IN
Fake_Phishing291576
0 ETH0.01286547285
Approve107997132020-09-05 6:19:421632 days ago1599286782IN
Fake_Phishing291576
0 ETH0.00943467209
Approve107986632020-09-05 2:16:311632 days ago1599272191IN
Fake_Phishing291576
0 ETH0.00541704120
Approve107974372020-09-04 21:55:361633 days ago1599256536IN
Fake_Phishing291576
0 ETH0.0040627890
Approve107972112020-09-04 21:06:201633 days ago1599253580IN
Fake_Phishing291576
0 ETH0.00564275125
Approve107966042020-09-04 18:54:081633 days ago1599245648IN
Fake_Phishing291576
0 ETH0.00550732122
Approve107959282020-09-04 16:24:171633 days ago1599236657IN
Fake_Phishing291576
0 ETH0.0157997350
Approve107952162020-09-04 13:44:531633 days ago1599227093IN
Fake_Phishing291576
0 ETH0.00954143211.365
Approve107945022020-09-04 11:13:451633 days ago1599218025IN
Fake_Phishing291576
0 ETH0.01173692260
Approve107940742020-09-04 9:30:171633 days ago1599211817IN
Fake_Phishing291576
0 ETH0.01110493246
Approve107940552020-09-04 9:26:141633 days ago1599211574IN
Fake_Phishing291576
0 ETH0.01038266230
Approve107940502020-09-04 9:25:191633 days ago1599211519IN
Fake_Phishing291576
0 ETH0.01241405275
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block
From
To
107586332020-08-29 23:22:161639 days ago1598743336  Contract Creation0 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DSToken

Compiler Version
v0.6.7+commit.b8d736ae

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-08-30
*/

// hevm: flattened sources of src/sushi-farm.sol
pragma solidity >0.4.13 >=0.4.23 >=0.5.0 >=0.6.2 <0.7.0 >=0.6.7 <0.7.0;

////// lib/ds-auth/src/auth.sol
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

/* pragma solidity >=0.4.23; */

interface DSAuthority {
    function canCall(
        address src, address dst, bytes4 sig
    ) external view returns (bool);
}

contract DSAuthEvents {
    event LogSetAuthority (address indexed authority);
    event LogSetOwner     (address indexed owner);
}

contract DSAuth is DSAuthEvents {
    DSAuthority  public  authority;
    address      public  owner;

    constructor() public {
        owner = msg.sender;
        emit LogSetOwner(msg.sender);
    }

    function setOwner(address owner_)
        public
        auth
    {
        owner = owner_;
        emit LogSetOwner(owner);
    }

    function setAuthority(DSAuthority authority_)
        public
        auth
    {
        authority = authority_;
        emit LogSetAuthority(address(authority));
    }

    modifier auth {
        require(isAuthorized(msg.sender, msg.sig), "ds-auth-unauthorized");
        _;
    }

    function isAuthorized(address src, bytes4 sig) internal view returns (bool) {
        if (src == address(this)) {
            return true;
        } else if (src == owner) {
            return true;
        } else if (authority == DSAuthority(0)) {
            return false;
        } else {
            return authority.canCall(src, address(this), sig);
        }
    }
}

////// lib/ds-math/src/math.sol
/// math.sol -- mixin for inline numerical wizardry

// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

/* pragma solidity >0.4.13; */

contract DSMath {
    function add(uint x, uint y) internal pure returns (uint z) {
        require((z = x + y) >= x, "ds-math-add-overflow");
    }
    function sub(uint x, uint y) internal pure returns (uint z) {
        require((z = x - y) <= x, "ds-math-sub-underflow");
    }
    function mul(uint x, uint y) internal pure returns (uint z) {
        require(y == 0 || (z = x * y) / y == x, "ds-math-mul-overflow");
    }

    function min(uint x, uint y) internal pure returns (uint z) {
        return x <= y ? x : y;
    }
    function max(uint x, uint y) internal pure returns (uint z) {
        return x >= y ? x : y;
    }
    function imin(int x, int y) internal pure returns (int z) {
        return x <= y ? x : y;
    }
    function imax(int x, int y) internal pure returns (int z) {
        return x >= y ? x : y;
    }

    uint constant WAD = 10 ** 18;
    uint constant RAY = 10 ** 27;

    //rounds to zero if x*y < WAD / 2
    function wmul(uint x, uint y) internal pure returns (uint z) {
        z = add(mul(x, y), WAD / 2) / WAD;
    }
    //rounds to zero if x*y < WAD / 2
    function rmul(uint x, uint y) internal pure returns (uint z) {
        z = add(mul(x, y), RAY / 2) / RAY;
    }
    //rounds to zero if x*y < WAD / 2
    function wdiv(uint x, uint y) internal pure returns (uint z) {
        z = add(mul(x, WAD), y / 2) / y;
    }
    //rounds to zero if x*y < RAY / 2
    function rdiv(uint x, uint y) internal pure returns (uint z) {
        z = add(mul(x, RAY), y / 2) / y;
    }

    // This famous algorithm is called "exponentiation by squaring"
    // and calculates x^n with x as fixed-point and n as regular unsigned.
    //
    // It's O(log n), instead of O(n) for naive repeated multiplication.
    //
    // These facts are why it works:
    //
    //  If n is even, then x^n = (x^2)^(n/2).
    //  If n is odd,  then x^n = x * x^(n-1),
    //   and applying the equation for even x gives
    //    x^n = x * (x^2)^((n-1) / 2).
    //
    //  Also, EVM division is flooring and
    //    floor[(n-1) / 2] = floor[n / 2].
    //
    function rpow(uint x, uint n) internal pure returns (uint z) {
        z = n % 2 != 0 ? x : RAY;

        for (n /= 2; n != 0; n /= 2) {
            x = rmul(x, x);

            if (n % 2 != 0) {
                z = rmul(z, x);
            }
        }
    }
}

////// lib/ds-token/src/token.sol
/// token.sol -- ERC20 implementation with minting and burning

// Copyright (C) 2015, 2016, 2017  DappHub, LLC

// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

/* pragma solidity >=0.4.23; */

/* import "ds-math/math.sol"; */
/* import "ds-auth/auth.sol"; */


contract DSToken is DSMath, DSAuth {
    bool                                              public  stopped;
    uint256                                           public  totalSupply;
    mapping (address => uint256)                      public  balanceOf;
    mapping (address => mapping (address => uint256)) public  allowance;
    bytes32                                           public  symbol;
    uint256                                           public  decimals = 18; // standard token precision. override to customize
    bytes32                                           public  name = "";     // Optional token name

    constructor(bytes32 symbol_) public {
        symbol = symbol_;
    }

    event Approval(address indexed src, address indexed guy, uint wad);
    event Transfer(address indexed src, address indexed dst, uint wad);
    event Mint(address indexed guy, uint wad);
    event Burn(address indexed guy, uint wad);
    event Stop();
    event Start();

    modifier stoppable {
        require(!stopped, "ds-stop-is-stopped");
        _;
    }

    function approve(address guy) external returns (bool) {
        return approve(guy, uint(-1));
    }

    function approve(address guy, uint wad) public stoppable returns (bool) {
        allowance[msg.sender][guy] = wad;

        emit Approval(msg.sender, guy, wad);

        return true;
    }

    function transfer(address dst, uint wad) external returns (bool) {
        return transferFrom(msg.sender, dst, wad);
    }

    function transferFrom(address src, address dst, uint wad)
        public
        stoppable
        returns (bool)
    {
        if (src != msg.sender && allowance[src][msg.sender] != uint(-1)) {
            require(allowance[src][msg.sender] >= wad, "ds-token-insufficient-approval");
            allowance[src][msg.sender] = sub(allowance[src][msg.sender], wad);
        }

        require(balanceOf[src] >= wad, "ds-token-insufficient-balance");
        balanceOf[src] = sub(balanceOf[src], wad);
        balanceOf[dst] = add(balanceOf[dst], wad);

        emit Transfer(src, dst, wad);

        return true;
    }

    function push(address dst, uint wad) external {
        transferFrom(msg.sender, dst, wad);
    }

    function pull(address src, uint wad) external {
        transferFrom(src, msg.sender, wad);
    }

    function move(address src, address dst, uint wad) external {
        transferFrom(src, dst, wad);
    }


    function mint(uint wad) external {
        mint(msg.sender, wad);
    }

    function burn(uint wad) external {
        burn(msg.sender, wad);
    }

    function mint(address guy, uint wad) public auth stoppable {
        balanceOf[guy] = add(balanceOf[guy], wad);
        totalSupply = add(totalSupply, wad);
        emit Mint(guy, wad);
    }

    function burn(address guy, uint wad) public auth stoppable {
        if (guy != msg.sender && allowance[guy][msg.sender] != uint(-1)) {
            require(allowance[guy][msg.sender] >= wad, "ds-token-insufficient-approval");
            allowance[guy][msg.sender] = sub(allowance[guy][msg.sender], wad);
        }

        require(balanceOf[guy] >= wad, "ds-token-insufficient-balance");
        balanceOf[guy] = sub(balanceOf[guy], wad);
        totalSupply = sub(totalSupply, wad);
        emit Burn(guy, wad);
    }

    function stop() public auth {
        stopped = true;
        emit Stop();
    }

    function start() public auth {
        stopped = false;
        emit Start();
    }

    function setName(bytes32 name_) external auth {
        name = name_;
    }
}

////// src/constants.sol
/* pragma solidity ^0.6.7; */


library Constants {
    // Tokens
    address constant WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
    address constant SUSHI = 0x6B3595068778DD592e39A122f4f5a5cF09C90fE2;
    address constant UNIV2_SUSHI_ETH = 0xCE84867c3c02B05dc570d0135103d3fB9CC19433;

    // Uniswap
    address constant UNIV2_ROUTER2 = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;

    // Sushiswap
    address constant MASTERCHEF = 0xc2EdaD668740f1aA35E4D8f227fB8E17dcA888Cd;
}
////// src/interfaces/masterchef.sol
// SPDX-License-Identifier: MIT
/* pragma solidity ^0.6.2; */

interface Masterchef {
    function deposit(uint256 _pid, uint256 _amount) external;

    function withdraw(uint256 _pid, uint256 _amount) external;

    function userInfo(uint256, address)
        external
        view
        returns (uint256 amount, uint256 rewardDebt);
}

////// src/interfaces/uniswap.sol
// SPDX-License-Identifier: MIT
/* pragma solidity ^0.6.2; */

interface UniswapRouterV2 {
    function swapExactTokensForTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    )
        external
        returns (
            uint256 amountA,
            uint256 amountB,
            uint256 liquidity
        );

    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint256 liquidity,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountA, uint256 amountB);

    function getAmountsOut(uint256 amountIn, address[] calldata path)
        external
        view
        returns (uint256[] memory amounts);

    function getAmountsIn(uint256 amountOut, address[] calldata path)
        external
        view
        returns (uint256[] memory amounts);

    function swapETHForExactTokens(
        uint256 amountOut,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable returns (uint256[] memory amounts);
}

interface UniswapPair {
    function getReserves()
        external
        view
        returns (
            uint112 reserve0,
            uint112 reserve1,
            uint32 blockTimestamp
        );
}

////// src/sushi-farm.sol
/* pragma solidity ^0.6.7; */

/* import "ds-math/math.sol"; */
/* import "ds-token/token.sol"; */

/* import "./interfaces/masterchef.sol"; */
/* import "./interfaces/uniswap.sol"; */

/* import "./constants.sol"; */

// Sushi Farm in SushiSwap
// Used to farm sushi. i.e. Deposit into this pool if you want to LONG sushi.

// Based off https://github.com/iearn-finance/vaults/blob/master/contracts/yVault.sol
contract SushiFarm is DSMath {
    // Tokens
    DSToken public sushi = DSToken(Constants.SUSHI);
    DSToken public univ2SushiEth = DSToken(Constants.UNIV2_SUSHI_ETH);
    DSToken public weth = DSToken(Constants.WETH);
    DSToken public gSushi;

    // Uniswap Router and Pair
    UniswapRouterV2 public univ2 = UniswapRouterV2(Constants.UNIV2_ROUTER2);
    UniswapPair public univ2Pair = UniswapPair(address(univ2SushiEth));

    // Masterchef Contract
    Masterchef public masterchef = Masterchef(Constants.MASTERCHEF);
    uint256 public univ2SushiEthPoolId = 12;

    // 5% reward for anyone who calls HARVEST
    uint256 public callerRewards = 5 ether / 100;

    // Last harvest
    uint256 public lastHarvest = 0;

    constructor() public {
        gSushi = new DSToken("gSushi");
        gSushi.setName("Grazing Sushi");
    }

    // **** Harvest profits ****

    function harvest() public {
        // Only callable every hour or so
        if (lastHarvest > 0) {
            require(lastHarvest + 1 hours <= block.timestamp, "!harvest-time");
        }
        lastHarvest = block.timestamp;

        // Withdraw sushi
        masterchef.withdraw(univ2SushiEthPoolId, 0);

        uint256 amount = sushi.balanceOf(address(this));
        uint256 reward = div(mul(amount, callerRewards), 100 ether);

        // Sends 5% fee to caller
        sushi.transfer(msg.sender, reward);

        // Remove amount from rewards
        amount = sub(amount, reward);

        // Add to UniV2 pool
        _sushiToUniV2SushiEth(amount);

        // Deposit into masterchef contract
        uint256 balance = univ2SushiEth.balanceOf(address(this));
        univ2SushiEth.approve(address(masterchef), balance);
        masterchef.deposit(univ2SushiEthPoolId, balance);
    }

    // **** Withdraw / Deposit functions ****

    function withdrawAll() external {
        withdraw(gSushi.balanceOf(msg.sender));
    }

    function withdraw(uint256 _shares) public {
        uint256 univ2Balance = univ2SushiEthBalance();

        uint256 amount = div(mul(_shares, univ2Balance), gSushi.totalSupply());
        gSushi.burn(msg.sender, _shares);

        // Withdraw from Masterchef contract
        masterchef.withdraw(univ2SushiEthPoolId, amount);

        // Retrive shares from Uniswap pool and converts to SUSHI
        uint256 _before = sushi.balanceOf(address(this));
        _uniV2SushiEthToSushi(amount);
        uint256 _after = sushi.balanceOf(address(this));

        // Transfer back SUSHI difference
        sushi.transfer(msg.sender, sub(_after, _before));
    }

    function depositAll() external {
        deposit(sushi.balanceOf(msg.sender));
    }

    function deposit(uint256 _amount) public {
        sushi.transferFrom(msg.sender, address(this), _amount);

        uint256 _pool = univ2SushiEthBalance();
        uint256 _before = univ2SushiEth.balanceOf(address(this));
        _sushiToUniV2SushiEth(_amount);
        uint256 _after = univ2SushiEth.balanceOf(address(this));

        _amount = sub(_after, _before); // Additional check for deflationary tokens

        uint256 shares = 0;
        if (gSushi.totalSupply() == 0) {
            shares = _amount;
        } else {
            shares = div(mul(_amount, gSushi.totalSupply()), _pool);
        }

        // Deposit into Masterchef contract to get rewards
        univ2SushiEth.approve(address(masterchef), _amount);
        masterchef.deposit(univ2SushiEthPoolId, _amount);

        gSushi.mint(msg.sender, shares);
    }

    // Takes <x> amount of SUSHI
    // Converts half of it into ETH,
    // Supplies them into SUSHI/ETH pool
    function _sushiToUniV2SushiEth(uint256 _amount) internal {
        uint256 half = div(_amount, 2);

        // Convert half of the sushi to ETH
        address[] memory path = new address[](2);
        path[0] = address(sushi);
        path[1] = address(weth);
        sushi.approve(address(univ2), half);
        univ2.swapExactTokensForTokens(half, 0, path, address(this), now + 60);

        // Supply liquidity
        uint256 wethBal = weth.balanceOf(address(this));
        uint256 sushiBal = sushi.balanceOf(address(this));
        sushi.approve(address(univ2), sushiBal);
        weth.approve(address(univ2), wethBal);
        univ2.addLiquidity(
            address(sushi),
            address(weth),
            sushiBal,
            wethBal,
            0,
            0,
            address(this),
            now + 60
        );
    }

    // Takes <x> amount of gSushi
    // And removes liquidity from SUSHI/ETH pool
    // Converts the ETH into Sushi
    function _uniV2SushiEthToSushi(uint256 _amount) internal {
        // Remove liquidity
        require(
            univ2SushiEth.balanceOf(address(this)) >= _amount,
            "not-enough-liquidity"
        );
        univ2SushiEth.approve(address(univ2), _amount);
        univ2.removeLiquidity(
            address(sushi),
            address(weth),
            _amount,
            0,
            0,
            address(this),
            now + 60
        );

        // Convert ETH to SUSHI
        address[] memory path = new address[](2);
        path[0] = address(weth);
        path[1] = address(sushi);
        uint256 wethBal = weth.balanceOf(address(this));
        weth.approve(address(univ2), wethBal);
        univ2.swapExactTokensForTokens(
            wethBal,
            0,
            path,
            address(this),
            now + 60
        );
    }

    // 1 gSUSHI = <x> SUSHI
    function getGSushiOverSushiRatio() public view returns (uint256) {
        // How much UniV2 do we have
        uint256 uniV2Balance = univ2SushiEthBalance();

        if (uniV2Balance == 0) {
            return 0;
        }

        // How many SUSHI and ETH can we get for this?
        (uint112 _poolSushiReserve, uint112 _poolWETHReserve, ) = univ2Pair
            .getReserves(); // SUSHI and WETH in pool
        uint256 uniV2liquidity = univ2SushiEth.totalSupply(); // Univ2 total supply
        uint256 uniV2percentage = div(mul(uniV2Balance, 1e18), uniV2liquidity); // How much we own %-wise

        uint256 removableSushi = uint256(
            div(mul(_poolSushiReserve, uniV2percentage), 1e18)
        );
        uint256 removableWeth = uint256(
            div(mul(_poolWETHReserve, uniV2percentage), 1e18)
        );

        // How many SUSHI can we get for the ETH?
        address[] memory path = new address[](2);
        path[0] = address(weth);
        path[1] = address(sushi);
        uint256[] memory outs = univ2.getAmountsOut(removableWeth, path);

        // Get RATIO
        return div(mul(add(outs[1], removableSushi), 1e18), gSushi.totalSupply());
    }

    function univ2SushiEthBalance() public view returns (uint256) {
        (uint256 univ2Balance, ) = masterchef.userInfo(
            univ2SushiEthPoolId,
            address(this)
        );

        return univ2Balance;
    }

    // **** Internal functions ****
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "division by zero");
        uint256 c = a / b;
        return c;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"bytes32","name":"symbol_","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"src","type":"address"},{"indexed":true,"internalType":"address","name":"guy","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"guy","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"}],"name":"LogSetAuthority","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"LogSetOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"guy","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[],"name":"Start","type":"event"},{"anonymous":false,"inputs":[],"name":"Stop","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"src","type":"address"},{"indexed":true,"internalType":"address","name":"dst","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"guy","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"guy","type":"address"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"authority","outputs":[{"internalType":"contract DSAuthority","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"guy","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"guy","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"move","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"pull","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"push","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract DSAuthority","name":"authority_","type":"address"}],"name":"setAuthority","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"name_","type":"bytes32"}],"name":"setName","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner_","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"start","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stopped","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60806040526012600655600060075534801561001a57600080fd5b506040516111e83803806111e88339818101604052602081101561003d57600080fd5b5051600180546001600160a01b031916339081179091556040517fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a26005556111598061008f6000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80637a9e5e4b116100de578063b753a98c11610097578063bf7e214f11610071578063bf7e214f1461040d578063daea85c514610415578063dd62ed3e1461043b578063f2d5d56b1461046957610173565b8063b753a98c146103a3578063bb35783b146103cf578063be9a65551461040557610173565b80637a9e5e4b146102dc5780638da5cb5b1461030257806395d89b41146103265780639dc29fac1461032e578063a0712d681461035a578063a9059cbb1461037757610173565b8063313ce56711610130578063313ce5671461024057806340c10f191461024857806342966c68146102745780635ac801fe1461029157806370a08231146102ae57806375f12b21146102d457610173565b806306fdde031461017857806307da68f514610192578063095ea7b31461019c57806313af4035146101dc57806318160ddd1461020257806323b872dd1461020a575b600080fd5b610180610495565b60408051918252519081900360200190f35b61019a61049b565b005b6101c8600480360360408110156101b257600080fd5b506001600160a01b038135169060200135610537565b604080519115158252519081900360200190f35b61019a600480360360208110156101f257600080fd5b50356001600160a01b03166105f6565b6101806106a4565b6101c86004803603606081101561022057600080fd5b506001600160a01b038135811691602081013590911690604001356106aa565b61018061092f565b61019a6004803603604081101561025e57600080fd5b506001600160a01b038135169060200135610935565b61019a6004803603602081101561028a57600080fd5b5035610a76565b61019a600480360360208110156102a757600080fd5b5035610a83565b610180600480360360208110156102c457600080fd5b50356001600160a01b0316610ae6565b6101c8610af8565b61019a600480360360208110156102f257600080fd5b50356001600160a01b0316610b08565b61030a610bb2565b604080516001600160a01b039092168252519081900360200190f35b610180610bc1565b61019a6004803603604081101561034457600080fd5b506001600160a01b038135169060200135610bc7565b61019a6004803603602081101561037057600080fd5b5035610e83565b6101c86004803603604081101561038d57600080fd5b506001600160a01b038135169060200135610e8d565b61019a600480360360408110156103b957600080fd5b506001600160a01b038135169060200135610ea1565b61019a600480360360608110156103e557600080fd5b506001600160a01b03813581169160208101359091169060400135610eb1565b61019a610ec2565b61030a610f58565b6101c86004803603602081101561042b57600080fd5b50356001600160a01b0316610f67565b6101806004803603604081101561045157600080fd5b506001600160a01b0381358116916020013516610f75565b61019a6004803603604081101561047f57600080fd5b506001600160a01b038135169060200135610f92565b60075481565b6104b1336000356001600160e01b031916610f9d565b6104f9576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b6001805460ff60a01b1916600160a01b1790556040517fbedf0f4abfe86d4ffad593d9607fe70e83ea706033d44d24b3b6283cf3fc4f6b90600090a1565b600154600090600160a01b900460ff161561058e576040805162461bcd60e51b8152602060048201526012602482015271191ccb5cdd1bdc0b5a5ccb5cdd1bdc1c195960721b604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b61060c336000356001600160e01b031916610f9d565b610654576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b60025481565b600154600090600160a01b900460ff1615610701576040805162461bcd60e51b8152602060048201526012602482015271191ccb5cdd1bdc0b5a5ccb5cdd1bdc1c195960721b604482015290519081900360640190fd5b6001600160a01b038416331480159061073f57506001600160a01b038416600090815260046020908152604080832033845290915290205460001914155b1561080f576001600160a01b03841660009081526004602090815260408083203384529091529020548211156107bc576040805162461bcd60e51b815260206004820152601e60248201527f64732d746f6b656e2d696e73756666696369656e742d617070726f76616c0000604482015290519081900360640190fd5b6001600160a01b03841660009081526004602090815260408083203384529091529020546107ea9083611084565b6001600160a01b03851660009081526004602090815260408083203384529091529020555b6001600160a01b03841660009081526003602052604090205482111561087c576040805162461bcd60e51b815260206004820152601d60248201527f64732d746f6b656e2d696e73756666696369656e742d62616c616e6365000000604482015290519081900360640190fd5b6001600160a01b03841660009081526003602052604090205461089f9083611084565b6001600160a01b0380861660009081526003602052604080822093909355908516815220546108ce90836110d4565b6001600160a01b0380851660008181526003602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b60065481565b61094b336000356001600160e01b031916610f9d565b610993576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b600154600160a01b900460ff16156109e7576040805162461bcd60e51b8152602060048201526012602482015271191ccb5cdd1bdc0b5a5ccb5cdd1bdc1c195960721b604482015290519081900360640190fd5b6001600160a01b038216600090815260036020526040902054610a0a90826110d4565b6001600160a01b038316600090815260036020526040902055600254610a3090826110d4565b6002556040805182815290516001600160a01b038416917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a25050565b610a803382610bc7565b50565b610a99336000356001600160e01b031916610f9d565b610ae1576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b600755565b60036020526000908152604090205481565b600154600160a01b900460ff1681565b610b1e336000356001600160e01b031916610f9d565b610b66576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b6001546001600160a01b031681565b60055481565b610bdd336000356001600160e01b031916610f9d565b610c25576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b600154600160a01b900460ff1615610c79576040805162461bcd60e51b8152602060048201526012602482015271191ccb5cdd1bdc0b5a5ccb5cdd1bdc1c195960721b604482015290519081900360640190fd5b6001600160a01b0382163314801590610cb757506001600160a01b038216600090815260046020908152604080832033845290915290205460001914155b15610d87576001600160a01b0382166000908152600460209081526040808320338452909152902054811115610d34576040805162461bcd60e51b815260206004820152601e60248201527f64732d746f6b656e2d696e73756666696369656e742d617070726f76616c0000604482015290519081900360640190fd5b6001600160a01b0382166000908152600460209081526040808320338452909152902054610d629082611084565b6001600160a01b03831660009081526004602090815260408083203384529091529020555b6001600160a01b038216600090815260036020526040902054811115610df4576040805162461bcd60e51b815260206004820152601d60248201527f64732d746f6b656e2d696e73756666696369656e742d62616c616e6365000000604482015290519081900360640190fd5b6001600160a01b038216600090815260036020526040902054610e179082611084565b6001600160a01b038316600090815260036020526040902055600254610e3d9082611084565b6002556040805182815290516001600160a01b038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a25050565b610a803382610935565b6000610e9a3384846106aa565b9392505050565b610eac3383836106aa565b505050565b610ebc8383836106aa565b50505050565b610ed8336000356001600160e01b031916610f9d565b610f20576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b6001805460ff60a01b191690556040517f1b55ba3aa851a46be3b365aee5b5c140edd620d578922f3e8466d2cbd96f954b90600090a1565b6000546001600160a01b031681565b60006105f082600019610537565b600460209081526000928352604080842090915290825290205481565b610eac8233836106aa565b60006001600160a01b038316301415610fb8575060016105f0565b6001546001600160a01b0384811691161415610fd6575060016105f0565b6000546001600160a01b0316610fee575060006105f0565b6000546040805163b700961360e01b81526001600160a01b0386811660048301523060248301526001600160e01b0319861660448301529151919092169163b7009613916064808301926020929190829003018186803b15801561105157600080fd5b505afa158015611065573d6000803e3d6000fd5b505050506040513d602081101561107b57600080fd5b505190506105f0565b808203828111156105f0576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fd5b808201828110156105f0576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fdfea26469706673582212205d78c8bfac43325139729d1133484204b57ca93624935908b44ee8612908388364736f6c634300060700336753757368690000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101735760003560e01c80637a9e5e4b116100de578063b753a98c11610097578063bf7e214f11610071578063bf7e214f1461040d578063daea85c514610415578063dd62ed3e1461043b578063f2d5d56b1461046957610173565b8063b753a98c146103a3578063bb35783b146103cf578063be9a65551461040557610173565b80637a9e5e4b146102dc5780638da5cb5b1461030257806395d89b41146103265780639dc29fac1461032e578063a0712d681461035a578063a9059cbb1461037757610173565b8063313ce56711610130578063313ce5671461024057806340c10f191461024857806342966c68146102745780635ac801fe1461029157806370a08231146102ae57806375f12b21146102d457610173565b806306fdde031461017857806307da68f514610192578063095ea7b31461019c57806313af4035146101dc57806318160ddd1461020257806323b872dd1461020a575b600080fd5b610180610495565b60408051918252519081900360200190f35b61019a61049b565b005b6101c8600480360360408110156101b257600080fd5b506001600160a01b038135169060200135610537565b604080519115158252519081900360200190f35b61019a600480360360208110156101f257600080fd5b50356001600160a01b03166105f6565b6101806106a4565b6101c86004803603606081101561022057600080fd5b506001600160a01b038135811691602081013590911690604001356106aa565b61018061092f565b61019a6004803603604081101561025e57600080fd5b506001600160a01b038135169060200135610935565b61019a6004803603602081101561028a57600080fd5b5035610a76565b61019a600480360360208110156102a757600080fd5b5035610a83565b610180600480360360208110156102c457600080fd5b50356001600160a01b0316610ae6565b6101c8610af8565b61019a600480360360208110156102f257600080fd5b50356001600160a01b0316610b08565b61030a610bb2565b604080516001600160a01b039092168252519081900360200190f35b610180610bc1565b61019a6004803603604081101561034457600080fd5b506001600160a01b038135169060200135610bc7565b61019a6004803603602081101561037057600080fd5b5035610e83565b6101c86004803603604081101561038d57600080fd5b506001600160a01b038135169060200135610e8d565b61019a600480360360408110156103b957600080fd5b506001600160a01b038135169060200135610ea1565b61019a600480360360608110156103e557600080fd5b506001600160a01b03813581169160208101359091169060400135610eb1565b61019a610ec2565b61030a610f58565b6101c86004803603602081101561042b57600080fd5b50356001600160a01b0316610f67565b6101806004803603604081101561045157600080fd5b506001600160a01b0381358116916020013516610f75565b61019a6004803603604081101561047f57600080fd5b506001600160a01b038135169060200135610f92565b60075481565b6104b1336000356001600160e01b031916610f9d565b6104f9576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b6001805460ff60a01b1916600160a01b1790556040517fbedf0f4abfe86d4ffad593d9607fe70e83ea706033d44d24b3b6283cf3fc4f6b90600090a1565b600154600090600160a01b900460ff161561058e576040805162461bcd60e51b8152602060048201526012602482015271191ccb5cdd1bdc0b5a5ccb5cdd1bdc1c195960721b604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b61060c336000356001600160e01b031916610f9d565b610654576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b60025481565b600154600090600160a01b900460ff1615610701576040805162461bcd60e51b8152602060048201526012602482015271191ccb5cdd1bdc0b5a5ccb5cdd1bdc1c195960721b604482015290519081900360640190fd5b6001600160a01b038416331480159061073f57506001600160a01b038416600090815260046020908152604080832033845290915290205460001914155b1561080f576001600160a01b03841660009081526004602090815260408083203384529091529020548211156107bc576040805162461bcd60e51b815260206004820152601e60248201527f64732d746f6b656e2d696e73756666696369656e742d617070726f76616c0000604482015290519081900360640190fd5b6001600160a01b03841660009081526004602090815260408083203384529091529020546107ea9083611084565b6001600160a01b03851660009081526004602090815260408083203384529091529020555b6001600160a01b03841660009081526003602052604090205482111561087c576040805162461bcd60e51b815260206004820152601d60248201527f64732d746f6b656e2d696e73756666696369656e742d62616c616e6365000000604482015290519081900360640190fd5b6001600160a01b03841660009081526003602052604090205461089f9083611084565b6001600160a01b0380861660009081526003602052604080822093909355908516815220546108ce90836110d4565b6001600160a01b0380851660008181526003602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b60065481565b61094b336000356001600160e01b031916610f9d565b610993576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b600154600160a01b900460ff16156109e7576040805162461bcd60e51b8152602060048201526012602482015271191ccb5cdd1bdc0b5a5ccb5cdd1bdc1c195960721b604482015290519081900360640190fd5b6001600160a01b038216600090815260036020526040902054610a0a90826110d4565b6001600160a01b038316600090815260036020526040902055600254610a3090826110d4565b6002556040805182815290516001600160a01b038416917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a25050565b610a803382610bc7565b50565b610a99336000356001600160e01b031916610f9d565b610ae1576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b600755565b60036020526000908152604090205481565b600154600160a01b900460ff1681565b610b1e336000356001600160e01b031916610f9d565b610b66576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b6001546001600160a01b031681565b60055481565b610bdd336000356001600160e01b031916610f9d565b610c25576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b600154600160a01b900460ff1615610c79576040805162461bcd60e51b8152602060048201526012602482015271191ccb5cdd1bdc0b5a5ccb5cdd1bdc1c195960721b604482015290519081900360640190fd5b6001600160a01b0382163314801590610cb757506001600160a01b038216600090815260046020908152604080832033845290915290205460001914155b15610d87576001600160a01b0382166000908152600460209081526040808320338452909152902054811115610d34576040805162461bcd60e51b815260206004820152601e60248201527f64732d746f6b656e2d696e73756666696369656e742d617070726f76616c0000604482015290519081900360640190fd5b6001600160a01b0382166000908152600460209081526040808320338452909152902054610d629082611084565b6001600160a01b03831660009081526004602090815260408083203384529091529020555b6001600160a01b038216600090815260036020526040902054811115610df4576040805162461bcd60e51b815260206004820152601d60248201527f64732d746f6b656e2d696e73756666696369656e742d62616c616e6365000000604482015290519081900360640190fd5b6001600160a01b038216600090815260036020526040902054610e179082611084565b6001600160a01b038316600090815260036020526040902055600254610e3d9082611084565b6002556040805182815290516001600160a01b038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a25050565b610a803382610935565b6000610e9a3384846106aa565b9392505050565b610eac3383836106aa565b505050565b610ebc8383836106aa565b50505050565b610ed8336000356001600160e01b031916610f9d565b610f20576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b6001805460ff60a01b191690556040517f1b55ba3aa851a46be3b365aee5b5c140edd620d578922f3e8466d2cbd96f954b90600090a1565b6000546001600160a01b031681565b60006105f082600019610537565b600460209081526000928352604080842090915290825290205481565b610eac8233836106aa565b60006001600160a01b038316301415610fb8575060016105f0565b6001546001600160a01b0384811691161415610fd6575060016105f0565b6000546001600160a01b0316610fee575060006105f0565b6000546040805163b700961360e01b81526001600160a01b0386811660048301523060248301526001600160e01b0319861660448301529151919092169163b7009613916064808301926020929190829003018186803b15801561105157600080fd5b505afa158015611065573d6000803e3d6000fd5b505050506040513d602081101561107b57600080fd5b505190506105f0565b808203828111156105f0576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fd5b808201828110156105f0576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fdfea26469706673582212205d78c8bfac43325139729d1133484204b57ca93624935908b44ee8612908388364736f6c63430006070033

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

6753757368690000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : symbol_ (bytes32): 0x6753757368690000000000000000000000000000000000000000000000000000

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 6753757368690000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

6275:3683:0:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;6275:3683:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;6813:67:0;;;:::i;:::-;;;;;;;;;;;;;;;;9693:83;;;:::i;:::-;;7485:195;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;7485:195:0;;-1:-1:-1;;;;;7485:195:0;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;1339:136;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1339:136:0;-1:-1:-1;;;;;1339:136:0;;:::i;6389:69::-;;;:::i;7821:633::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;7821:633:0;;;;;;;;;;;;;;;;;:::i;6684:71::-;;;:::i;8953:195::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;8953:195:0;;-1:-1:-1;;;;;8953:195:0;;;;;;:::i;8872:73::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;8872:73:0;;:::i;9878:77::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;9878:77:0;;:::i;6465:67::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;6465:67:0;-1:-1:-1;;;;;6465:67:0;;:::i;6317:65::-;;;:::i;1483:173::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1483:173:0;-1:-1:-1;;;;;1483:173:0;;:::i;1199:26::-;;;:::i;:::-;;;;-1:-1:-1;;;;;1199:26:0;;;;;;;;;;;;;;6613:64;;;:::i;9156:529::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;9156:529:0;;-1:-1:-1;;;;;9156:529:0;;;;;;:::i;8791:73::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;8791:73:0;;:::i;7688:125::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;7688:125:0;;-1:-1:-1;;;;;7688:125:0;;;;;;:::i;8462:99::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;8462:99:0;;-1:-1:-1;;;;;8462:99:0;;;;;;:::i;8676:105::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;8676:105:0;;;;;;;;;;;;;;;;;:::i;9784:86::-;;;:::i;1162:30::-;;;:::i;7375:102::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;7375:102:0;-1:-1:-1;;;;;7375:102:0;;:::i;6539:67::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;6539:67:0;;;;;;;;;;:::i;8569:99::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;8569:99:0;;-1:-1:-1;;;;;8569:99:0;;;;;;:::i;6813:67::-;;;;:::o;9693:83::-;1697:33;1710:10;-1:-1:-1;;;;;;1722:7:0;;;1697:12;:33::i;:::-;1689:66;;;;;-1:-1:-1;;;1689:66:0;;;;;;;;;;;;-1:-1:-1;;;1689:66:0;;;;;;;;;;;;;;;9742:4:::1;9732:14:::0;;-1:-1:-1;;;;9732:14:0::1;-1:-1:-1::0;;;9732:14:0::1;::::0;;9762:6:::1;::::0;::::1;::::0;-1:-1:-1;;9762:6:0::1;9693:83::o:0;7485:195::-;7317:7;;7551:4;;-1:-1:-1;;;7317:7:0;;;;7316:8;7308:39;;;;;-1:-1:-1;;;7308:39:0;;;;;;;;;;;;-1:-1:-1;;;7308:39:0;;;;;;;;;;;;;;;7578:10:::1;7568:21;::::0;;;:9:::1;:21;::::0;;;;;;;-1:-1:-1;;;;;7568:26:0;::::1;::::0;;;;;;;;;;:32;;;7618:30;;;;;;;7568:26;;7578:10;7618:30:::1;::::0;;;;;;;;;::::1;-1:-1:-1::0;7668:4:0::1;7358:1;7485:195:::0;;;;:::o;1339:136::-;1697:33;1710:10;-1:-1:-1;;;;;;1722:7:0;;;1697:12;:33::i;:::-;1689:66;;;;;-1:-1:-1;;;1689:66:0;;;;;;;;;;;;-1:-1:-1;;;1689:66:0;;;;;;;;;;;;;;;1419:5:::1;:14:::0;;-1:-1:-1;;;;;;1419:14:0::1;-1:-1:-1::0;;;;;1419:14:0;;::::1;::::0;;;::::1;::::0;;;;1449:18:::1;::::0;1461:5;::::1;::::0;1449:18:::1;::::0;-1:-1:-1;;1449:18:0::1;1339:136:::0;:::o;6389:69::-;;;;:::o;7821:633::-;7317:7;;7932:4;;-1:-1:-1;;;7317:7:0;;;;7316:8;7308:39;;;;;-1:-1:-1;;;7308:39:0;;;;;;;;;;;;-1:-1:-1;;;7308:39:0;;;;;;;;;;;;;;;7965:10:::1;-1:-1:-1::0;;;;;7958:17:0;::::1;;::::0;::::1;::::0;:59:::1;;-1:-1:-1::0;;;;;;7979:14:0;::::1;;::::0;;;:9:::1;:14;::::0;;;;;;;7994:10:::1;7979:26:::0;;;;;;;;-1:-1:-1;;7979:38:0::1;;7958:59;7954:248;;;-1:-1:-1::0;;;;;8042:14:0;::::1;;::::0;;;:9:::1;:14;::::0;;;;;;;8057:10:::1;8042:26:::0;;;;;;;;-1:-1:-1;;8042:33:0::1;8034:76;;;::::0;;-1:-1:-1;;;8034:76:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;8158:14:0;::::1;;::::0;;;:9:::1;:14;::::0;;;;;;;8173:10:::1;8158:26:::0;;;;;;;;8154:36:::1;::::0;8186:3;8154::::1;:36::i;:::-;-1:-1:-1::0;;;;;8125:14:0;::::1;;::::0;;;:9:::1;:14;::::0;;;;;;;8140:10:::1;8125:26:::0;;;;;;;:65;7954:248:::1;-1:-1:-1::0;;;;;8222:14:0;::::1;;::::0;;;:9:::1;:14;::::0;;;;;-1:-1:-1;;8222:21:0::1;8214:63;;;::::0;;-1:-1:-1;;;8214:63:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;8309:14:0;::::1;;::::0;;;:9:::1;:14;::::0;;;;;8305:24:::1;::::0;8325:3;8305::::1;:24::i;:::-;-1:-1:-1::0;;;;;8288:14:0;;::::1;;::::0;;;:9:::1;:14;::::0;;;;;:41;;;;8361:14;;::::1;::::0;;;;8357:24:::1;::::0;8377:3;8357::::1;:24::i;:::-;-1:-1:-1::0;;;;;8340:14:0;;::::1;;::::0;;;:9:::1;:14;::::0;;;;;;;;:41;;;;8399:23;;;;;;;8340:14;;8399:23;;::::1;::::0;::::1;::::0;;;;;;;::::1;-1:-1:-1::0;8442:4:0::1;7821:633:::0;;;;;:::o;6684:71::-;;;;:::o;8953:195::-;1697:33;1710:10;-1:-1:-1;;;;;;1722:7:0;;;1697:12;:33::i;:::-;1689:66;;;;;-1:-1:-1;;;1689:66:0;;;;;;;;;;;;-1:-1:-1;;;1689:66:0;;;;;;;;;;;;;;;7317:7:::1;::::0;-1:-1:-1;;;7317:7:0;::::1;;;7316:8;7308:39;;;::::0;;-1:-1:-1;;;7308:39:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;7308:39:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;9044:14:0;::::2;;::::0;;;:9:::2;:14;::::0;;;;;9040:24:::2;::::0;9060:3;9040::::2;:24::i;:::-;-1:-1:-1::0;;;;;9023:14:0;::::2;;::::0;;;:9:::2;:14;::::0;;;;:41;9093:11:::2;::::0;9089:21:::2;::::0;9106:3;9089::::2;:21::i;:::-;9075:11;:35:::0;9126:14:::2;::::0;;;;;;;-1:-1:-1;;;;;9126:14:0;::::2;::::0;::::2;::::0;;;;;::::2;::::0;;::::2;8953:195:::0;;:::o;8872:73::-;8916:21;8921:10;8933:3;8916:4;:21::i;:::-;8872:73;:::o;9878:77::-;1697:33;1710:10;-1:-1:-1;;;;;;1722:7:0;;;1697:12;:33::i;:::-;1689:66;;;;;-1:-1:-1;;;1689:66:0;;;;;;;;;;;;-1:-1:-1;;;1689:66:0;;;;;;;;;;;;;;;9935:4:::1;:12:::0;9878:77::o;6465:67::-;;;;;;;;;;;;;:::o;6317:65::-;;;-1:-1:-1;;;6317:65:0;;;;;:::o;1483:173::-;1697:33;1710:10;-1:-1:-1;;;;;;1722:7:0;;;1697:12;:33::i;:::-;1689:66;;;;;-1:-1:-1;;;1689:66:0;;;;;;;;;;;;-1:-1:-1;;;1689:66:0;;;;;;;;;;;;;;;1575:9:::1;:22:::0;;-1:-1:-1;;;;;;1575:22:0::1;-1:-1:-1::0;;;;;1575:22:0;;::::1;::::0;;;::::1;::::0;;;1613:35:::1;::::0;1637:9;::::1;::::0;1613:35:::1;::::0;::::1;1483:173:::0;:::o;1199:26::-;;;-1:-1:-1;;;;;1199:26:0;;:::o;6613:64::-;;;;:::o;9156:529::-;1697:33;1710:10;-1:-1:-1;;;;;;1722:7:0;;;1697:12;:33::i;:::-;1689:66;;;;;-1:-1:-1;;;1689:66:0;;;;;;;;;;;;-1:-1:-1;;;1689:66:0;;;;;;;;;;;;;;;7317:7:::1;::::0;-1:-1:-1;;;7317:7:0;::::1;;;7316:8;7308:39;;;::::0;;-1:-1:-1;;;7308:39:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;7308:39:0;;;;;;;;;;;;;::::1;;9237:10:::2;-1:-1:-1::0;;;;;9230:17:0;::::2;;::::0;::::2;::::0;:59:::2;;-1:-1:-1::0;;;;;;9251:14:0;::::2;;::::0;;;:9:::2;:14;::::0;;;;;;;9266:10:::2;9251:26:::0;;;;;;;;-1:-1:-1;;9251:38:0::2;;9230:59;9226:248;;;-1:-1:-1::0;;;;;9314:14:0;::::2;;::::0;;;:9:::2;:14;::::0;;;;;;;9329:10:::2;9314:26:::0;;;;;;;;-1:-1:-1;;9314:33:0::2;9306:76;;;::::0;;-1:-1:-1;;;9306:76:0;;::::2;;::::0;::::2;::::0;::::2;::::0;;;;::::2;::::0;;;;;;;;;;;;;::::2;;-1:-1:-1::0;;;;;9430:14:0;::::2;;::::0;;;:9:::2;:14;::::0;;;;;;;9445:10:::2;9430:26:::0;;;;;;;;9426:36:::2;::::0;9458:3;9426::::2;:36::i;:::-;-1:-1:-1::0;;;;;9397:14:0;::::2;;::::0;;;:9:::2;:14;::::0;;;;;;;9412:10:::2;9397:26:::0;;;;;;;:65;9226:248:::2;-1:-1:-1::0;;;;;9494:14:0;::::2;;::::0;;;:9:::2;:14;::::0;;;;;-1:-1:-1;;9494:21:0::2;9486:63;;;::::0;;-1:-1:-1;;;9486:63:0;;::::2;;::::0;::::2;::::0;::::2;::::0;;;;::::2;::::0;;;;;;;;;;;;;::::2;;-1:-1:-1::0;;;;;9581:14:0;::::2;;::::0;;;:9:::2;:14;::::0;;;;;9577:24:::2;::::0;9597:3;9577::::2;:24::i;:::-;-1:-1:-1::0;;;;;9560:14:0;::::2;;::::0;;;:9:::2;:14;::::0;;;;:41;9630:11:::2;::::0;9626:21:::2;::::0;9643:3;9626::::2;:21::i;:::-;9612:11;:35:::0;9663:14:::2;::::0;;;;;;;-1:-1:-1;;;;;9663:14:0;::::2;::::0;::::2;::::0;;;;;::::2;::::0;;::::2;9156:529:::0;;:::o;8791:73::-;8835:21;8840:10;8852:3;8835:4;:21::i;7688:125::-;7747:4;7771:34;7784:10;7796:3;7801;7771:12;:34::i;:::-;7764:41;7688:125;-1:-1:-1;;;7688:125:0:o;8462:99::-;8519:34;8532:10;8544:3;8549;8519:12;:34::i;:::-;;8462:99;;:::o;8676:105::-;8746:27;8759:3;8764;8769;8746:12;:27::i;:::-;;8676:105;;;:::o;9784:86::-;1697:33;1710:10;-1:-1:-1;;;;;;1722:7:0;;;1697:12;:33::i;:::-;1689:66;;;;;-1:-1:-1;;;1689:66:0;;;;;;;;;;;;-1:-1:-1;;;1689:66:0;;;;;;;;;;;;;;;9824:7:::1;:15:::0;;-1:-1:-1;;;;9824:15:0::1;::::0;;9855:7:::1;::::0;::::1;::::0;-1:-1:-1;;9855:7:0::1;9784:86::o:0;1162:30::-;;;-1:-1:-1;;;;;1162:30:0;;:::o;7375:102::-;7423:4;7447:22;7455:3;-1:-1:-1;;7447:7:0;:22::i;6539:67::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;8569:99::-;8626:34;8639:3;8644:10;8656:3;8626:12;:34::i;1783:380::-;1853:4;1889;-1:-1:-1;;;;;1874:20:0;;;1870:286;;;-1:-1:-1;1918:4:0;1911:11;;1870:286;1951:5;;-1:-1:-1;;;;;1944:12:0;;;1951:5;;1944:12;1940:216;;;-1:-1:-1;1980:4:0;1973:11;;1940:216;2031:1;2006:9;-1:-1:-1;;;;;2006:9:0;2002:154;;-1:-1:-1;2057:5:0;2050:12;;2002:154;2102:9;;:42;;;-1:-1:-1;;;2102:42:0;;-1:-1:-1;;;;;2102:42:0;;;;;;;2133:4;2102:42;;;;-1:-1:-1;;;;;;2102:42:0;;;;;;;;:9;;;;;-1:-1:-1;;2102:42:0;;;;;;;;;;;;;;:9;:42;;;2:2:-1;;;;27:1;24;17:12;2:2;2102:42:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2102:42:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2102:42:0;;-1:-1:-1;2095:49:0;;3105:129;3189:5;;;3184:16;;;;3176:50;;;;;-1:-1:-1;;;3176:50:0;;;;;;;;;;;;-1:-1:-1;;;3176:50:0;;;;;;;;;;;;;;2971:128;3055:5;;;3050:16;;;;3042:49;;;;;-1:-1:-1;;;3042:49:0;;;;;;;;;;;;-1:-1:-1;;;3042:49:0;;;;;;;;;;;;;

Swarm Source

ipfs://5d78c8bfac43325139729d1133484204b57ca93624935908b44ee86129083883

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

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.