ETH Price: $3,194.97 (-0.22%)

Contract

0xE4FfD682380c571a6a07DD8F20B402412E02830E
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve173599552023-05-28 20:40:23532 days ago1685306423IN
0xE4FfD682...12E02830E
0 ETH0.0011629424.95748957
Approve173598982023-05-28 20:28:59532 days ago1685305739IN
0xE4FfD682...12E02830E
0 ETH0.001340428.80306093
Transfer150504482022-06-30 12:55:33864 days ago1656593733IN
0xE4FfD682...12E02830E
0 ETH0.0013304944.74361965
Approve119485362021-02-28 22:29:531351 days ago1614551393IN
0xE4FfD682...12E02830E
0 ETH0.0013683594
Approve119007702021-02-21 14:23:141358 days ago1613917394IN
0xE4FfD682...12E02830E
0 ETH0.00184873127
Approve116491122021-01-13 21:16:171397 days ago1610572577IN
0xE4FfD682...12E02830E
0 ETH0.0006113942
Transfer115668592021-01-01 6:32:541410 days ago1609482774IN
0xE4FfD682...12E02830E
0 ETH0.00196354
Transfer115668522021-01-01 6:31:281410 days ago1609482688IN
0xE4FfD682...12E02830E
0 ETH0.0008754341
Transfer115606382020-12-31 7:53:201411 days ago1609401200IN
0xE4FfD682...12E02830E
0 ETH0.00421683116
Approve115513942020-12-29 21:47:341412 days ago1609278454IN
0xE4FfD682...12E02830E
0 ETH0.0027143161
Approve115513892020-12-29 21:46:011412 days ago1609278361IN
0xE4FfD682...12E02830E
0 ETH0.0042429196
Transfer115509012020-12-29 19:55:261412 days ago1609271726IN
0xE4FfD682...12E02830E
0 ETH0.0017935684
Approve115328122020-12-27 1:13:331415 days ago1609031613IN
0xE4FfD682...12E02830E
0 ETH0.0040047390
Approve115300402020-12-26 15:04:441415 days ago1608995084IN
0xE4FfD682...12E02830E
0 ETH0.0027752762.37
Transfer113756742020-12-02 21:56:041439 days ago1606946164IN
0xE4FfD682...12E02830E
0 ETH0.0008672624
Approve113420632020-11-27 18:15:501444 days ago1606500950IN
0xE4FfD682...12E02830E
0 ETH0.0009281321
Transfer113063372020-11-22 6:12:441450 days ago1606025564IN
0xE4FfD682...12E02830E
0 ETH0.0015989644
Approve111368812020-10-27 6:12:011476 days ago1603779121IN
0xE4FfD682...12E02830E
0 ETH0.0002620218.00000145
Approve111269852020-10-25 17:41:201477 days ago1603647680IN
0xE4FfD682...12E02830E
0 ETH0.0009967322.4
Transfer110863482020-10-19 12:14:071483 days ago1603109647IN
0xE4FfD682...12E02830E
0 ETH0.0017443248
Approve110030312020-10-06 15:36:491496 days ago1601998609IN
0xE4FfD682...12E02830E
0 ETH0.00222722153
Approve109989042020-10-06 0:12:461497 days ago1601943166IN
0xE4FfD682...12E02830E
0 ETH0.001048172
Approve109987432020-10-05 23:33:201497 days ago1601940800IN
0xE4FfD682...12E02830E
0 ETH0.0007860754
Approve109843112020-10-03 17:32:321499 days ago1601746352IN
0xE4FfD682...12E02830E
0 ETH0.000946265
Approve109842402020-10-03 17:15:321499 days ago1601745332IN
0xE4FfD682...12E02830E
0 ETH0.0011791181
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xd77c2Ab1...22a9eE175
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
EminenceCurrency

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-09-28
*/

pragma solidity ^0.5.17;

