ETH Price: $3,261.32 (-4.45%)

Contract

0x2501E303708445caf8117d1ec8d3AcB6b80e8da4
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer110223122020-10-09 16:23:361562 days ago1602260616IN
0x2501E303...6b80e8da4
0 ETH0.0021069274
Approve110212512020-10-09 12:28:231562 days ago1602246503IN
0x2501E303...6b80e8da4
0 ETH0.0012893489
Transfer109669462020-10-01 0:17:551570 days ago1601511475IN
0x2501E303...6b80e8da4
0 ETH0.0028492377
Approve109519282020-09-28 16:11:461573 days ago1601309506IN
0x2501E303...6b80e8da4
0 ETH0.00228894158
Transfer109030992020-09-21 2:34:001580 days ago1600655640IN
0x2501E303...6b80e8da4
0 ETH0.00375911101
Approve108544832020-09-13 15:31:091588 days ago1600011069IN
0x2501E303...6b80e8da4
0 ETH0.00598833135
Approve108544272020-09-13 15:20:131588 days ago1600010413IN
0x2501E303...6b80e8da4
0 ETH0.00598833135
Approve108544172020-09-13 15:18:041588 days ago1600010284IN
0x2501E303...6b80e8da4
0 ETH0.00536731121
Approve108543422020-09-13 15:02:121588 days ago1600009332IN
0x2501E303...6b80e8da4
0 ETH0.00461323104
Approve108543092020-09-13 14:55:061588 days ago1600008906IN
0x2501E303...6b80e8da4
0 ETH0.00550039124.00000123
Approve108543002020-09-13 14:52:201588 days ago1600008740IN
0x2501E303...6b80e8da4
0 ETH0.0044358100
Approve108542952020-09-13 14:51:241588 days ago1600008684IN
0x2501E303...6b80e8da4
0 ETH0.00598833135
Approve108542802020-09-13 14:48:091588 days ago1600008489IN
0x2501E303...6b80e8da4
0 ETH0.0044358100
Approve108542772020-09-13 14:47:531588 days ago1600008473IN
0x2501E303...6b80e8da4
0 ETH0.00598833135
Approve108542742020-09-13 14:47:131588 days ago1600008433IN
0x2501E303...6b80e8da4
0 ETH0.0042228895.2
Approve108542742020-09-13 14:47:131588 days ago1600008433IN
0x2501E303...6b80e8da4
0 ETH0.0044358100
Approve108542712020-09-13 14:46:351588 days ago1600008395IN
0x2501E303...6b80e8da4
0 ETH0.00610476137.625
Approve108542102020-09-13 14:35:011588 days ago1600007701IN
0x2501E303...6b80e8da4
0 ETH0.00656498148
Approve108541832020-09-13 14:29:421588 days ago1600007382IN
0x2501E303...6b80e8da4
0 ETH0.00510117115
Approve108541252020-09-13 14:15:281588 days ago1600006528IN
0x2501E303...6b80e8da4
0 ETH0.00585525132
Approve108541252020-09-13 14:15:281588 days ago1600006528IN
0x2501E303...6b80e8da4
0 ETH0.00598833135
Approve108541232020-09-13 14:15:171588 days ago1600006517IN
0x2501E303...6b80e8da4
0 ETH0.00598833135
Approve108541162020-09-13 14:13:491588 days ago1600006429IN
0x2501E303...6b80e8da4
0 ETH0.0088716200
Approve108541152020-09-13 14:13:471588 days ago1600006427IN
0x2501E303...6b80e8da4
0 ETH0.00594397134
Approve108541152020-09-13 14:13:471588 days ago1600006427IN
0x2501E303...6b80e8da4
0 ETH0.00594397134
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
108549912020-09-13 17:27:051588 days ago1600018025
0x2501E303...6b80e8da4
0 ETH
108549912020-09-13 17:27:051588 days ago1600018025
0x2501E303...6b80e8da4
0 ETH
108545302020-09-13 15:42:501588 days ago1600011770
0x2501E303...6b80e8da4
0 ETH
108545302020-09-13 15:42:501588 days ago1600011770
0x2501E303...6b80e8da4
0 ETH
108545122020-09-13 15:38:131588 days ago1600011493
0x2501E303...6b80e8da4
0 ETH
108545122020-09-13 15:38:131588 days ago1600011493
0x2501E303...6b80e8da4
0 ETH
108545122020-09-13 15:38:131588 days ago1600011493
0x2501E303...6b80e8da4
0 ETH
108545122020-09-13 15:38:131588 days ago1600011493
0x2501E303...6b80e8da4
0 ETH
108545032020-09-13 15:36:011588 days ago1600011361
0x2501E303...6b80e8da4
0 ETH
108545032020-09-13 15:36:011588 days ago1600011361
0x2501E303...6b80e8da4
0 ETH
108544662020-09-13 15:27:471588 days ago1600010867
0x2501E303...6b80e8da4
0 ETH
108544662020-09-13 15:27:471588 days ago1600010867
0x2501E303...6b80e8da4
0 ETH
108544612020-09-13 15:26:121588 days ago1600010772
0x2501E303...6b80e8da4
0 ETH
108544612020-09-13 15:26:121588 days ago1600010772
0x2501E303...6b80e8da4
0 ETH
108544252020-09-13 15:19:301588 days ago1600010370
0x2501E303...6b80e8da4
0 ETH
108544252020-09-13 15:19:301588 days ago1600010370
0x2501E303...6b80e8da4
0 ETH
108544102020-09-13 15:16:291588 days ago1600010189
0x2501E303...6b80e8da4
0 ETH
108544102020-09-13 15:16:291588 days ago1600010189
0x2501E303...6b80e8da4
0 ETH
108544052020-09-13 15:15:431588 days ago1600010143
0x2501E303...6b80e8da4
0 ETH
108544052020-09-13 15:15:431588 days ago1600010143
0x2501E303...6b80e8da4
0 ETH
108543882020-09-13 15:11:111588 days ago1600009871
0x2501E303...6b80e8da4
0 ETH
108543882020-09-13 15:11:111588 days ago1600009871
0x2501E303...6b80e8da4
0 ETH
108543542020-09-13 15:04:181588 days ago1600009458
0x2501E303...6b80e8da4
0 ETH
108543542020-09-13 15:04:181588 days ago1600009458
0x2501E303...6b80e8da4
0 ETH
108543352020-09-13 15:01:191588 days ago1600009279
0x2501E303...6b80e8da4
0 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BananaFarm

