ETH Price: $2,033.09 (-5.95%)

Contract

0x02ad0e74f0E2e4CE093Aa7517901Ac32f0AbD370
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Migrate To New C...86763052019-10-04 14:52:502365 days ago1570200770IN
0x02ad0e74...2f0AbD370
0 ETH0.000401766
Withdraw Reward ...81395182019-07-13 0:40:042448 days ago1562978404IN
0x02ad0e74...2f0AbD370
0 ETH0.000274533
Withdraw Reward ...78214412019-05-24 9:01:492498 days ago1558688509IN
0x02ad0e74...2f0AbD370
0 ETH0.0016838318.4
Withdraw Reward ...74896632019-04-02 15:17:512550 days ago1554218271IN
0x02ad0e74...2f0AbD370
0 ETH0.0013726915
Withdraw Reward ...74488532019-03-27 6:01:292556 days ago1553666489IN
0x02ad0e74...2f0AbD370
0 ETH0.0009242810.1
Withdraw Reward ...72677222019-02-25 22:45:482585 days ago1551134748IN
0x02ad0e74...2f0AbD370
0 ETH0.000649747.1
Withdraw Reward ...72423192019-02-19 23:48:182591 days ago1550620098IN
0x02ad0e74...2f0AbD370
0 ETH0.000457565
Withdraw Reward ...72363132019-02-18 13:46:522593 days ago1550497612IN
0x02ad0e74...2f0AbD370
0 ETH0.001704216
Withdraw Reward ...72324212019-02-17 15:34:442594 days ago1550417684IN
0x02ad0e74...2f0AbD370
0 ETH0.0010066411
Withdraw Reward ...72294622019-02-16 22:36:182594 days ago1550356578IN
0x02ad0e74...2f0AbD370
0 ETH0.000457565
Withdraw Reward ...72238092019-02-15 14:16:112596 days ago1550240171IN
0x02ad0e74...2f0AbD370
0 ETH0.0011622112.7
Withdraw Reward ...72208542019-02-14 21:24:042596 days ago1550179444IN
0x02ad0e74...2f0AbD370
0 ETH0.000328116
Withdraw Reward ...72208522019-02-14 21:22:452596 days ago1550179365IN
0x02ad0e74...2f0AbD370
0 ETH0.000328116
Withdraw Reward ...72194722019-02-14 13:10:592597 days ago1550149859IN
0x02ad0e74...2f0AbD370
0 ETH0.000756247.1
Withdraw Reward ...72188372019-02-14 9:39:232597 days ago1550137163IN
0x02ad0e74...2f0AbD370
0 ETH0.0009242810.1
Withdraw Reward ...72164202019-02-13 19:34:352597 days ago1550086475IN
0x02ad0e74...2f0AbD370
0 ETH0.000457565
Withdraw Reward ...72156712019-02-13 15:17:002598 days ago1550071020IN
0x02ad0e74...2f0AbD370
0 ETH0.0005468610
Withdraw Reward ...72156652019-02-13 15:12:532598 days ago1550070773IN
0x02ad0e74...2f0AbD370
0 ETH0.0009151310
Withdraw Reward ...72155422019-02-13 14:33:552598 days ago1550068435IN
0x02ad0e74...2f0AbD370
0 ETH0.0015976915
Withdraw Reward ...72152902019-02-13 12:58:082598 days ago1550062688IN
0x02ad0e74...2f0AbD370
0 ETH0.0007430710
Withdraw Reward ...72143062019-02-13 7:36:002598 days ago1550043360IN
0x02ad0e74...2f0AbD370
0 ETH0.0009151310
Withdraw Reward ...72139212019-02-13 5:31:042598 days ago1550035864IN
0x02ad0e74...2f0AbD370
0 ETH0.00085218
Transfer72138782019-02-13 5:14:172598 days ago1550034857IN
0x02ad0e74...2f0AbD370
0.0251 ETH0.000168368
Withdraw Reward ...72130842019-02-13 0:24:482598 days ago1550017488IN
0x02ad0e74...2f0AbD370
0 ETH0.000273435
Withdraw Reward ...72129972019-02-12 23:54:132598 days ago1550015653IN
0x02ad0e74...2f0AbD370
0 ETH0.000273435
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
GoldmintPool

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2019-01-24
*/

pragma solidity ^0.4.25;

contract IStdToken {
    function balanceOf(address _owner) public view returns (uint256);
    function transfer(address _to, uint256 _value) public returns (bool);
    function transferFrom(address _from, address _to, uint256 _value) public returns(bool);
}

contract PoolCommon {
    
    //main adrministrators of the Etherama network
    mapping(address => bool) private _administrators;

    //main managers of the Etherama network
    mapping(address => bool) private _managers;

    
    modifier onlyAdministrator() {
        require(_administrators[msg.sender]);
        _;
    }

    modifier onlyAdministratorOrManager() {
        require(_administrators[msg.sender] || _managers[msg.sender]);
        _;
    }
    
    constructor() public {
        _administrators[msg.sender] = true;
    }
    
    
    function addAdministator(address addr) onlyAdministrator public {
        _administrators[addr] = true;
    }

    function removeAdministator(address addr) onlyAdministrator public {
        _administrators[addr] = false;
    }

    function isAdministrator(address addr) public view returns (bool) {
        return _administrators[addr];
    }

    function addManager(address addr) onlyAdministrator public {
        _managers[addr] = true;
    }

    function removeManager(address addr) onlyAdministrator public {
        _managers[addr] = false;
    }
    
    function isManager(address addr) public view returns (bool) {
        return _managers[addr];
    }
}