interface IERC20 {
    function totalSupply() external view returns (uint);
    function balanceOf(address account) external view returns (uint);
    function transfer(address recipient, uint amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint);
    function approve(address spender, uint amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint value);
    event Approval(address indexed owner, address indexed spender, uint value);
}

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

        return c;
    }
    function sub(uint a, uint b) internal pure returns (uint) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint a, uint b, string memory errorMessage) internal pure returns (uint) {
        require(b <= a, errorMessage);
        uint c = a - b;

        return c;
    }
    function mul(uint a, uint b) internal pure returns (uint) {
        if (a == 0) {
            return 0;
        }

        uint c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }
    function div(uint a, uint b) internal pure returns (uint) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint a, uint b, string memory errorMessage) internal pure returns (uint) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint c = a / b;

        return c;
    }
}

contract ERC20 is IERC20 {
    using SafeMath for uint;

    mapping (address => uint) private _balances;

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

    uint private _totalSupply;
    function totalSupply() public view returns (uint) {
        return _totalSupply;
    }
    function balanceOf(address account) public view returns (uint) {
        return _balances[account];
    }
    function transfer(address recipient, uint amount) public returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }
    function allowance(address owner, address spender) public view returns (uint) {
        return _allowances[owner][spender];
    }
    function approve(address spender, uint amount) public returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }
    function transferFrom(address sender, address recipient, uint amount) public returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
    function increaseAllowance(address spender, uint addedValue) public returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender].add(addedValue));
        return true;
    }
    function decreaseAllowance(address spender, uint subtractedValue) public returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }
    function _transfer(address sender, address recipient, uint amount) internal {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }
    function _mint(address account, uint amount) internal {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        emit Transfer(address(0), account, amount);
    }
    function _burn(address account, uint amount) internal {
        require(account != address(0), "ERC20: burn from the zero address");

        _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance");
        _totalSupply = _totalSupply.sub(amount);
        emit Transfer(account, address(0), amount);
    }
    function _approve(address owner, address spender, uint amount) internal {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

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

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

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

interface BondingCurve {
    function calculatePurchaseReturn(uint _supply,  uint _reserveBalance, uint32 _reserveRatio, uint _depositAmount) external view returns (uint);
    function calculateSaleReturn(uint _supply, uint _reserveBalance, uint32 _reserveRatio, uint _sellAmount) external view returns (uint);
}

contract ContinuousToken is ERC20 {
    using SafeMath for uint;

    uint public scale = 10**18;
    uint public reserveBalance = 1*10**15;
    uint32 public reserveRatio;
    
    BondingCurve constant public CURVE = BondingCurve(0x16F6664c16beDE5d70818654dEfef11769D40983);

    function _buy(uint _amount) internal returns (uint _bought) {
        _bought = _continuousMint(_amount);
    }

    function _sell(uint _amount) internal returns (uint _sold) {
        _sold = _continuousBurn(_amount);
    }

    function calculateContinuousMintReturn(uint _amount) public view returns (uint mintAmount) {
        return CURVE.calculatePurchaseReturn(totalSupply(), reserveBalance, uint32(reserveRatio), _amount);
    }

    function calculateContinuousBurnReturn(uint _amount) public view returns (uint burnAmount) {
        return CURVE.calculateSaleReturn(totalSupply(), reserveBalance, uint32(reserveRatio), _amount);
    }

    function _continuousMint(uint _deposit) internal returns (uint) {
        uint amount = calculateContinuousMintReturn(_deposit);
        reserveBalance = reserveBalance.add(_deposit);
        return amount;
    }

    function _continuousBurn(uint _amount) internal returns (uint) {
        uint reimburseAmount = calculateContinuousBurnReturn(_amount);
        reserveBalance = reserveBalance.sub(reimburseAmount);
        return reimburseAmount;
    }
}

contract EminenceCurrency is ContinuousToken, ERC20Detailed {
    mapping(address => bool) public gamemasters;
    mapping(address => bool) public npcs;
    
    event AddGM(address indexed newGM, address indexed gm);
    event RevokeGM(address indexed newGM, address indexed gm);
    event AddNPC(address indexed newNPC, address indexed gm);
    event RevokeNPC(address indexed newNPC, address indexed gm);
    event CashShopBuy(address _from, uint  _amount, uint _deposit);
    event CashShopSell(address _from, uint  _amount, uint _reimbursement);
    
    EminenceCurrency constant public EMN = EminenceCurrency(0x5ade7aE8660293F2ebfcEfaba91d141d72d221e8);
    
    constructor (string memory name, string memory symbol, uint32 _reserveRatio) public ERC20Detailed(name, symbol, 18) {
        gamemasters[msg.sender] = true;
        EMN.addGM(address(this));
        reserveRatio = _reserveRatio;
        _mint(msg.sender, 1*scale);
    }
    function addNPC(address _npc) external {
        require(gamemasters[msg.sender], "!gm");
        npcs[_npc] = true;
        emit AddNPC(_npc, msg.sender);
    }
    function revokeNPC(address _npc) external {
        require(gamemasters[msg.sender], "!gm");
        npcs[_npc] = false;
        emit RevokeNPC(_npc, msg.sender);
    }
    function addGM(address _gm) external {
        require(gamemasters[msg.sender]||gamemasters[tx.origin], "!gm");
        gamemasters[_gm] = true;
        emit AddGM(_gm, msg.sender);
    }
    function revokeGM(address _gm) external {
        require(gamemasters[msg.sender], "!gm");
        gamemasters[_gm] = false;
        emit RevokeGM(_gm, msg.sender);
    }
    function award(address _to, uint _amount) external {
        require(gamemasters[msg.sender], "!gm");
        _mint(_to, _amount);
    }
    function claim(address _from, uint _amount) external {
        require(gamemasters[msg.sender]||npcs[msg.sender], "!gm");
        _burn(_from, _amount);
    }
    function buy(uint _amount, uint _min) external returns (uint _bought) {
        _bought = _buy(_amount);
        require(_bought >= _min, "slippage");
        EMN.claim(msg.sender, _amount);
        _mint(msg.sender, _bought);
        emit CashShopBuy(msg.sender, _bought, _amount);
    }
    function sell(uint _amount, uint _min) external returns (uint _bought) {
        _bought = _sell(_amount);
        require(_bought >= _min, "slippage");
        _burn(msg.sender, _amount);
        EMN.award(msg.sender, _bought);
        emit CashShopSell(msg.sender, _amount, _bought);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint32","name":"_reserveRatio","type":"uint32"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newGM","type":"address"},{"indexed":true,"internalType":"address","name":"gm","type":"address"}],"name":"AddGM","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newNPC","type":"address"},{"indexed":true,"internalType":"address","name":"gm","type":"address"}],"name":"AddNPC","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_from","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_deposit","type":"uint256"}],"name":"CashShopBuy","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_from","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_reimbursement","type":"uint256"}],"name":"CashShopSell","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newGM","type":"address"},{"indexed":true,"internalType":"address","name":"gm","type":"address"}],"name":"RevokeGM","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newNPC","type":"address"},{"indexed":true,"internalType":"address","name":"gm","type":"address"}],"name":"RevokeNPC","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"},{"constant":true,"inputs":[],"name":"CURVE","outputs":[{"internalType":"contract BondingCurve","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"EMN","outputs":[{"internalType":"contract EminenceCurrency","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_gm","type":"address"}],"name":"addGM","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_npc","type":"address"}],"name":"addNPC","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"award","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"_min","type":"uint256"}],"name":"buy","outputs":[{"internalType":"uint256","name":"_bought","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"calculateContinuousBurnReturn","outputs":[{"internalType":"uint256","name":"burnAmount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"calculateContinuousMintReturn","outputs":[{"internalType":"uint256","name":"mintAmount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"claim","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"gamemasters","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"npcs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"reserveBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"reserveRatio","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_gm","type":"address"}],"name":"revokeGM","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_npc","type":"address"}],"name":"revokeNPC","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"scale","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"_min","type":"uint256"}],"name":"sell","outputs":[{"internalType":"uint256","name":"_bought","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101c45760003560e01c8063872190a3116100f9578063aad3ec9611610097578063d6febde811610071578063d6febde81461094b578063d79875eb14610997578063dd62ed3e146109e3578063f51e181a14610a5b576101c4565b8063aad3ec961461086f578063b08dcc8d146108bd578063c86c9d5a14610907576101c4565b806395d89b41116100d357806395d89b4114610702578063a10954fe14610785578063a457c2d7146107a3578063a9059cbb14610809576101c4565b8063872190a31461062057806390f0c2ea1461067c57806394dcc240146106be576101c4565b8063313ce567116101665780635d8a776e116101405780635d8a776e146104da5780635e37f3ea1461052857806370a082311461056c5780637929f63a146105c4576101c4565b8063313ce56714610406578063395093511461042a5780633a3c3b8714610490576101c4565b806312d8d1a9116101a257806312d8d1a9146102dc57806318160ddd1461032057806323b872dd1461033e57806328c3d701146103c4576101c4565b806306fdde03146101c9578063095ea7b31461024c5780630c7d5cd8146102b2575b600080fd5b6101d1610a79565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102115780820151818401526020810190506101f6565b50505050905090810190601f16801561023e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102986004803603604081101561026257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b1b565b604051808215151515815260200191505060405180910390f35b6102ba610b32565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b61031e600480360360208110156102f257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b48565b005b610328610d10565b6040518082815260200191505060405180910390f35b6103aa6004803603606081101561035457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d1a565b604051808215151515815260200191505060405180910390f35b6103f0600480360360208110156103da57600080fd5b8101908080359060200190929190505050610de5565b6040518082815260200191505060405180910390f35b61040e610ecd565b604051808260ff1660ff16815260200191505060405180910390f35b6104766004803603604081101561044057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ee4565b604051808215151515815260200191505060405180910390f35b610498610f89565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610526600480360360408110156104f057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fa1565b005b61056a6004803603602081101561053e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061106e565b005b6105ae6004803603602081101561058257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111e2565b6040518082815260200191505060405180910390f35b610606600480360360208110156105da57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061122a565b604051808215151515815260200191505060405180910390f35b6106626004803603602081101561063657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061124a565b604051808215151515815260200191505060405180910390f35b6106a86004803603602081101561069257600080fd5b810190808035906020019092919050505061126a565b6040518082815260200191505060405180910390f35b610700600480360360208110156106d457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611352565b005b61070a6114c6565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561074a57808201518184015260208101905061072f565b50505050905090810190601f1680156107775780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61078d611568565b6040518082815260200191505060405180910390f35b6107ef600480360360408110156107b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061156e565b604051808215151515815260200191505060405180910390f35b6108556004803603604081101561081f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061162d565b604051808215151515815260200191505060405180910390f35b6108bb6004803603604081101561088557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611644565b005b6108c5611765565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6109496004803603602081101561091d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061177d565b005b6109816004803603604081101561096157600080fd5b8101908080359060200190929190803590602001909291905050506118f1565b6040518082815260200191505060405180910390f35b6109cd600480360360408110156109ad57600080fd5b810190808035906020019092919080359060200190929190505050611aaa565b6040518082815260200191505060405180910390f35b610a45600480360360408110156109f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c63565b6040518082815260200191505060405180910390f35b610a63611cea565b6040518082815260200191505060405180910390f35b606060068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b115780601f10610ae657610100808354040283529160200191610b11565b820191906000526020600020905b815481529060010190602001808311610af457829003601f168201915b5050505050905090565b6000610b28338484611cf0565b6001905092915050565b600560009054906101000a900463ffffffff1681565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610be95750600960003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610c5b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260038152602001807f21676d000000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f42b306dfe8460246dbfcab2777e43789ac1b9e30ac4542927a5bb3ab2348295e60405160405180910390a350565b6000600254905090565b6000610d27848484611ee7565b610dda8433610dd5856040518060600160405280602881526020016127b860289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219d9092919063ffffffff16565b611cf0565b600190509392505050565b60007316f6664c16bede5d70818654defef11769d4098373ffffffffffffffffffffffffffffffffffffffff166329a00e7c610e1f610d10565b600454600560009054906101000a900463ffffffff16866040518563ffffffff1660e01b8152600401808581526020018481526020018363ffffffff1663ffffffff16815260200182815260200194505050505060206040518083038186803b158015610e8b57600080fd5b505afa158015610e9f573d6000803e3d6000fd5b505050506040513d6020811015610eb557600080fd5b81019080805190602001909291905050509050919050565b6000600860009054906101000a900460ff16905090565b6000610f7f3384610f7a85600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461225d90919063ffffffff16565b611cf0565b6001905092915050565b7316f6664c16bede5d70818654defef11769d4098381565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611060576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260038152602001807f21676d000000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61106a82826122e5565b5050565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661112d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260038152602001807f21676d000000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f9cc4e68910890d03f9b16e468c11e5670536dd9a90e559f78d0df1f84dff54f060405160405180910390a350565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600a6020528060005260406000206000915054906101000a900460ff1681565b60096020528060005260406000206000915054906101000a900460ff1681565b60007316f6664c16bede5d70818654defef11769d4098373ffffffffffffffffffffffffffffffffffffffff166349f9b0f76112a4610d10565b600454600560009054906101000a900463ffffffff16866040518563ffffffff1660e01b8152600401808581526020018481526020018363ffffffff1663ffffffff16815260200182815260200194505050505060206040518083038186803b15801561131057600080fd5b505afa158015611324573d6000803e3d6000fd5b505050506040513d602081101561133a57600080fd5b81019080805190602001909291905050509050919050565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611411576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260038152602001807f21676d000000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f338249dec2559f25b4c55904dda7067d7fab90077e7e305d52affe95f5906c3e60405160405180910390a350565b606060078054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561155e5780601f106115335761010080835404028352916020019161155e565b820191906000526020600020905b81548152906001019060200180831161154157829003601f168201915b5050505050905090565b60045481565b6000611623338461161e8560405180606001604052806025815260200161284a60259139600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219d9092919063ffffffff16565b611cf0565b6001905092915050565b600061163a338484611ee7565b6001905092915050565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806116e55750600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611757576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260038152602001807f21676d000000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61176182826124a0565b5050565b735ade7ae8660293f2ebfcefaba91d141d72d221e881565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661183c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260038152602001807f21676d000000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f65125efe0ba3c92516fd5a7e2eb69a5ed59e70c32955a59bd48bb733a361e9eb60405160405180910390a350565b60006118fc83612658565b905081811015611974576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260088152602001807f736c69707061676500000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b735ade7ae8660293f2ebfcefaba91d141d72d221e873ffffffffffffffffffffffffffffffffffffffff1663aad3ec9633856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015611a0f57600080fd5b505af1158015611a23573d6000803e3d6000fd5b50505050611a3133826122e5565b7f787ff342b495627ef4bb309cac82202a5d41f8521d7e20511f5363d89266a0ce338285604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a192915050565b6000611ab58361266a565b905081811015611b2d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260088152602001807f736c69707061676500000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b611b3733846124a0565b735ade7ae8660293f2ebfcefaba91d141d72d221e873ffffffffffffffffffffffffffffffffffffffff16635d8a776e33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015611bd257600080fd5b505af1158015611be6573d6000803e3d6000fd5b505050507f85fb40c9589fe377347e3f2550de0e3479d51a82468fffb7e9eec5e3acd12f5f338483604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a192915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60035481565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611d76576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806128266024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611dfc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806127706022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611f6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806128016025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ff3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061272b6023913960400191505060405180910390fd5b61205e81604051806060016040528060268152602001612792602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219d9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120f1816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461225d90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600083831115829061224a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561220f5780820151818401526020810190506121f4565b50505050905090810190601f16801561223c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000808284019050838110156122db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612388576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b61239d8160025461225d90919063ffffffff16565b6002819055506123f4816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461225d90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612526576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806127e06021913960400191505060405180910390fd5b6125918160405180606001604052806022815260200161274e602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219d9092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125e88160025461267c90919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000612663826126c6565b9050919050565b6000612675826126f8565b9050919050565b60006126be83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061219d565b905092915050565b6000806126d283610de5565b90506126e98360045461225d90919063ffffffff16565b60048190555080915050919050565b6000806127048361126a565b905061271b8160045461267c90919063ffffffff16565b6004819055508091505091905056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a723158209ebdb1d39e8674724c8a6b16ea1a11c6909de3eb04ee6985c18b2de7087fd95164736f6c63430005110032

Deployed Bytecode Sourcemap

7274:2603:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7274:2603:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5255:83;;;:::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;5255:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2551:147;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2551:147:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5996:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8588:191;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8588:191:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;2048:88;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2704:297;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2704:297:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6376:208;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6376:208:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5437:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3007:203;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3007:203:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6035:93;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8965:139;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8965:139:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8410:172;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8410:172:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;2142:107;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2142:107:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7391:36;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7391:36:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7341:43;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7341:43:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6592:204;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6592:204:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8239:165;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8239:165:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;5344:87;;;:::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;5344:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5952:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3216:254;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3216:254:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2255:153;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2255:153:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9110:161;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9110:161:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7845:99;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8785:174;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8785:174:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;9277:294;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9277:294:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9577:297;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9577:297:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2414:131;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2414:131:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5919:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5255:83;5292:13;5325:5;5318:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5255:83;:::o;2551:147::-;2614:4;2631:37;2640:10;2652:7;2661:6;2631:8;:37::i;:::-;2686:4;2679:11;;2551:147;;;;:::o;5996:26::-;;;;;;;;;;;;;:::o;8588:191::-;8644:11;:23;8656:10;8644:23;;;;;;;;;;;;;;;;;;;;;;;;;:47;;;;8669:11;:22;8681:9;8669:22;;;;;;;;;;;;;;;;;;;;;;;;;8644:47;8636:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8729:4;8710:11;:16;8722:3;8710:16;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;8760:10;8749:22;;8755:3;8749:22;;;;;;;;;;;;8588:191;:::o;2048:88::-;2092:4;2116:12;;2109:19;;2048:88;:::o;2704:297::-;2790:4;2807:36;2817:6;2825:9;2836:6;2807:9;:36::i;:::-;2854:117;2863:6;2871:10;2883:87;2919:6;2883:87;;;;;;;;;;;;;;;;;:11;:19;2895:6;2883:19;;;;;;;;;;;;;;;:31;2903:10;2883:31;;;;;;;;;;;;;;;;:35;;:87;;;;;:::i;:::-;2854:8;:117::i;:::-;2989:4;2982:11;;2704:297;;;;;:::o;6376:208::-;6450:15;6085:42;6485:29;;;6515:13;:11;:13::i;:::-;6530:14;;6553:12;;;;;;;;;;;6568:7;6485:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6485:91:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6485:91:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6485:91:0;;;;;;;;;;;;;;;;6478:98;;6376:208;;;:::o;5437:83::-;5478:5;5503:9;;;;;;;;;;;5496:16;;5437:83;:::o;3007:203::-;3084:4;3101:79;3110:10;3122:7;3131:48;3168:10;3131:11;:23;3143:10;3131:23;;;;;;;;;;;;;;;:32;3155:7;3131:32;;;;;;;;;;;;;;;;:36;;:48;;;;:::i;:::-;3101:8;:79::i;:::-;3198:4;3191:11;;3007:203;;;;:::o;6035:93::-;6085:42;6035:93;:::o;8965:139::-;9035:11;:23;9047:10;9035:23;;;;;;;;;;;;;;;;;;;;;;;;;9027:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9077:19;9083:3;9088:7;9077:5;:19::i;:::-;8965:139;;:::o;8410:172::-;8471:11;:23;8483:10;8471:23;;;;;;;;;;;;;;;;;;;;;;;;;8463:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8526:5;8513:4;:10;8518:4;8513:10;;;;;;;;;;;;;;;;:18;;;;;;;;;;;;;;;;;;8563:10;8547:27;;8557:4;8547:27;;;;;;;;;;;;8410:172;:::o;2142:107::-;2199:4;2223:9;:18;2233:7;2223:18;;;;;;;;;;;;;;;;2216:25;;2142:107;;;:::o;7391:36::-;;;;;;;;;;;;;;;;;;;;;;:::o;7341:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;6592:204::-;6666:15;6085:42;6701:25;;;6727:13;:11;:13::i;:::-;6742:14;;6765:12;;;;;;;;;;;6780:7;6701:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6701:87:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6701:87:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6701:87:0;;;;;;;;;;;;;;;;6694:94;;6592:204;;;:::o;8239:165::-;8297:11;:23;8309:10;8297:23;;;;;;;;;;;;;;;;;;;;;;;;;8289:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8352:4;8339;:10;8344:4;8339:10;;;;;;;;;;;;;;;;:17;;;;;;;;;;;;;;;;;;8385:10;8372:24;;8379:4;8372:24;;;;;;;;;;;;8239:165;:::o;5344:87::-;5383:13;5416:7;5409:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5344:87;:::o;5952:37::-;;;;:::o;3216:254::-;3298:4;3315:125;3324:10;3336:7;3345:94;3382:15;3345:94;;;;;;;;;;;;;;;;;:11;:23;3357:10;3345:23;;;;;;;;;;;;;;;:32;3369:7;3345:32;;;;;;;;;;;;;;;;:36;;:94;;;;;:::i;:::-;3315:8;:125::i;:::-;3458:4;3451:11;;3216:254;;;;:::o;2255:153::-;2321:4;2338:40;2348:10;2360:9;2371:6;2338:9;:40::i;:::-;2396:4;2389:11;;2255:153;;;;:::o;9110:161::-;9182:11;:23;9194:10;9182:23;;;;;;;;;;;;;;;;;;;;;;;;;:41;;;;9207:4;:16;9212:10;9207:16;;;;;;;;;;;;;;;;;;;;;;;;;9182:41;9174:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9242:21;9248:5;9255:7;9242:5;:21::i;:::-;9110:161;;:::o;7845:99::-;7901:42;7845:99;:::o;8785:174::-;8844:11;:23;8856:10;8844:23;;;;;;;;;;;;;;;;;;;;;;;;;8836:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8905:5;8886:11;:16;8898:3;8886:16;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;8940:10;8926:25;;8935:3;8926:25;;;;;;;;;;;;8785:174;:::o;9277:294::-;9333:12;9368:13;9373:7;9368:4;:13::i;:::-;9358:23;;9411:4;9400:7;:15;;9392:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7901:42;9439:9;;;9449:10;9461:7;9439:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9439:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9439:30:0;;;;9480:26;9486:10;9498:7;9480:5;:26::i;:::-;9522:41;9534:10;9546:7;9555;9522:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9277:294;;;;:::o;9577:297::-;9634:12;9669:14;9675:7;9669:5;:14::i;:::-;9659:24;;9713:4;9702:7;:15;;9694:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9741:26;9747:10;9759:7;9741:5;:26::i;:::-;7901:42;9778:9;;;9788:10;9800:7;9778:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9778:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9778:30:0;;;;9824:42;9837:10;9849:7;9858;9824:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9577:297;;;;:::o;2414:131::-;2486:4;2510:11;:18;2522:5;2510:18;;;;;;;;;;;;;;;:27;2529:7;2510:27;;;;;;;;;;;;;;;;2503:34;;2414:131;;;;:::o;5919:26::-;;;;:::o;4612:335::-;4720:1;4703:19;;:5;:19;;;;4695:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4801:1;4782:21;;:7;:21;;;;4774:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4885:6;4855:11;:18;4867:5;4855:18;;;;;;;;;;;;;;;:27;4874:7;4855:27;;;;;;;;;;;;;;;:36;;;;4923:7;4907:32;;4916:5;4907:32;;;4932:6;4907:32;;;;;;;;;;;;;;;;;;4612:335;;;:::o;3476:468::-;3589:1;3571:20;;:6;:20;;;;3563:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3673:1;3652:23;;:9;:23;;;;3644:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3748;3770:6;3748:71;;;;;;;;;;;;;;;;;:9;:17;3758:6;3748:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;3728:9;:17;3738:6;3728:17;;;;;;;;;;;;;;;:91;;;;3853:32;3878:6;3853:9;:20;3863:9;3853:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;3830:9;:20;3840:9;3830:20;;;;;;;;;;;;;;;:55;;;;3918:9;3901:35;;3910:6;3901:35;;;3929:6;3901:35;;;;;;;;;;;;;;;;;;3476:468;;;:::o;1013:180::-;1093:4;1123:1;1118;:6;;1126:12;1110: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;1110:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1150:6;1163:1;1159;:5;1150:14;;1184:1;1177:8;;;1013:180;;;;;:::o;705:169::-;757:4;774:6;787:1;783;:5;774:14;;812:1;807;:6;;799:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;865:1;858:8;;;705:169;;;;:::o;3950:305::-;4042:1;4023:21;;:7;:21;;;;4015:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4108:24;4125:6;4108:12;;:16;;:24;;;;:::i;:::-;4093:12;:39;;;;4164:30;4187:6;4164:9;:18;4174:7;4164:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;4143:9;:18;4153:7;4143:18;;;;;;;;;;;;;;;:51;;;;4231:7;4210:37;;4227:1;4210:37;;;4240:6;4210:37;;;;;;;;;;;;;;;;;;3950:305;;:::o;4261:345::-;4353:1;4334:21;;:7;:21;;;;4326:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4427:68;4450:6;4427:68;;;;;;;;;;;;;;;;;:9;:18;4437:7;4427:18;;;;;;;;;;;;;;;;:22;;:68;;;;;:::i;:::-;4406:9;:18;4416:7;4406:18;;;;;;;;;;;;;;;:89;;;;4521:24;4538:6;4521:12;;:16;;:24;;;;:::i;:::-;4506:12;:39;;;;4587:1;4561:37;;4570:7;4561:37;;;4591:6;4561:37;;;;;;;;;;;;;;;;;;4261:345;;:::o;6137:113::-;6183:12;6218:24;6234:7;6218:15;:24::i;:::-;6208:34;;6137:113;;;:::o;6258:110::-;6305:10;6336:24;6352:7;6336:15;:24::i;:::-;6328:32;;6258:110;;;:::o;880:127::-;932:4;956:43;960:1;963;956:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;949:50;;880:127;;;;:::o;6804:216::-;6862:4;6879:11;6893:39;6923:8;6893:29;:39::i;:::-;6879:53;;6960:28;6979:8;6960:14;;:18;;:28;;;;:::i;:::-;6943:14;:45;;;;7006:6;6999:13;;;6804:216;;;:::o;7028:239::-;7085:4;7102:20;7125:38;7155:7;7125:29;:38::i;:::-;7102:61;;7191:35;7210:15;7191:14;;:18;;:35;;;;:::i;:::-;7174:14;:52;;;;7244:15;7237:22;;;7028:239;;;:::o

Swarm Source

bzzr://9ebdb1d39e8674724c8a6b16ea1a11c6909de3eb04ee6985c18b2de7087fd951

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.