Compiler Version
v0.6.0+commit.26b70077

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2020-09-13
*/

/**
  ___                             ___               
 | _ ) __ _ _ _  __ _ _ _  __ _  | __|_ _ _ _ _ __  
 | _ \/ _` | ' \/ _` | ' \/ _` | | _/ _` | '_| '  \ 
 |___/\__,_|_||_\__,_|_||_\__,_| |_|\__,_|_| |_|_|_|
 
 
 BANANA FARM
 bananafarm.network
 
 Official Discord: https://discord.gg/G4PgARg
 
 “Banana Farms can be a good long term investment. The earlier in the game you buy them, the better their payoff will be.”
 
*/

pragma solidity 0.6.0;

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        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) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;

        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

contract Ownable {
    address public _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () public {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), msg.sender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == msg.sender, "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

contract BananaFarm is Ownable {

    using SafeMath for uint256;

    event LogRebase(uint256 indexed epoch, uint256 totalSupply);

    modifier validRecipient(address to) {
        require(to != address(0x0));
        require(to != address(this));
        _;
    }
    
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);

    string public constant name = "Banana Farm";
    string public constant symbol = "BANA";
    uint256 public constant decimals = 9;

    uint256 private constant DECIMALS = 9;
    uint256 private constant MAX_UINT256 = ~uint256(0);
    uint256 private constant INITIAL_FRAGMENTS_SUPPLY = 1000000 * 10**DECIMALS;

    uint256 private constant TOTAL_GONS = MAX_UINT256 - (MAX_UINT256 % INITIAL_FRAGMENTS_SUPPLY);

    uint256 private constant MAX_SUPPLY = ~uint128(0);  // (2^128) - 1

    uint256 private _totalSupply;
    uint256 private _gonsPerFragment;
    mapping(address => uint256) private _gonBalances;

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

    function negativerebase(uint256 epoch, uint256 supplyDelta)
        external
        onlyOwner
        returns (uint256)
    {
        if (supplyDelta == 0) {
            emit LogRebase(epoch, _totalSupply);
            return _totalSupply;
        }

         _totalSupply = _totalSupply.sub(supplyDelta);

        
        if (_totalSupply > MAX_SUPPLY) {
            _totalSupply = MAX_SUPPLY;
        }

        _gonsPerFragment = TOTAL_GONS.div(_totalSupply);

        emit LogRebase(epoch, _totalSupply);
        return _totalSupply;
    }
    
        function positiverebase(uint256 epoch, uint256 supplyDelta)
        external
        onlyOwner
        returns (uint256)
    {
        if (supplyDelta == 0) {
            emit LogRebase(epoch, _totalSupply);
            return _totalSupply;
        }

         _totalSupply = _totalSupply.add(supplyDelta);

        
        if (_totalSupply > MAX_SUPPLY) {
            _totalSupply = MAX_SUPPLY;
        }

        _gonsPerFragment = TOTAL_GONS.div(_totalSupply);

        emit LogRebase(epoch, _totalSupply);
        return _totalSupply;
    }

    constructor() public override {
        _owner = msg.sender;
        
        _totalSupply = INITIAL_FRAGMENTS_SUPPLY;
        _gonBalances[_owner] = TOTAL_GONS;
        _gonsPerFragment = TOTAL_GONS.div(_totalSupply);

        emit Transfer(address(0x0), _owner, _totalSupply);
    }

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

    function balanceOf(address who)
        public
        view
        returns (uint256)
    {
        return _gonBalances[who].div(_gonsPerFragment);
    }

    function transfer(address to, uint256 value)
        public
        validRecipient(to)
        returns (bool)
    {
        uint256 gonValue = value.mul(_gonsPerFragment);
        _gonBalances[msg.sender] = _gonBalances[msg.sender].sub(gonValue);
        _gonBalances[to] = _gonBalances[to].add(gonValue);
        emit Transfer(msg.sender, to, value);
        return true;
    }

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

    function transferFrom(address from, address to, uint256 value)
        public
        validRecipient(to)
        returns (bool)
    {
        _allowedFragments[from][msg.sender] = _allowedFragments[from][msg.sender].sub(value);

        uint256 gonValue = value.mul(_gonsPerFragment);
        _gonBalances[from] = _gonBalances[from].sub(gonValue);
        _gonBalances[to] = _gonBalances[to].add(gonValue);
        emit Transfer(from, to, value);

        return true;
    }

    function approve(address spender, uint256 value)
        public
        returns (bool)
    {
        _allowedFragments[msg.sender][spender] = value;
        emit Approval(msg.sender, spender, value);
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue)
        public
        returns (bool)
    {
        _allowedFragments[msg.sender][spender] =
            _allowedFragments[msg.sender][spender].add(addedValue);
        emit Approval(msg.sender, spender, _allowedFragments[msg.sender][spender]);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        returns (bool)
    {
        uint256 oldValue = _allowedFragments[msg.sender][spender];
        if (subtractedValue >= oldValue) {
            _allowedFragments[msg.sender][spender] = 0;
        } else {
            _allowedFragments[msg.sender][spender] = oldValue.sub(subtractedValue);
        }
        emit Approval(msg.sender, spender, _allowedFragments[msg.sender][spender]);
        return true;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"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":true,"internalType":"uint256","name":"epoch","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalSupply","type":"uint256"}],"name":"LogRebase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner_","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"uint256","name":"supplyDelta","type":"uint256"}],"name":"negativerebase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"uint256","name":"supplyDelta","type":"uint256"}],"name":"positiverebase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a0a620f4240026001819055506009600a0a620f424002600019816200011257fe5b0660001903600360008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620001b06001546009600a0a620f424002600019816200019757fe5b06600019036200024560201b62001ade1790919060201c565b6002819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6001546040518082815260200191505060405180910390a362000362565b60006200028f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200029760201b60201c565b905092915050565b6000808311829062000347576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156200030b578082015181840152602081019050620002ee565b50505050905090810190601f168015620003395780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816200035457fe5b049050809150509392505050565b611e3980620003726000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c8063715018a6116100a2578063a457c2d711610071578063a457c2d7146104e8578063a9059cbb1461054e578063b2bdfa7b146105b4578063dd62ed3e146105fe578063f2fde38b146106765761010b565b8063715018a6146103c5578063723b075f146103cf5780638da5cb5b1461041b57806395d89b41146104655761010b565b806323b872dd116100de57806323b872dd14610263578063313ce567146102e9578063395093511461030757806370a082311461036d5761010b565b806306fdde0314610110578063095ea7b3146101935780630b663395146101f957806318160ddd14610245575b600080fd5b6101186106ba565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561015857808201518184015260208101905061013d565b50505050905090810190601f1680156101855780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101df600480360360408110156101a957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106f3565b604051808215151515815260200191505060405180910390f35b61022f6004803603604081101561020f57600080fd5b8101908080359060200190929190803590602001909291905050506107e5565b6040518082815260200191505060405180910390f35b61024d6109c4565b6040518082815260200191505060405180910390f35b6102cf6004803603606081101561027957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109ce565b604051808215151515815260200191505060405180910390f35b6102f1610d08565b6040518082815260200191505060405180910390f35b6103536004803603604081101561031d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d0d565b604051808215151515815260200191505060405180910390f35b6103af6004803603602081101561038357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f09565b6040518082815260200191505060405180910390f35b6103cd610f66565b005b610405600480360360408110156103e557600080fd5b8101908080359060200190929190803590602001909291905050506110e7565b6040518082815260200191505060405180910390f35b6104236112c6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61046d6112ef565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104ad578082015181840152602081019050610492565b50505050905090810190601f1680156104da5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610534600480360360408110156104fe57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611328565b604051808215151515815260200191505060405180910390f35b61059a6004803603604081101561056457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115b8565b604051808215151515815260200191505060405180910390f35b6105bc6117e2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106606004803603604081101561061457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611807565b6040518082815260200191505060405180910390f35b6106b86004803603602081101561068c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061188e565b005b6040518060400160405280600b81526020017f42616e616e61204661726d00000000000000000000000000000000000000000081525081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60003373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60008214156108f657827f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f26001546040518082815260200191505060405180910390a260015490506109be565b61090b82600154611a9490919063ffffffff16565b6001819055506000196fffffffffffffffffffffffffffffffff16600154111561094b576000196fffffffffffffffffffffffffffffffff166001819055505b6109786001546009600a0a620f4240026000198161096557fe5b0660001903611ade90919063ffffffff16565b600281905550827f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f26001546040518082815260200191505060405180910390a260015490505b92915050565b6000600154905090565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610a0b57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610a4457600080fd5b610ad383600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a9490919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610b6a60025485611b2890919063ffffffff16565b9050610bbe81600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a9490919063ffffffff16565b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c5381600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bae90919063ffffffff16565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a36001925050509392505050565b600981565b6000610d9e82600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bae90919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000610f5f600254600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ade90919063ffffffff16565b9050919050565b3373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611028576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60003373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60008214156111f857827f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f26001546040518082815260200191505060405180910390a260015490506112c0565b61120d82600154611bae90919063ffffffff16565b6001819055506000196fffffffffffffffffffffffffffffffff16600154111561124d576000196fffffffffffffffffffffffffffffffff166001819055505b61127a6001546009600a0a620f4240026000198161126757fe5b0660001903611ade90919063ffffffff16565b600281905550827f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f26001546040518082815260200191505060405180910390a260015490505b92915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6040518060400160405280600481526020017f42414e410000000000000000000000000000000000000000000000000000000081525081565b600080600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808310611438576000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506114cc565b61144b8382611a9490919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156115f557600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561162e57600080fd5b600061164560025485611b2890919063ffffffff16565b905061169981600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a9490919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061172e81600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bae90919063ffffffff16565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a360019250505092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611950576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156119d6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180611dbd6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000611ad683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c36565b905092915050565b6000611b2083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611cf6565b905092915050565b600080831415611b3b5760009050611ba8565b6000828402905082848281611b4c57fe5b0414611ba3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611de36021913960400191505060405180910390fd5b809150505b92915050565b600080828401905083811015611c2c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000838311158290611ce3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611ca8578082015181840152602081019050611c8d565b50505050905090810190601f168015611cd55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008083118290611da2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611d67578082015181840152602081019050611d4c565b50505050905090810190601f168015611d945780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581611dae57fe5b04905080915050939250505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122012b18d318f6c933192fcd72c8b6d7f6ffbe9ff737aedda51268e58be852d1d1f64736f6c63430006000033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061010b5760003560e01c8063715018a6116100a2578063a457c2d711610071578063a457c2d7146104e8578063a9059cbb1461054e578063b2bdfa7b146105b4578063dd62ed3e146105fe578063f2fde38b146106765761010b565b8063715018a6146103c5578063723b075f146103cf5780638da5cb5b1461041b57806395d89b41146104655761010b565b806323b872dd116100de57806323b872dd14610263578063313ce567146102e9578063395093511461030757806370a082311461036d5761010b565b806306fdde0314610110578063095ea7b3146101935780630b663395146101f957806318160ddd14610245575b600080fd5b6101186106ba565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561015857808201518184015260208101905061013d565b50505050905090810190601f1680156101855780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101df600480360360408110156101a957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106f3565b604051808215151515815260200191505060405180910390f35b61022f6004803603604081101561020f57600080fd5b8101908080359060200190929190803590602001909291905050506107e5565b6040518082815260200191505060405180910390f35b61024d6109c4565b6040518082815260200191505060405180910390f35b6102cf6004803603606081101561027957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109ce565b604051808215151515815260200191505060405180910390f35b6102f1610d08565b6040518082815260200191505060405180910390f35b6103536004803603604081101561031d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d0d565b604051808215151515815260200191505060405180910390f35b6103af6004803603602081101561038357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f09565b6040518082815260200191505060405180910390f35b6103cd610f66565b005b610405600480360360408110156103e557600080fd5b8101908080359060200190929190803590602001909291905050506110e7565b6040518082815260200191505060405180910390f35b6104236112c6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61046d6112ef565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104ad578082015181840152602081019050610492565b50505050905090810190601f1680156104da5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610534600480360360408110156104fe57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611328565b604051808215151515815260200191505060405180910390f35b61059a6004803603604081101561056457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115b8565b604051808215151515815260200191505060405180910390f35b6105bc6117e2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106606004803603604081101561061457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611807565b6040518082815260200191505060405180910390f35b6106b86004803603602081101561068c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061188e565b005b6040518060400160405280600b81526020017f42616e616e61204661726d00000000000000000000000000000000000000000081525081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60003373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60008214156108f657827f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f26001546040518082815260200191505060405180910390a260015490506109be565b61090b82600154611a9490919063ffffffff16565b6001819055506000196fffffffffffffffffffffffffffffffff16600154111561094b576000196fffffffffffffffffffffffffffffffff166001819055505b6109786001546009600a0a620f4240026000198161096557fe5b0660001903611ade90919063ffffffff16565b600281905550827f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f26001546040518082815260200191505060405180910390a260015490505b92915050565b6000600154905090565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610a0b57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610a4457600080fd5b610ad383600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a9490919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610b6a60025485611b2890919063ffffffff16565b9050610bbe81600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a9490919063ffffffff16565b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c5381600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bae90919063ffffffff16565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a36001925050509392505050565b600981565b6000610d9e82600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bae90919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000610f5f600254600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ade90919063ffffffff16565b9050919050565b3373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611028576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60003373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60008214156111f857827f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f26001546040518082815260200191505060405180910390a260015490506112c0565b61120d82600154611bae90919063ffffffff16565b6001819055506000196fffffffffffffffffffffffffffffffff16600154111561124d576000196fffffffffffffffffffffffffffffffff166001819055505b61127a6001546009600a0a620f4240026000198161126757fe5b0660001903611ade90919063ffffffff16565b600281905550827f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f26001546040518082815260200191505060405180910390a260015490505b92915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6040518060400160405280600481526020017f42414e410000000000000000000000000000000000000000000000000000000081525081565b600080600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808310611438576000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506114cc565b61144b8382611a9490919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156115f557600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561162e57600080fd5b600061164560025485611b2890919063ffffffff16565b905061169981600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a9490919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061172e81600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bae90919063ffffffff16565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a360019250505092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611950576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156119d6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180611dbd6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000611ad683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c36565b905092915050565b6000611b2083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611cf6565b905092915050565b600080831415611b3b5760009050611ba8565b6000828402905082848281611b4c57fe5b0414611ba3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611de36021913960400191505060405180910390fd5b809150505b92915050565b600080828401905083811015611c2c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000838311158290611ce3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611ca8578082015181840152602081019050611c8d565b50505050905090810190601f168015611cd55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008083118290611da2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611d67578082015181840152602081019050611d4c565b50505050905090810190601f168015611d945780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581611dae57fe5b04905080915050939250505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122012b18d318f6c933192fcd72c8b6d7f6ffbe9ff737aedda51268e58be852d1d1f64736f6c63430006000033