contract PoolCore is PoolCommon {
    uint256 constant public MAGNITUDE = 2**64;

    //MNTP token reward per share
    uint256 public mntpRewardPerShare;
    //GOLD token reward per share
    uint256 public goldRewardPerShare;

    //Total MNTP tokens held by users
    uint256 public totalMntpHeld;

    //mntp reward per share
    mapping(address => uint256) private _mntpRewardPerShare;   

    //gold reward per share
    mapping(address => uint256) private _goldRewardPerShare;  

    address public controllerAddress = address(0x0);

    mapping(address => uint256) private _rewardMntpPayouts;
    mapping(address => uint256) private _rewardGoldPayouts;

    mapping(address => uint256) private _userStakes;

    IStdToken public mntpToken;
    IStdToken public goldToken;


    modifier onlyController() {
        require(controllerAddress == msg.sender);
        _;
    }
	
    constructor(address mntpTokenAddr, address goldTokenAddr) PoolCommon() public {
        controllerAddress = msg.sender;
        mntpToken = IStdToken(mntpTokenAddr);
        goldToken = IStdToken(goldTokenAddr);
    }
	
    function setNewControllerAddress(address newAddress) onlyController public {
        controllerAddress = newAddress;
    }
    
    function addHeldTokens(address userAddress, uint256 tokenAmount) onlyController public {
        _userStakes[userAddress] = SafeMath.add(_userStakes[userAddress], tokenAmount);
        totalMntpHeld = SafeMath.add(totalMntpHeld, tokenAmount);
        
        addUserPayouts(userAddress, SafeMath.mul(mntpRewardPerShare, tokenAmount), SafeMath.mul(goldRewardPerShare, tokenAmount));
    }
	
    function freeHeldTokens(address userAddress, uint256 tokenAmount) onlyController public {
        _userStakes[userAddress] = SafeMath.sub(_userStakes[userAddress], tokenAmount);
        totalMntpHeld = SafeMath.sub(totalMntpHeld, tokenAmount);
    }

    function addRewardPerShare(uint256 mntpReward, uint256 goldReward) onlyController public {
        require(totalMntpHeld > 0);

        uint256 mntpShareReward = SafeMath.div(SafeMath.mul(mntpReward, MAGNITUDE), totalMntpHeld);
        uint256 goldShareReward = SafeMath.div(SafeMath.mul(goldReward, MAGNITUDE), totalMntpHeld);

        mntpRewardPerShare = SafeMath.add(mntpRewardPerShare, mntpShareReward);
        goldRewardPerShare = SafeMath.add(goldRewardPerShare, goldShareReward);
    }  
    
    function addUserPayouts(address userAddress, uint256 mntpReward, uint256 goldReward) onlyController public {
        _rewardMntpPayouts[userAddress] = SafeMath.add(_rewardMntpPayouts[userAddress], mntpReward);
        _rewardGoldPayouts[userAddress] = SafeMath.add(_rewardGoldPayouts[userAddress], goldReward);
    }

    function getMntpTokenUserReward(address userAddress) public view returns(uint256 reward, uint256 rewardAmp) {  
        rewardAmp = SafeMath.mul(mntpRewardPerShare, getUserStake(userAddress));
        rewardAmp = (rewardAmp < getUserMntpRewardPayouts(userAddress)) ? 0 : SafeMath.sub(rewardAmp, getUserMntpRewardPayouts(userAddress));
        reward = SafeMath.div(rewardAmp, MAGNITUDE);
        
        return (reward, rewardAmp);
    }
    
    function getGoldTokenUserReward(address userAddress) public view returns(uint256 reward, uint256 rewardAmp) {  
        rewardAmp = SafeMath.mul(goldRewardPerShare, getUserStake(userAddress));
        rewardAmp = (rewardAmp < getUserGoldRewardPayouts(userAddress)) ? 0 : SafeMath.sub(rewardAmp, getUserGoldRewardPayouts(userAddress));
        reward = SafeMath.div(rewardAmp, MAGNITUDE);
        
        return (reward, rewardAmp);
    }
    
    function getUserMntpRewardPayouts(address userAddress) public view returns(uint256) {
        return _rewardMntpPayouts[userAddress];
    }    
    
    function getUserGoldRewardPayouts(address userAddress) public view returns(uint256) {
        return _rewardGoldPayouts[userAddress];
    }    
    
    function getUserStake(address userAddress) public view returns(uint256) {
        return _userStakes[userAddress];
    }    

}


contract GoldmintPool {

    address public tokenBankAddress = address(0x0);

    PoolCore public core;
    IStdToken public mntpToken;
    IStdToken public goldToken;

    bool public isActualContractVer = true;
    bool public isActive = true;
    
    event onDistribShareProfit(uint256 mntpReward, uint256 goldReward); 
    event onUserRewardWithdrawn(address indexed userAddress, uint256 mntpReward, uint256 goldReward);
    event onHoldStake(address indexed userAddress, uint256 mntpAmount);
    event onUnholdStake(address indexed userAddress, uint256 mntpAmount);

    modifier onlyAdministrator() {
        require(core.isAdministrator(msg.sender));
        _;
    }

    modifier onlyAdministratorOrManager() {
        require(core.isAdministrator(msg.sender) || core.isManager(msg.sender));
        _;
    }
    
    modifier notNullAddress(address addr) {
        require(addr != address(0x0));
        _;
    }
    
    modifier onlyActive() {
        require(isActive);
        _;
    }

    constructor(address coreAddr, address tokenBankAddr) notNullAddress(coreAddr) notNullAddress(tokenBankAddr) public { 
        core = PoolCore(coreAddr);
        mntpToken = core.mntpToken();
        goldToken = core.goldToken();
        
        tokenBankAddress = tokenBankAddr;
    }
    
    function setTokenBankAddress(address addr) onlyAdministrator notNullAddress(addr) public {
        tokenBankAddress = addr;
    }
    
    function switchActive() onlyAdministrator public {
        require(isActualContractVer);
        isActive = !isActive;
    }
    
    function holdStake(uint256 mntpAmount) onlyActive public {
        require(mntpToken.balanceOf(msg.sender) > 0);
        require(mntpToken.balanceOf(msg.sender) >= mntpAmount);
        
        mntpToken.transferFrom(msg.sender, address(this), mntpAmount);
        core.addHeldTokens(msg.sender, mntpAmount);
        
        emit onHoldStake(msg.sender, mntpAmount);
    }
    
    function unholdStake() onlyActive public {
        uint256 amount = core.getUserStake(msg.sender);
        
        require(amount > 0);
        require(getMntpBalance() >= amount);
		
        core.freeHeldTokens(msg.sender, amount);
        mntpToken.transfer(msg.sender, amount);
        
        emit onUnholdStake(msg.sender, amount);
    }
    
    function distribShareProfit(uint256 mntpReward, uint256 goldReward) onlyActive onlyAdministratorOrManager public {
        if (mntpReward > 0) mntpToken.transferFrom(tokenBankAddress, address(this), mntpReward);
        if (goldReward > 0) goldToken.transferFrom(tokenBankAddress, address(this), goldReward);
        
        core.addRewardPerShare(mntpReward, goldReward);
        
        emit onDistribShareProfit(mntpReward, goldReward);
    }

    function withdrawUserReward() onlyActive public {
        uint256 mntpReward; uint256 mntpRewardAmp;
        uint256 goldReward; uint256 goldRewardAmp;

        (mntpReward, mntpRewardAmp) = core.getMntpTokenUserReward(msg.sender);
        (goldReward, goldRewardAmp) = core.getGoldTokenUserReward(msg.sender);

        require(getMntpBalance() >= mntpReward);
        require(getGoldBalance() >= goldReward);

        core.addUserPayouts(msg.sender, mntpRewardAmp, goldRewardAmp);
        
        if (mntpReward > 0) mntpToken.transfer(msg.sender, mntpReward);
        if (goldReward > 0) goldToken.transfer(msg.sender, goldReward);
        
        emit onUserRewardWithdrawn(msg.sender, mntpReward, goldReward);
    }
    
    function withdrawRewardAndUnholdStake() onlyActive public {
        withdrawUserReward();
        unholdStake();
    }
    
    function addRewadToStake() onlyActive public {
        uint256 mntpReward; uint256 mntpRewardAmp;
        
        (mntpReward, mntpRewardAmp) = core.getMntpTokenUserReward(msg.sender);
        
        require(mntpReward > 0);

        core.addUserPayouts(msg.sender, mntpRewardAmp, 0);
        core.addHeldTokens(msg.sender, mntpReward);
    }

    //migrate to new controller contract in case of some mistake in the contract and transfer there all the tokens and eth. It can be done only after code review by Etherama developers.
    function migrateToNewControllerContract(address newControllerAddr) onlyAdministrator public {
        require(newControllerAddr != address(0x0) && isActualContractVer);
        
        isActive = false;

        core.setNewControllerAddress(newControllerAddr);

        uint256 mntpTokenAmount = getMntpBalance();
        uint256 goldTokenAmount = getGoldBalance();

        if (mntpTokenAmount > 0) mntpToken.transfer(newControllerAddr, mntpTokenAmount); 
        if (goldTokenAmount > 0) goldToken.transfer(newControllerAddr, goldTokenAmount); 

        isActualContractVer = false;
    }

    function getMntpTokenUserReward() public view returns(uint256) {  
        uint256 mntpReward; uint256 mntpRewardAmp;
        (mntpReward, mntpRewardAmp) = core.getMntpTokenUserReward(msg.sender);
        return mntpReward;
    }
    
    function getGoldTokenUserReward() public view returns(uint256) {  
        uint256 goldReward; uint256 goldRewardAmp;
        (goldReward, goldRewardAmp) = core.getGoldTokenUserReward(msg.sender);
        return goldReward;
    }
    
    function getUserMntpRewardPayouts() public view returns(uint256) {
        return core.getUserMntpRewardPayouts(msg.sender);
    }    
    
    function getUserGoldRewardPayouts() public view returns(uint256) {
        return core.getUserGoldRewardPayouts(msg.sender);
    }    
    
    function getUserStake() public view returns(uint256) {
        return core.getUserStake(msg.sender);
    } 

    // HELPERS

    function getMntpBalance() view public returns(uint256) {
        return mntpToken.balanceOf(address(this));
    }

    function getGoldBalance() view public returns(uint256) {
        return goldToken.balanceOf(address(this));
    }

}


library SafeMath {

    /**
    * @dev Multiplies two numbers, throws on overflow.
    */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        assert(c / a == b);
        return c;
    }

    /**
    * @dev Integer division of two numbers, truncating the quotient.
    */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // assert(b > 0); // Solidity automatically throws when dividing by 0
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        return c;
    }

    /**
    * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
    */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

    /**
    * @dev Adds two numbers, throws on overflow.
    */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    } 

    function min(uint256 a, uint256 b) internal pure returns (uint256) {
        return a < b ? a : b;
    }   

    function max(uint256 a, uint256 b) internal pure returns (uint256) {
        return a < b ? b : a;
    }   
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[],"name":"getUserStake","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isActive","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getGoldTokenUserReward","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawRewardAndUnholdStake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isActualContractVer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"mntpAmount","type":"uint256"}],"name":"holdStake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getMntpTokenUserReward","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawUserReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getUserGoldRewardPayouts","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"mntpReward","type":"uint256"},{"name":"goldReward","type":"uint256"}],"name":"distribShareProfit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"goldToken","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenBankAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getMntpBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getUserMntpRewardPayouts","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newControllerAddr","type":"address"}],"name":"migrateToNewControllerContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"}],"name":"setTokenBankAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unholdStake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"switchActive","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"mntpToken","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getGoldBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"core","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"addRewadToStake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"coreAddr","type":"address"},{"name":"tokenBankAddr","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"mntpReward","type":"uint256"},{"indexed":false,"name":"goldReward","type":"uint256"}],"name":"onDistribShareProfit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"userAddress","type":"address"},{"indexed":false,"name":"mntpReward","type":"uint256"},{"indexed":false,"name":"goldReward","type":"uint256"}],"name":"onUserRewardWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"userAddress","type":"address"},{"indexed":false,"name":"mntpAmount","type":"uint256"}],"name":"onHoldStake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"userAddress","type":"address"},{"indexed":false,"name":"mntpAmount","type":"uint256"}],"name":"onUnholdStake","type":"event"}]