Deployed Bytecode Sourcemap

2836:5100:0:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2836:5100:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3288:43;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;3288:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6829:233;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6829:233:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4002:566;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4002:566:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5458:123;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6334:487;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6334:487:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3383:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7070:343;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7070:343:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5589:159;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5589:159:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2429:148;;;:::i;:::-;;4584:566;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4584:566:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2217:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3338:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;3338:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7421:512;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7421:512:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5756:388;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5756:388:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1967:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6152:174;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6152:174:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2585:244;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2585:244:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;3288:43;;;;;;;;;;;;;;;;;;;:::o;6829:233::-;6912:4;6975:5;6934:17;:29;6952:10;6934:29;;;;;;;;;;;;;;;:38;6964:7;6934:38;;;;;;;;;;;;;;;:46;;;;7017:7;6996:36;;7005:10;6996:36;;;7026:5;6996:36;;;;;;;;;;;;;;;;;;7050:4;7043:11;;6829:233;;;;:::o;4002:566::-;4117:7;2354:10;2344:20;;:6;;;;;;;;;;;:20;;;2336:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4161:1:::1;4146:11;:16;4142:118;;;4194:5;4184:30;4201:12;;4184:30;;;;;;;;;;;;;;;;;;4236:12;;4229:19;;;;4142:118;4288:29;4305:11;4288:12;;:16;;:29;;;;:::i;:::-;4273:12;:44;;;;3760:1;3751:11;4359:10;;4344:12;;:25;4340:83;;;3760:1;3751:11;4401:10;;4386:12;:25;;;;4340:83;4454:28;4469:12;;3464:1;3591:2;:12;3581:7;:22;3520:1;3511:11;3665:38;;;;;;3520:1;3511:11;3650:54;4454:14;;:28;;;;:::i;:::-;4435:16;:47;;;;4510:5;4500:30;4517:12;;4500:30;;;;;;;;;;;;;;;;;;4548:12;;4541:19;;2412:1;4002:566:::0;;;;:::o;5458:123::-;5529:7;5561:12;;5554:19;;5458:123;:::o;6334:487::-;6459:4;6437:2;3048:3;3034:18;;:2;:18;;;;3026:27;;;;;;3086:4;3072:19;;:2;:19;;;;3064:28;;;;;;6519:46:::1;6559:5;6519:17;:23;6537:4;6519:23;;;;;;;;;;;;;;;:35;6543:10;6519:35;;;;;;;;;;;;;;;;:39;;:46;;;;:::i;:::-;6481:17;:23;6499:4;6481:23;;;;;;;;;;;;;;;:35;6505:10;6481:35;;;;;;;;;;;;;;;:84;;;;6578:16;6597:27;6607:16;;6597:5;:9;;:27;;;;:::i;:::-;6578:46;;6656:32;6679:8;6656:12;:18;6669:4;6656:18;;;;;;;;;;;;;;;;:22;;:32;;;;:::i;:::-;6635:12;:18;6648:4;6635:18;;;;;;;;;;;;;;;:53;;;;6718:30;6739:8;6718:12;:16;6731:2;6718:16;;;;;;;;;;;;;;;;:20;;:30;;;;:::i;:::-;6699:12;:16;6712:2;6699:16;;;;;;;;;;;;;;;:49;;;;6779:2;6764:25;;6773:4;6764:25;;;6783:5;6764:25;;;;;;;;;;;;;;;;;;6809:4;6802:11;;;6334:487:::0;;;;;;:::o;3383:36::-;3418:1;3383:36;:::o;7070:343::-;7168:4;7244:54;7287:10;7244:17;:29;7262:10;7244:29;;;;;;;;;;;;;;;:38;7274:7;7244:38;;;;;;;;;;;;;;;;:42;;:54;;;;:::i;:::-;7190:17;:29;7208:10;7190:29;;;;;;;;;;;;;;;:38;7220:7;7190:38;;;;;;;;;;;;;;;:108;;;;7335:7;7314:69;;7323:10;7314:69;;;7344:17;:29;7362:10;7344:29;;;;;;;;;;;;;;;:38;7374:7;7344:38;;;;;;;;;;;;;;;;7314:69;;;;;;;;;;;;;;;;;;7401:4;7394:11;;7070:343;;;;:::o;5589:159::-;5669:7;5701:39;5723:16;;5701:12;:17;5714:3;5701:17;;;;;;;;;;;;;;;;:21;;:39;;;;:::i;:::-;5694:46;;5589:159;;;:::o;2429:148::-;2354:10;2344:20;;:6;;;;;;;;;;;:20;;;2336:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2536:1:::1;2499:40;;2520:6;::::0;::::1;;;;;;;;;2499:40;;;;;;;;;;;;2567:1;2550:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2429:148::o:0;4584:566::-;4699:7;2354:10;2344:20;;:6;;;;;;;;;;;:20;;;2336:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4743:1:::1;4728:11;:16;4724:118;;;4776:5;4766:30;4783:12;;4766:30;;;;;;;;;;;;;;;;;;4818:12;;4811:19;;;;4724:118;4870:29;4887:11;4870:12;;:16;;:29;;;;:::i;:::-;4855:12;:44;;;;3760:1;3751:11;4941:10;;4926:12;;:25;4922:83;;;3760:1;3751:11;4983:10;;4968:12;:25;;;;4922:83;5036:28;5051:12;;3464:1;3591:2;:12;3581:7;:22;3520:1;3511:11;3665:38;;;;;;3520:1;3511:11;3650:54;5036:14;;:28;;;;:::i;:::-;5017:16;:47;;;;5092:5;5082:30;5099:12;;5082:30;;;;;;;;;;;;;;;;;;5130:12;;5123:19;;2412:1;4584:566:::0;;;;:::o;2217:79::-;2255:7;2282:6;;;;;;;;;;;2275:13;;2217:79;:::o;3338:38::-;;;;;;;;;;;;;;;;;;;:::o;7421:512::-;7524:4;7546:16;7565:17;:29;7583:10;7565:29;;;;;;;;;;;;;;;:38;7595:7;7565:38;;;;;;;;;;;;;;;;7546:57;;7637:8;7618:15;:27;7614:205;;7703:1;7662:17;:29;7680:10;7662:29;;;;;;;;;;;;;;;:38;7692:7;7662:38;;;;;;;;;;;;;;;:42;;;;7614:205;;;7778:29;7791:15;7778:8;:12;;:29;;;;:::i;:::-;7737:17;:29;7755:10;7737:29;;;;;;;;;;;;;;;:38;7767:7;7737:38;;;;;;;;;;;;;;;:70;;;;7614:205;7855:7;7834:69;;7843:10;7834:69;;;7864:17;:29;7882:10;7864:29;;;;;;;;;;;;;;;:38;7894:7;7864:38;;;;;;;;;;;;;;;;7834:69;;;;;;;;;;;;;;;;;;7921:4;7914:11;;;7421:512;;;;:::o;5756:388::-;5863:4;5841:2;3048:3;3034:18;;:2;:18;;;;3026:27;;;;;;3086:4;3072:19;;:2;:19;;;;3064:28;;;;;;5885:16:::1;5904:27;5914:16;;5904:5;:9;;:27;;;;:::i;:::-;5885:46;;5969:38;5998:8;5969:12;:24;5982:10;5969:24;;;;;;;;;;;;;;;;:28;;:38;;;;:::i;:::-;5942:12;:24;5955:10;5942:24;;;;;;;;;;;;;;;:65;;;;6037:30;6058:8;6037:12;:16;6050:2;6037:16;;;;;;;;;;;;;;;;:20;;:30;;;;:::i;:::-;6018:12;:16;6031:2;6018:16;;;;;;;;;;;;;;;:49;;;;6104:2;6083:31;;6092:10;6083:31;;;6108:5;6083:31;;;;;;;;;;;;;;;;;;6132:4;6125:11;;;5756:388:::0;;;;;:::o;1967:21::-;;;;;;;;;;;;;:::o;6152:174::-;6252:7;6284:17;:25;6302:6;6284:25;;;;;;;;;;;;;;;:34;6310:7;6284:34;;;;;;;;;;;;;;;;6277:41;;6152:174;;;;:::o;2585:244::-;2354:10;2344:20;;:6;;;;;;;;;;;:20;;;2336:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2694:1:::1;2674:22;;:8;:22;;;;2666:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2784:8;2755:38;;2776:6;::::0;::::1;;;;;;;;;2755:38;;;;;;;;;;;;2813:8;2804:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;2585:244:::0;:::o;691:136::-;749:7;776:43;780:1;783;776:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;769:50;;691:136;;;;:::o;1293:132::-;1351:7;1378:39;1382:1;1385;1378:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1371:46;;1293:132;;;;:::o;1035:250::-;1093:7;1122:1;1117;:6;1113:47;;;1147:1;1140:8;;;;1113:47;1172:9;1188:1;1184;:5;1172:17;;1217:1;1212;1208;:5;;;;;;:10;1200:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1276:1;1269:8;;;1035:250;;;;;:::o;502:181::-;560:7;580:9;596:1;592;:5;580:17;;621:1;616;:6;;608:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;674:1;667:8;;;502:181;;;;:::o;835:192::-;921:7;954:1;949;:6;;957:12;941:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;941:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;981:9;997:1;993;:5;981:17;;1018:1;1011:8;;;835:192;;;;;:::o;1433:191::-;1519:7;1551:1;1547;:5;1554:12;1539:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1539:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1578:9;1594:1;1590;:5;;;;;;1578:17;;1615:1;1608:8;;;1433:191;;;;;:::o

Swarm Source

ipfs://12b18d318f6c933192fcd72c8b6d7f6ffbe9ff737aedda51268e58be852d1d1f

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  ]

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.