608060405260008054600160a060020a03191690556003805460a860020a60ff021960a060020a60ff0219909116740100000000000000000000000000000000000000001716750100000000000000000000000000000000000000000017905534801561006b57600080fd5b5060405160408062001aef83398101604052805160209091015181600160a060020a038116151561009b57600080fd5b81600160a060020a03811615156100b157600080fd5b60018054600160a060020a031916600160a060020a038681169190911791829055604080517fc6e000b50000000000000000000000000000000000000000000000000000000081529051929091169163c6e000b5916004808201926020929091908290030181600087803b15801561012857600080fd5b505af115801561013c573d6000803e3d6000fd5b505050506040513d602081101561015257600080fd5b505160028054600160a060020a031916600160a060020a03928316179055600154604080517f94002b57000000000000000000000000000000000000000000000000000000008152905191909216916394002b579160048083019260209291908290030181600087803b1580156101c857600080fd5b505af11580156101dc573d6000803e3d6000fd5b505050506040513d60208110156101f257600080fd5b505160038054600160a060020a03928316600160a060020a03199182161790915560008054959092169416939093179092555050506118b880620002376000396000f3006080604052600436106101275763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166316f9c8fd811461012c57806322f3e2d4146101535780632bba475f1461017c5780633f6f4ba0146101915780634c9e929d146101a85780634d71d534146101bd5780634de74f8b146101d55780634fe71e95146101ea578063798655c1146101ff57806392ec888b1461021457806394002b571461022f5780639b6ec386146102605780639bd479eb146102755780639f3604fe1461028a578063a985dba61461029f578063b82b1a65146102c0578063b8c7c362146102e1578063bdf05ccc146102f6578063c6e000b51461030b578063cc7fd94314610320578063f2f4eb2614610335578063fac4d0fd1461034a575b600080fd5b34801561013857600080fd5b5061014161035f565b60408051918252519081900360200190f35b34801561015f57600080fd5b506101686103f5565b604080519115158252519081900360200190f35b34801561018857600080fd5b50610141610405565b34801561019d57600080fd5b506101a66104a0565b005b3480156101b457600080fd5b506101686104ca565b3480156101c957600080fd5b506101a66004356104eb565b3480156101e157600080fd5b5061014161076a565b3480156101f657600080fd5b506101a66107d2565b34801561020b57600080fd5b50610141610b36565b34801561022057600080fd5b506101a6600435602435610b9b565b34801561023b57600080fd5b50610244610efb565b60408051600160a060020a039092168252519081900360200190f35b34801561026c57600080fd5b50610244610f0a565b34801561028157600080fd5b50610141610f19565b34801561029657600080fd5b50610141610f68565b3480156102ab57600080fd5b506101a6600160a060020a0360043516610fcd565b3480156102cc57600080fd5b506101a6600160a060020a0360043516611288565b3480156102ed57600080fd5b506101a6611355565b34801561030257600080fd5b506101a6611565565b34801561031757600080fd5b50610244611648565b34801561032c57600080fd5b50610141611657565b34801561034157600080fd5b506102446116a6565b34801561035657600080fd5b506101a66116b5565b600154604080517fbbadc93a0000000000000000000000000000000000000000000000000000000081523360048201529051600092600160a060020a03169163bbadc93a91602480830192602092919082900301818787803b1580156103c457600080fd5b505af11580156103d8573d6000803e3d6000fd5b505050506040513d60208110156103ee57600080fd5b5051905090565b60035460a860020a900460ff1681565b600154604080517f7bd30079000000000000000000000000000000000000000000000000000000008152336004820152815160009384938493600160a060020a0390921692637bd3007992602480820193929182900301818787803b15801561046d57600080fd5b505af1158015610481573d6000803e3d6000fd5b505050506040513d604081101561049757600080fd5b50519392505050565b60035460a860020a900460ff1615156104b857600080fd5b6104c06107d2565b6104c8611355565b565b60035474010000000000000000000000000000000000000000900460ff1681565b60035460a860020a900460ff16151561050357600080fd5b6002546040805160e060020a6370a082310281523360048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b15801561055257600080fd5b505af1158015610566573d6000803e3d6000fd5b505050506040513d602081101561057c57600080fd5b50511161058857600080fd5b6002546040805160e060020a6370a0823102815233600482015290518392600160a060020a0316916370a082319160248083019260209291908290030181600087803b1580156105d757600080fd5b505af11580156105eb573d6000803e3d6000fd5b505050506040513d602081101561060157600080fd5b5051101561060e57600080fd5b600254604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018490529051600160a060020a03909216916323b872dd916064808201926020929091908290030181600087803b15801561068157600080fd5b505af1158015610695573d6000803e3d6000fd5b505050506040513d60208110156106ab57600080fd5b5050600154604080517f252947a5000000000000000000000000000000000000000000000000000000008152336004820152602481018490529051600160a060020a039092169163252947a59160448082019260009290919082900301818387803b15801561071957600080fd5b505af115801561072d573d6000803e3d6000fd5b50506040805184815290513393507f9a4e1beaa7f6cbf3df5b93536f0e8b60d43bf40aa6c62f1a2d0699a671babf1d92509081900360200190a250565b600154604080517fe4fd8f3d000000000000000000000000000000000000000000000000000000008152336004820152815160009384938493600160a060020a039092169263e4fd8f3d92602480820193929182900301818787803b15801561046d57600080fd5b600080600080600360159054906101000a900460ff1615156107f357600080fd5b600154604080517fe4fd8f3d0000000000000000000000000000000000000000000000000000000081523360048201528151600160a060020a039093169263e4fd8f3d926024808401939192918290030181600087803b15801561085657600080fd5b505af115801561086a573d6000803e3d6000fd5b505050506040513d604081101561088057600080fd5b508051602090910151600154604080517f7bd300790000000000000000000000000000000000000000000000000000000081523360048201528151949850929650600160a060020a0390911692637bd300799260248082019392918290030181600087803b1580156108f157600080fd5b505af1158015610905573d6000803e3d6000fd5b505050506040513d604081101561091b57600080fd5b508051602090910151909250905083610932610f19565b101561093d57600080fd5b81610946611657565b101561095157600080fd5b600154604080517fe2bafd0400000000000000000000000000000000000000000000000000000000815233600482015260248101869052604481018490529051600160a060020a039092169163e2bafd049160648082019260009290919082900301818387803b1580156109c457600080fd5b505af11580156109d8573d6000803e3d6000fd5b505050506000841115610a69576002546040805160e060020a63a9059cbb028152336004820152602481018790529051600160a060020a039092169163a9059cbb916044808201926020929091908290030181600087803b158015610a3c57600080fd5b505af1158015610a50573d6000803e3d6000fd5b505050506040513d6020811015610a6657600080fd5b50505b6000821115610af6576003546040805160e060020a63a9059cbb028152336004820152602481018590529051600160a060020a039092169163a9059cbb916044808201926020929091908290030181600087803b158015610ac957600080fd5b505af1158015610add573d6000803e3d6000fd5b505050506040513d6020811015610af357600080fd5b50505b6040805185815260208101849052815133927f6cfd91e530ad6c623b2f34ffcf7765fd605ac98d9ae7dd3cee1e97d65154a7d0928290030190a250505050565b600154604080517f24f5f00e0000000000000000000000000000000000000000000000000000000081523360048201529051600092600160a060020a0316916324f5f00e91602480830192602092919082900301818787803b1580156103c457600080fd5b60035460a860020a900460ff161515610bb357600080fd5b6001546040805160e060020a630a2eb3010281523360048201529051600160a060020a0390921691630a2eb301916024808201926020929091908290030181600087803b158015610c0357600080fd5b505af1158015610c17573d6000803e3d6000fd5b505050506040513d6020811015610c2d57600080fd5b505180610cc85750600154604080517ff3ae24150000000000000000000000000000000000000000000000000000000081523360048201529051600160a060020a039092169163f3ae2415916024808201926020929091908290030181600087803b158015610c9b57600080fd5b505af1158015610caf573d6000803e3d6000fd5b505050506040513d6020811015610cc557600080fd5b50515b1515610cd357600080fd5b6000821115610d855760025460008054604080517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a03928316600482015230602482015260448101879052905191909316926323b872dd9260648083019360209390929083900390910190829087803b158015610d5857600080fd5b505af1158015610d6c573d6000803e3d6000fd5b505050506040513d6020811015610d8257600080fd5b50505b6000811115610e375760035460008054604080517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a03928316600482015230602482015260448101869052905191909316926323b872dd9260648083019360209390929083900390910190829087803b158015610e0a57600080fd5b505af1158015610e1e573d6000803e3d6000fd5b505050506040513d6020811015610e3457600080fd5b50505b600154604080517f762ac4e000000000000000000000000000000000000000000000000000000000815260048101859052602481018490529051600160a060020a039092169163762ac4e09160448082019260009290919082900301818387803b158015610ea457600080fd5b505af1158015610eb8573d6000803e3d6000fd5b5050604080518581526020810185905281517f9848725d2c09343350be3da0819d0d7b4324dde2c7bf0b7dfbddde5ac4deb6459450908190039091019150a15050565b600354600160a060020a031681565b600054600160a060020a031681565b6002546040805160e060020a6370a082310281523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b1580156103c457600080fd5b600154604080517f61c4fa280000000000000000000000000000000000000000000000000000000081523360048201529051600092600160a060020a0316916361c4fa2891602480830192602092919082900301818787803b1580156103c457600080fd5b6001546040805160e060020a630a2eb30102815233600482015290516000928392600160a060020a0390911691630a2eb3019160248082019260209290919082900301818787803b15801561102157600080fd5b505af1158015611035573d6000803e3d6000fd5b505050506040513d602081101561104b57600080fd5b5051151561105857600080fd5b600160a060020a0383161580159061108a575060035474010000000000000000000000000000000000000000900460ff165b151561109557600080fd5b6003805475ff00000000000000000000000000000000000000000019169055600154604080517f717e9745000000000000000000000000000000000000000000000000000000008152600160a060020a0386811660048301529151919092169163717e974591602480830192600092919082900301818387803b15801561111b57600080fd5b505af115801561112f573d6000803e3d6000fd5b5050505061113b610f19565b9150611145611657565b905060008211156111d6576002546040805160e060020a63a9059cbb028152600160a060020a038681166004830152602482018690529151919092169163a9059cbb9160448083019260209291908290030181600087803b1580156111a957600080fd5b505af11580156111bd573d6000803e3d6000fd5b505050506040513d60208110156111d357600080fd5b50505b6000811115611265576003546040805160e060020a63a9059cbb028152600160a060020a038681166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b15801561123857600080fd5b505af115801561124c573d6000803e3d6000fd5b505050506040513d602081101561126257600080fd5b50505b50506003805474ff00000000000000000000000000000000000000001916905550565b6001546040805160e060020a630a2eb3010281523360048201529051600160a060020a0390921691630a2eb301916024808201926020929091908290030181600087803b1580156112d857600080fd5b505af11580156112ec573d6000803e3d6000fd5b505050506040513d602081101561130257600080fd5b5051151561130f57600080fd5b80600160a060020a038116151561132557600080fd5b506000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60035460009060a860020a900460ff16151561137057600080fd5b600154604080517fbbadc93a0000000000000000000000000000000000000000000000000000000081523360048201529051600160a060020a039092169163bbadc93a916024808201926020929091908290030181600087803b1580156113d657600080fd5b505af11580156113ea573d6000803e3d6000fd5b505050506040513d602081101561140057600080fd5b505190506000811161141157600080fd5b8061141a610f19565b101561142557600080fd5b600154604080517fc938d336000000000000000000000000000000000000000000000000000000008152336004820152602481018490529051600160a060020a039092169163c938d3369160448082019260009290919082900301818387803b15801561149157600080fd5b505af11580156114a5573d6000803e3d6000fd5b50506002546040805160e060020a63a9059cbb028152336004820152602481018690529051600160a060020a03909216935063a9059cbb92506044808201926020929091908290030181600087803b15801561150057600080fd5b505af1158015611514573d6000803e3d6000fd5b505050506040513d602081101561152a57600080fd5b505060408051828152905133917f0b9bec506c4602ddf79117bfd8f6eff5ae70d407a62cd367a59ae76d59de364d919081900360200190a250565b6001546040805160e060020a630a2eb3010281523360048201529051600160a060020a0390921691630a2eb301916024808201926020929091908290030181600087803b1580156115b557600080fd5b505af11580156115c9573d6000803e3d6000fd5b505050506040513d60208110156115df57600080fd5b505115156115ec57600080fd5b60035474010000000000000000000000000000000000000000900460ff16151561161557600080fd5b6003805475ff00000000000000000000000000000000000000000019811660a860020a9182900460ff1615909102179055565b600254600160a060020a031681565b6003546040805160e060020a6370a082310281523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b1580156103c457600080fd5b600154600160a060020a031681565b600354600090819060a860020a900460ff1615156116d257600080fd5b600154604080517fe4fd8f3d0000000000000000000000000000000000000000000000000000000081523360048201528151600160a060020a039093169263e4fd8f3d926024808401939192918290030181600087803b15801561173557600080fd5b505af1158015611749573d6000803e3d6000fd5b505050506040513d604081101561175f57600080fd5b50805160209091015190925090506000821161177a57600080fd5b600154604080517fe2bafd04000000000000000000000000000000000000000000000000000000008152336004820152602481018490526000604482018190529151600160a060020a039093169263e2bafd049260648084019391929182900301818387803b1580156117ec57600080fd5b505af1158015611800573d6000803e3d6000fd5b5050600154604080517f252947a5000000000000000000000000000000000000000000000000000000008152336004820152602481018790529051600160a060020a03909216935063252947a5925060448082019260009290919082900301818387803b15801561187057600080fd5b505af1158015611884573d6000803e3d6000fd5b5050505050505600a165627a7a7230582039baf7ef02f50e8f9261d7406897941f0dc137f1af3ad89a758ff4680202f327002900000000000000000000000094426b0ad2b10fe91330a9a019abe22063edcc81000000000000000000000000b3b2bb28c6f55d71ac018c4b46be6e506ff708b7

Deployed Bytecode

0x6080604052600436106101275763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166316f9c8fd811461012c57806322f3e2d4146101535780632bba475f1461017c5780633f6f4ba0146101915780634c9e929d146101a85780634d71d534146101bd5780634de74f8b146101d55780634fe71e95146101ea578063798655c1146101ff57806392ec888b1461021457806394002b571461022f5780639b6ec386146102605780639bd479eb146102755780639f3604fe1461028a578063a985dba61461029f578063b82b1a65146102c0578063b8c7c362146102e1578063bdf05ccc146102f6578063c6e000b51461030b578063cc7fd94314610320578063f2f4eb2614610335578063fac4d0fd1461034a575b600080fd5b34801561013857600080fd5b5061014161035f565b60408051918252519081900360200190f35b34801561015f57600080fd5b506101686103f5565b604080519115158252519081900360200190f35b34801561018857600080fd5b50610141610405565b34801561019d57600080fd5b506101a66104a0565b005b3480156101b457600080fd5b506101686104ca565b3480156101c957600080fd5b506101a66004356104eb565b3480156101e157600080fd5b5061014161076a565b3480156101f657600080fd5b506101a66107d2565b34801561020b57600080fd5b50610141610b36565b34801561022057600080fd5b506101a6600435602435610b9b565b34801561023b57600080fd5b50610244610efb565b60408051600160a060020a039092168252519081900360200190f35b34801561026c57600080fd5b50610244610f0a565b34801561028157600080fd5b50610141610f19565b34801561029657600080fd5b50610141610f68565b3480156102ab57600080fd5b506101a6600160a060020a0360043516610fcd565b3480156102cc57600080fd5b506101a6600160a060020a0360043516611288565b3480156102ed57600080fd5b506101a6611355565b34801561030257600080fd5b506101a6611565565b34801561031757600080fd5b50610244611648565b34801561032c57600080fd5b50610141611657565b34801561034157600080fd5b506102446116a6565b34801561035657600080fd5b506101a66116b5565b600154604080517fbbadc93a0000000000000000000000000000000000000000000000000000000081523360048201529051600092600160a060020a03169163bbadc93a91602480830192602092919082900301818787803b1580156103c457600080fd5b505af11580156103d8573d6000803e3d6000fd5b505050506040513d60208110156103ee57600080fd5b5051905090565b60035460a860020a900460ff1681565b600154604080517f7bd30079000000000000000000000000000000000000000000000000000000008152336004820152815160009384938493600160a060020a0390921692637bd3007992602480820193929182900301818787803b15801561046d57600080fd5b505af1158015610481573d6000803e3d6000fd5b505050506040513d604081101561049757600080fd5b50519392505050565b60035460a860020a900460ff1615156104b857600080fd5b6104c06107d2565b6104c8611355565b565b60035474010000000000000000000000000000000000000000900460ff1681565b60035460a860020a900460ff16151561050357600080fd5b6002546040805160e060020a6370a082310281523360048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b15801561055257600080fd5b505af1158015610566573d6000803e3d6000fd5b505050506040513d602081101561057c57600080fd5b50511161058857600080fd5b6002546040805160e060020a6370a0823102815233600482015290518392600160a060020a0316916370a082319160248083019260209291908290030181600087803b1580156105d757600080fd5b505af11580156105eb573d6000803e3d6000fd5b505050506040513d602081101561060157600080fd5b5051101561060e57600080fd5b600254604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018490529051600160a060020a03909216916323b872dd916064808201926020929091908290030181600087803b15801561068157600080fd5b505af1158015610695573d6000803e3d6000fd5b505050506040513d60208110156106ab57600080fd5b5050600154604080517f252947a5000000000000000000000000000000000000000000000000000000008152336004820152602481018490529051600160a060020a039092169163252947a59160448082019260009290919082900301818387803b15801561071957600080fd5b505af115801561072d573d6000803e3d6000fd5b50506040805184815290513393507f9a4e1beaa7f6cbf3df5b93536f0e8b60d43bf40aa6c62f1a2d0699a671babf1d92509081900360200190a250565b600154604080517fe4fd8f3d000000000000000000000000000000000000000000000000000000008152336004820152815160009384938493600160a060020a039092169263e4fd8f3d92602480820193929182900301818787803b15801561046d57600080fd5b600080600080600360159054906101000a900460ff1615156107f357600080fd5b600154604080517fe4fd8f3d0000000000000000000000000000000000000000000000000000000081523360048201528151600160a060020a039093169263e4fd8f3d926024808401939192918290030181600087803b15801561085657600080fd5b505af115801561086a573d6000803e3d6000fd5b505050506040513d604081101561088057600080fd5b508051602090910151600154604080517f7bd300790000000000000000000000000000000000000000000000000000000081523360048201528151949850929650600160a060020a0390911692637bd300799260248082019392918290030181600087803b1580156108f157600080fd5b505af1158015610905573d6000803e3d6000fd5b505050506040513d604081101561091b57600080fd5b508051602090910151909250905083610932610f19565b101561093d57600080fd5b81610946611657565b101561095157600080fd5b600154604080517fe2bafd0400000000000000000000000000000000000000000000000000000000815233600482015260248101869052604481018490529051600160a060020a039092169163e2bafd049160648082019260009290919082900301818387803b1580156109c457600080fd5b505af11580156109d8573d6000803e3d6000fd5b505050506000841115610a69576002546040805160e060020a63a9059cbb028152336004820152602481018790529051600160a060020a039092169163a9059cbb916044808201926020929091908290030181600087803b158015610a3c57600080fd5b505af1158015610a50573d6000803e3d6000fd5b505050506040513d6020811015610a6657600080fd5b50505b6000821115610af6576003546040805160e060020a63a9059cbb028152336004820152602481018590529051600160a060020a039092169163a9059cbb916044808201926020929091908290030181600087803b158015610ac957600080fd5b505af1158015610add573d6000803e3d6000fd5b505050506040513d6020811015610af357600080fd5b50505b6040805185815260208101849052815133927f6cfd91e530ad6c623b2f34ffcf7765fd605ac98d9ae7dd3cee1e97d65154a7d0928290030190a250505050565b600154604080517f24f5f00e0000000000000000000000000000000000000000000000000000000081523360048201529051600092600160a060020a0316916324f5f00e91602480830192602092919082900301818787803b1580156103c457600080fd5b60035460a860020a900460ff161515610bb357600080fd5b6001546040805160e060020a630a2eb3010281523360048201529051600160a060020a0390921691630a2eb301916024808201926020929091908290030181600087803b158015610c0357600080fd5b505af1158015610c17573d6000803e3d6000fd5b505050506040513d6020811015610c2d57600080fd5b505180610cc85750600154604080517ff3ae24150000000000000000000000000000000000000000000000000000000081523360048201529051600160a060020a039092169163f3ae2415916024808201926020929091908290030181600087803b158015610c9b57600080fd5b505af1158015610caf573d6000803e3d6000fd5b505050506040513d6020811015610cc557600080fd5b50515b1515610cd357600080fd5b6000821115610d855760025460008054604080517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a03928316600482015230602482015260448101879052905191909316926323b872dd9260648083019360209390929083900390910190829087803b158015610d5857600080fd5b505af1158015610d6c573d6000803e3d6000fd5b505050506040513d6020811015610d8257600080fd5b50505b6000811115610e375760035460008054604080517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a03928316600482015230602482015260448101869052905191909316926323b872dd9260648083019360209390929083900390910190829087803b158015610e0a57600080fd5b505af1158015610e1e573d6000803e3d6000fd5b505050506040513d6020811015610e3457600080fd5b50505b600154604080517f762ac4e000000000000000000000000000000000000000000000000000000000815260048101859052602481018490529051600160a060020a039092169163762ac4e09160448082019260009290919082900301818387803b158015610ea457600080fd5b505af1158015610eb8573d6000803e3d6000fd5b5050604080518581526020810185905281517f9848725d2c09343350be3da0819d0d7b4324dde2c7bf0b7dfbddde5ac4deb6459450908190039091019150a15050565b600354600160a060020a031681565b600054600160a060020a031681565b6002546040805160e060020a6370a082310281523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b1580156103c457600080fd5b600154604080517f61c4fa280000000000000000000000000000000000000000000000000000000081523360048201529051600092600160a060020a0316916361c4fa2891602480830192602092919082900301818787803b1580156103c457600080fd5b6001546040805160e060020a630a2eb30102815233600482015290516000928392600160a060020a0390911691630a2eb3019160248082019260209290919082900301818787803b15801561102157600080fd5b505af1158015611035573d6000803e3d6000fd5b505050506040513d602081101561104b57600080fd5b5051151561105857600080fd5b600160a060020a0383161580159061108a575060035474010000000000000000000000000000000000000000900460ff165b151561109557600080fd5b6003805475ff00000000000000000000000000000000000000000019169055600154604080517f717e9745000000000000000000000000000000000000000000000000000000008152600160a060020a0386811660048301529151919092169163717e974591602480830192600092919082900301818387803b15801561111b57600080fd5b505af115801561112f573d6000803e3d6000fd5b5050505061113b610f19565b9150611145611657565b905060008211156111d6576002546040805160e060020a63a9059cbb028152600160a060020a038681166004830152602482018690529151919092169163a9059cbb9160448083019260209291908290030181600087803b1580156111a957600080fd5b505af11580156111bd573d6000803e3d6000fd5b505050506040513d60208110156111d357600080fd5b50505b6000811115611265576003546040805160e060020a63a9059cbb028152600160a060020a038681166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b15801561123857600080fd5b505af115801561124c573d6000803e3d6000fd5b505050506040513d602081101561126257600080fd5b50505b50506003805474ff00000000000000000000000000000000000000001916905550565b6001546040805160e060020a630a2eb3010281523360048201529051600160a060020a0390921691630a2eb301916024808201926020929091908290030181600087803b1580156112d857600080fd5b505af11580156112ec573d6000803e3d6000fd5b505050506040513d602081101561130257600080fd5b5051151561130f57600080fd5b80600160a060020a038116151561132557600080fd5b506000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60035460009060a860020a900460ff16151561137057600080fd5b600154604080517fbbadc93a0000000000000000000000000000000000000000000000000000000081523360048201529051600160a060020a039092169163bbadc93a916024808201926020929091908290030181600087803b1580156113d657600080fd5b505af11580156113ea573d6000803e3d6000fd5b505050506040513d602081101561140057600080fd5b505190506000811161141157600080fd5b8061141a610f19565b101561142557600080fd5b600154604080517fc938d336000000000000000000000000000000000000000000000000000000008152336004820152602481018490529051600160a060020a039092169163c938d3369160448082019260009290919082900301818387803b15801561149157600080fd5b505af11580156114a5573d6000803e3d6000fd5b50506002546040805160e060020a63a9059cbb028152336004820152602481018690529051600160a060020a03909216935063a9059cbb92506044808201926020929091908290030181600087803b15801561150057600080fd5b505af1158015611514573d6000803e3d6000fd5b505050506040513d602081101561152a57600080fd5b505060408051828152905133917f0b9bec506c4602ddf79117bfd8f6eff5ae70d407a62cd367a59ae76d59de364d919081900360200190a250565b6001546040805160e060020a630a2eb3010281523360048201529051600160a060020a0390921691630a2eb301916024808201926020929091908290030181600087803b1580156115b557600080fd5b505af11580156115c9573d6000803e3d6000fd5b505050506040513d60208110156115df57600080fd5b505115156115ec57600080fd5b60035474010000000000000000000000000000000000000000900460ff16151561161557600080fd5b6003805475ff00000000000000000000000000000000000000000019811660a860020a9182900460ff1615909102179055565b600254600160a060020a031681565b6003546040805160e060020a6370a082310281523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b1580156103c457600080fd5b600154600160a060020a031681565b600354600090819060a860020a900460ff1615156116d257600080fd5b600154604080517fe4fd8f3d0000000000000000000000000000000000000000000000000000000081523360048201528151600160a060020a039093169263e4fd8f3d926024808401939192918290030181600087803b15801561173557600080fd5b505af1158015611749573d6000803e3d6000fd5b505050506040513d604081101561175f57600080fd5b50805160209091015190925090506000821161177a57600080fd5b600154604080517fe2bafd04000000000000000000000000000000000000000000000000000000008152336004820152602481018490526000604482018190529151600160a060020a039093169263e2bafd049260648084019391929182900301818387803b1580156117ec57600080fd5b505af1158015611800573d6000803e3d6000fd5b5050600154604080517f252947a5000000000000000000000000000000000000000000000000000000008152336004820152602481018790529051600160a060020a03909216935063252947a5925060448082019260009290919082900301818387803b15801561187057600080fd5b505af1158015611884573d6000803e3d6000fd5b5050505050505600a165627a7a7230582039baf7ef02f50e8f9261d7406897941f0dc137f1af3ad89a758ff4680202f3270029

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

00000000000000000000000094426b0ad2b10fe91330a9a019abe22063edcc81000000000000000000000000b3b2bb28c6f55d71ac018c4b46be6e506ff708b7

-----Decoded View---------------
Arg [0] : coreAddr (address): 0x94426b0AD2B10fe91330A9A019AbE22063edCC81
Arg [1] : tokenBankAddr (address): 0xb3B2bB28c6F55d71AC018c4b46BE6E506ff708b7

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000094426b0ad2b10fe91330a9a019abe22063edcc81
Arg [1] : 000000000000000000000000b3b2bb28c6f55d71ac018c4b46be6e506ff708b7


Swarm Source

bzzr://39baf7ef02f50e8f9261d7406897941f0dc137f1af3ad89a758ff4680202f327

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.