MOVR Price: $21.54 (+1.05%)
Gas: 3 GWei

Contract

0x2D4ddeB8b183413e9D88A98Fa3Dd844e34D41c54

Overview

MOVR Balance

Moonriver Chain LogoMoonriver Chain LogoMoonriver Chain Logo0 MOVR

MOVR Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
0x6080604025734382022-09-15 18:12:48560 days ago1663265568IN
 Create: ZirconPTFactory
0 MOVR0.00157281.12426263

Latest 25 internal transactions (View All)

Advanced mode:
Parent Txn Hash Block From To Value
33913282023-01-12 17:48:48441 days ago1673545728
0x2D4ddeB8...e34D41c54
 Contract Creation0 MOVR
33913282023-01-12 17:48:48441 days ago1673545728
0x2D4ddeB8...e34D41c54
 Contract Creation0 MOVR
33310712023-01-04 3:04:48449 days ago1672801488
0x2D4ddeB8...e34D41c54
 Contract Creation0 MOVR
33310712023-01-04 3:04:48449 days ago1672801488
0x2D4ddeB8...e34D41c54
 Contract Creation0 MOVR
27579852022-10-12 11:16:48533 days ago1665573408
0x2D4ddeB8...e34D41c54
 Contract Creation0 MOVR
27579852022-10-12 11:16:48533 days ago1665573408
0x2D4ddeB8...e34D41c54
 Contract Creation0 MOVR
27243122022-10-07 15:26:12538 days ago1665156372
0x2D4ddeB8...e34D41c54
 Contract Creation0 MOVR
27243122022-10-07 15:26:12538 days ago1665156372
0x2D4ddeB8...e34D41c54
 Contract Creation0 MOVR
26391492022-09-25 9:03:54550 days ago1664096634
0x2D4ddeB8...e34D41c54
 Contract Creation0 MOVR
26391492022-09-25 9:03:54550 days ago1664096634
0x2D4ddeB8...e34D41c54
 Contract Creation0 MOVR
26391472022-09-25 9:03:30550 days ago1664096610
0x2D4ddeB8...e34D41c54
 Contract Creation0 MOVR
26391472022-09-25 9:03:30550 days ago1664096610
0x2D4ddeB8...e34D41c54
 Contract Creation0 MOVR
26331632022-09-24 12:16:42551 days ago1664021802
0x2D4ddeB8...e34D41c54
 Contract Creation0 MOVR
26331632022-09-24 12:16:42551 days ago1664021802
0x2D4ddeB8...e34D41c54
 Contract Creation0 MOVR
26283252022-09-23 19:25:06551 days ago1663961106
0x2D4ddeB8...e34D41c54
 Contract Creation0 MOVR
26283252022-09-23 19:25:06551 days ago1663961106
0x2D4ddeB8...e34D41c54
 Contract Creation0 MOVR
26283232022-09-23 19:24:42551 days ago1663961082
0x2D4ddeB8...e34D41c54
 Contract Creation0 MOVR
26283232022-09-23 19:24:42551 days ago1663961082
0x2D4ddeB8...e34D41c54
 Contract Creation0 MOVR
26269702022-09-23 14:40:48552 days ago1663944048
0x2D4ddeB8...e34D41c54
 Contract Creation0 MOVR
26269702022-09-23 14:40:48552 days ago1663944048
0x2D4ddeB8...e34D41c54
 Contract Creation0 MOVR
26133552022-09-21 14:58:54554 days ago1663772334
0x2D4ddeB8...e34D41c54
 Contract Creation0 MOVR
26133552022-09-21 14:58:54554 days ago1663772334
0x2D4ddeB8...e34D41c54
 Contract Creation0 MOVR
25751842022-09-16 1:08:54559 days ago1663290534
0x2D4ddeB8...e34D41c54
 Contract Creation0 MOVR
25751842022-09-16 1:08:54559 days ago1663290534
0x2D4ddeB8...e34D41c54
 Contract Creation0 MOVR
25745532022-09-15 22:41:06559 days ago1663281666
0x2D4ddeB8...e34D41c54
 Contract Creation0 MOVR
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ZirconPTFactory

Compiler Version
v0.5.16+commit.9c3226ce

Optimization Enabled:
Yes with 1 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 7 : ZirconPTFactory.sol
// SPDX-License-Identifier: GPL-3.0
pragma solidity =0.5.16;
import './ZirconPoolToken.sol';
import './interfaces/IZirconPTFactory.sol';

contract ZirconPTFactory is IZirconPTFactory {
    mapping(address => mapping(address => address)) public getPoolToken;

    address public migrator;
    address public feeToSetter;

    constructor(address migrator_, address feeToSetter_) public {
        migrator = migrator_;
        feeToSetter = feeToSetter_;
    }

    modifier _onlyMigrator {
        require(msg.sender == migrator, 'ZPT: FORBIDDEN');
        _;
    }

    modifier _onlyFeeToSetter {
        require(msg.sender == feeToSetter, 'ZPT: FORBIDDEN');
        _;
    }

    function getInitHash(address _pylonFactory) public pure returns(bytes32){
        bytes memory bytecode = getCreationBytecode(_pylonFactory);
        return keccak256(abi.encodePacked(bytecode));
    }

    function getCreationBytecode(address _pylonFactory) public pure returns (bytes memory) {
        bytes memory bytecode = type(ZirconPoolToken).creationCode;

        return abi.encodePacked(bytecode, abi.encode(_pylonFactory));
    }

    function createPTAddress(address _token, address pylonAddress) external returns (address poolToken) {
        // Creating Token
        bytes memory bytecode = getCreationBytecode(msg.sender);
        bytes32 salt = keccak256(abi.encodePacked(_token, pylonAddress));
        assembly {
            poolToken := create2(0, add(bytecode, 32), mload(bytecode), salt)
        }

        getPoolToken[pylonAddress][_token] = poolToken;

    }

    function changePylonAddress(address oldPylon, address tokenA, address tokenB, address newPylon, address pylonFactory) external  _onlyMigrator {

        address poolTokenA = address(uint(keccak256(abi.encodePacked(
                hex'ff',
                address(this),
                keccak256(abi.encodePacked(tokenA, oldPylon)),
                getInitHash(pylonFactory) // init code hash
            ))));

        address poolTokenB = address(uint(keccak256(abi.encodePacked(
                hex'ff',
                address(this),
                keccak256(abi.encodePacked(tokenB, oldPylon)),
                getInitHash(pylonFactory) // init code hash
            ))));

        ZirconPoolToken(poolTokenA).changePylonAddress(newPylon);
        ZirconPoolToken(poolTokenB).changePylonAddress(newPylon);

        getPoolToken[newPylon][tokenA] = poolTokenA;
        getPoolToken[newPylon][tokenB] = poolTokenB;

    }

    function setMigrator(address _migrator) external _onlyMigrator {
        migrator = _migrator;
    }

    function setFeeToSetter(address _feeToSetter) external _onlyFeeToSetter {
        feeToSetter = _feeToSetter;
    }

}

File 2 of 7 : ZirconPoolToken.sol
pragma solidity =0.5.16;
import "./ZirconERC20.sol";
import "./interfaces/IZirconPoolToken.sol";
//import "hardhat/hardhat/console.sol.sol";

contract ZirconPoolToken is ZirconERC20 {
    address public token;
    address public pair;
    bool public isAnchor;
    address public pylon;
    address public pylonFactory;
    address public factory;

    constructor(address _pylonFactory) public {
        pylonFactory = _pylonFactory;
        factory = msg.sender;
    }

    modifier onlyPylon {
        require(msg.sender == pylon, 'ZPT: FORBIDDEN');
        _;
    }

    function mint(address account, uint256 amount) external onlyPylon{
        _mint(account, amount);
    }

    function burn(address account, uint256 amount) external onlyPylon{
        _burn(account, amount);
    }

    // called once by the factory at time of deployment
    function initialize(address _token0, address _pair, address _pylon, bool _isAnchor) external {
        require(msg.sender == pylonFactory, 'ZPT: FORBIDDEN');
        // sufficient check
        token = _token0;
        pair = _pair;
        isAnchor = _isAnchor;
        pylon = _pylon;
    }

    function changePylonAddress(address _pylon) external {
        require(msg.sender == factory, 'ZPT: FORBIDDEN');
        pylon = _pylon;
    }
}

File 3 of 7 : IZirconPTFactory.sol
pragma solidity >=0.5.16;

interface IZirconPTFactory {
    function getPoolToken(address pylon, address token) external view returns (address pt);
    function createPTAddress(address _token, address pylonAddress) external returns (address poolToken);
    function changePylonAddress(address oldPylon, address tokenA, address tokenB, address newPylon, address pylonFactory) external;
    function setMigrator(address _migrator) external;
    function setFeeToSetter(address _feeToSetter) external;
}

File 4 of 7 : ZirconERC20.sol
pragma solidity =0.5.16;
import './libraries/SafeMath.sol';
import '@uniswap/v2-core/contracts/interfaces/IUniswapV2ERC20.sol';

contract ZirconERC20 is IUniswapV2ERC20 {
    using SafeMath for uint;
    // TODO: change name of token
    string public constant name = 'Zircon';
    string public constant symbol = 'ZPT';
    uint8 public constant decimals = 18;
    uint public totalSupply;
    mapping(address => uint)  public balanceOf;
    mapping(address => mapping(address => uint)) public allowance;
    // keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)");
    bytes32 public constant PERMIT_TYPEHASH = 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9;
    mapping(address => uint) public nonces;
    bytes32 public DOMAIN_SEPARATOR;

    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    constructor() public {
        uint chainId;
        assembly {
            chainId := chainid()
        }
        DOMAIN_SEPARATOR = keccak256(
            abi.encode(
                keccak256('EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)'),
                keccak256(bytes(name)),
                keccak256(bytes('1')),
                chainId,
                address(this)
            )
        );
    }

    function _mint(address to, uint value) internal {
        totalSupply = totalSupply.add(value);
        balanceOf[to] = balanceOf[to].add(value);
        emit Transfer(address(0), to, value);
    }

    function _burn(address from, uint value) internal {
        balanceOf[from] = balanceOf[from].sub(value);
        totalSupply = totalSupply.sub(value);
        emit Transfer(from, address(0), value);
    }

    function _approve(address owner, address spender, uint value) private {
        allowance[owner][spender] = value;
        emit Approval(owner, spender, value);
    }

    function _transfer(address from, address to, uint value) private {
        balanceOf[from] = balanceOf[from].sub(value);
        balanceOf[to] = balanceOf[to].add(value);
        emit Transfer(from, to, value);
    }

    function approve(address spender, uint value) external returns (bool) {
        _approve(msg.sender, spender, value);
        return true;
    }

    function transfer(address to, uint value) external returns (bool) {
        _transfer(msg.sender, to, value);
        return true;
    }

    function transferFrom(address from, address to, uint value) external returns (bool) {
        if (allowance[from][msg.sender] != uint(-1)) {
            allowance[from][msg.sender] = allowance[from][msg.sender].sub(value);
        }
        _transfer(from, to, value);
        return true;
    }

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external {
        require(deadline >= block.timestamp, 'UniswapV2: EXPIRED');
        bytes32 digest = keccak256(
            abi.encodePacked(
                '\x19\x01',
                DOMAIN_SEPARATOR,
                keccak256(abi.encode(PERMIT_TYPEHASH, owner, spender, value, nonces[owner]++, deadline))
            )
        );
        address recoveredAddress = ecrecover(digest, v, r, s);
        require(recoveredAddress != address(0) && recoveredAddress == owner, 'UniswapV2: INVALID_SIGNATURE');
        _approve(owner, spender, value);
    }
}

File 5 of 7 : IZirconPoolToken.sol
pragma solidity >=0.5.16;

interface IZirconPoolToken {
    function factory() external view returns (address);
    function isAnchor() external view returns (bool);
    function token() external view returns (address);
    function pair() external view returns (address);
    function pylon() external view returns (address);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);

    function mint(address account, uint256 amount) external;
    function burn(address account, uint256 amount) external;
    function initialize(address _token0, address _pair, address _pylon, bool _isAnchor) external;
    function transferFrom(address from, address to, uint value) external returns (bool);
}

File 6 of 7 : SafeMath.sol
// SPDX-License-Identifier: GPL-3.0

pragma solidity =0.5.16;

// a library for performing overflow-safe math, courtesy of DappHub (https://github.com/dapphub/ds-math)

library SafeMath {
    function add(uint x, uint y) internal pure returns (uint z) {
        require((z = x + y) >= x, 'ds-math-add-overflow');
    }

    function sub(uint x, uint y) internal pure returns (uint z) {
        require((z = x - y) <= x, 'ds-math-sub-underflow');
    }

    function mul(uint x, uint y) internal pure returns (uint z) {
        require(y == 0 || (z = x * y) / y == x, 'ds-math-mul-overflow');
    }
}

File 7 of 7 : IUniswapV2ERC20.sol
pragma solidity >=0.5.0;

interface IUniswapV2ERC20 {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 1
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "metadata": {
    "useLiteralContent": true
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"migrator_","type":"address"},{"internalType":"address","name":"feeToSetter_","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"constant":false,"inputs":[{"internalType":"address","name":"oldPylon","type":"address"},{"internalType":"address","name":"tokenA","type":"address"},{"internalType":"address","name":"tokenB","type":"address"},{"internalType":"address","name":"newPylon","type":"address"},{"internalType":"address","name":"pylonFactory","type":"address"}],"name":"changePylonAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"pylonAddress","type":"address"}],"name":"createPTAddress","outputs":[{"internalType":"address","name":"poolToken","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"feeToSetter","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_pylonFactory","type":"address"}],"name":"getCreationBytecode","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_pylonFactory","type":"address"}],"name":"getInitHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"getPoolToken","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"migrator","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_feeToSetter","type":"address"}],"name":"setFeeToSetter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_migrator","type":"address"}],"name":"setMigrator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b506040516117f83803806117f88339818101604052604081101561003357600080fd5b508051602090910151600180546001600160a01b039384166001600160a01b0319918216179091556002805493909216921691909117905561177e8061007a6000396000f3fe608060405234801561001057600080fd5b50600436106100835760003560e01c8063094b7415146100885780631e7a3ae0146100ac57806323cf3118146100da578063724ee00e146101025780637cd07e471461019d57806383baf61e146101a5578063a2e74af6146101dd578063a41e3ea714610203578063fad51a9a1461024b575b600080fd5b610090610279565b604080516001600160a01b039092168252519081900360200190f35b610090600480360360408110156100c257600080fd5b506001600160a01b0381358116916020013516610288565b610100600480360360208110156100f057600080fd5b50356001600160a01b0316610326565b005b6101286004803603602081101561011857600080fd5b50356001600160a01b0316610398565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561016257818101518382015260200161014a565b50505050905090810190601f16801561018f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61009061049c565b6101cb600480360360208110156101bb57600080fd5b50356001600160a01b03166104ab565b60408051918252519081900360200190f35b610100600480360360208110156101f357600080fd5b50356001600160a01b0316610530565b610100600480360360a081101561021957600080fd5b506001600160a01b038135811691602081013582169160408201358116916060810135821691608090910135166105a2565b6100906004803603604081101561026157600080fd5b506001600160a01b038135811691602001351661087e565b6002546001600160a01b031681565b6000606061029533610398565b60408051606087811b6001600160601b03199081166020808501919091529188901b166034830152825180830360280181526048909201909252805190820120825192935091829184016000f56001600160a01b0394851660009081526020818152604080832098881683529790529590952080546001600160a01b03191694861694909417909355509192915050565b6001546001600160a01b03163314610376576040805162461bcd60e51b815260206004820152600e60248201526d2d282a1d102327a92124a22222a760911b604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b606080604051806020016103ab906108a1565b601f1982820381018352601f9091011660408181526001600160a01b0386166020838101919091528151808403820181528284019092528351939450849391926060019182918501908083835b602083106104175780518252601f1990920191602091820191016103f8565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b6020831061045f5780518252601f199092019160209182019101610440565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051602081830303815290604052915050919050565b6001546001600160a01b031681565b600060606104b883610398565b9050806040516020018082805190602001908083835b602083106104ed5780518252601f1990920191602091820191016104ce565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120915050919050565b6002546001600160a01b03163314610580576040805162461bcd60e51b815260206004820152600e60248201526d2d282a1d102327a92124a22222a760911b604482015290519081900360640190fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031633146105f2576040805162461bcd60e51b815260206004820152600e60248201526d2d282a1d102327a92124a22222a760911b604482015290519081900360640190fd5b600030858760405160200180836001600160a01b03166001600160a01b031660601b8152601401826001600160a01b03166001600160a01b031660601b81526014019250505060405160208183030381529060405280519060200120610657846104ab565b604080516001600160f81b03196020808301919091526001600160601b0319606096871b8116602184015260358301959095526055808301949094528251808303909401845260758201835283519381019390932089861b85166095830152948b901b90931660a98401528051609d81850301815260bd9093019052815191012090915060009030906106e9856104ab565b60405160200180806001600160f81b0319815250600101846001600160a01b03166001600160a01b031660601b815260140183815260200182815260200193505050506040516020818303038152906040528051906020012060001c9050816001600160a01b0316635978fd80856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b15801561079f57600080fd5b505af11580156107b3573d6000803e3d6000fd5b50505050806001600160a01b0316635978fd80856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b15801561080f57600080fd5b505af1158015610823573d6000803e3d6000fd5b505050506001600160a01b03938416600090815260208181526040808320988716835297905286812080549386166001600160a01b031994851617905594841685529490932080549490921693909216929092179091555050565b60006020818152928152604080822090935290815220546001600160a01b031681565b610e9b806108af8339019056fe608060405234801561001057600080fd5b50604051610e9b380380610e9b8339818101604052602081101561003357600080fd5b50516040514690806052610e49823960408051918290036052018220828201825260068352652d34b931b7b760d11b6020938401528151808301835260018152603160f81b908401528151808401919091527f94c6df7cbb14f58e7ac6d9fa315f8346b33ef43dae2423c0e0e94673dd9e65ff818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606082015260808101949094523060a0808601919091528151808603909101815260c09094019052825192019190912060045550600880546001600160a01b03929092166001600160a01b03199283161790556009805490911633179055610d11806101386000396000f3fe608060405234801561001057600080fd5b506004361061011d5760003560e01c806306fdde0314610122578063095ea7b31461019f57806318160ddd146101df57806323b872dd146101f957806330adf81f1461022f578063313ce567146102375780633644e5151461025557806340c10f191461025d578063468477941461028b5780635978fd80146102af57806370a08231146102d55780637ecebe00146102fb57806395d89b41146103215780639dc29fac14610329578063a8aa1b3114610355578063a9059cbb1461035d578063b89f59ea14610389578063c45a015514610391578063d505accf14610399578063dd62ed3e146103ea578063ef8863b414610418578063fc0c546a14610420578063fecf973414610428575b600080fd5b61012a610466565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561016457818101518382015260200161014c565b50505050905090810190601f1680156101915780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101cb600480360360408110156101b557600080fd5b506001600160a01b038135169060200135610488565b604080519115158252519081900360200190f35b6101e761049f565b60408051918252519081900360200190f35b6101cb6004803603606081101561020f57600080fd5b506001600160a01b038135811691602081013590911690604001356104a5565b6101e761053f565b61023f610551565b6040805160ff9092168252519081900360200190f35b6101e7610556565b6102896004803603604081101561027357600080fd5b506001600160a01b03813516906020013561055c565b005b6102936105ba565b604080516001600160a01b039092168252519081900360200190f35b610289600480360360208110156102c557600080fd5b50356001600160a01b03166105c9565b6101e7600480360360208110156102eb57600080fd5b50356001600160a01b031661063b565b6101e76004803603602081101561031157600080fd5b50356001600160a01b031661064d565b61012a61065f565b6102896004803603604081101561033f57600080fd5b506001600160a01b03813516906020013561067e565b6102936106d8565b6101cb6004803603604081101561037357600080fd5b506001600160a01b0381351690602001356106e7565b6101cb6106f4565b610293610704565b610289600480360360e08110156103af57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610713565b6101e76004803603604081101561040057600080fd5b506001600160a01b0381358116916020013516610902565b61029361091f565b61029361092e565b6102896004803603608081101561043e57600080fd5b506001600160a01b03813581169160208101358216916040820135169060600135151561093d565b604051806040016040528060068152602001652d34b931b7b760d11b81525081565b60006104953384846109e3565b5060015b92915050565b60005481565b6001600160a01b03831660009081526002602090815260408083203384529091528120546000191461052a576001600160a01b0384166000908152600260209081526040808320338452909152902054610505908363ffffffff610a4516565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b610535848484610a95565b5060019392505050565b600080516020610cbd83398151915281565b601281565b60045481565b6007546001600160a01b031633146105ac576040805162461bcd60e51b815260206004820152600e60248201526d2d282a1d102327a92124a22222a760911b604482015290519081900360640190fd5b6105b68282610b3d565b5050565b6007546001600160a01b031681565b6009546001600160a01b03163314610619576040805162461bcd60e51b815260206004820152600e60248201526d2d282a1d102327a92124a22222a760911b604482015290519081900360640190fd5b600780546001600160a01b0319166001600160a01b0392909216919091179055565b60016020526000908152604090205481565b60036020526000908152604090205481565b6040518060400160405280600381526020016216941560ea1b81525081565b6007546001600160a01b031633146106ce576040805162461bcd60e51b815260206004820152600e60248201526d2d282a1d102327a92124a22222a760911b604482015290519081900360640190fd5b6105b68282610bc1565b6006546001600160a01b031681565b6000610495338484610a95565b600654600160a01b900460ff1681565b6009546001600160a01b031681565b4284101561075d576040805162461bcd60e51b8152602060048201526012602482015271155b9a5cddd85c158c8e881156141254915160721b604482015290519081900360640190fd5b6004546001600160a01b038089166000818152600360209081526040808320805460018082019092558251600080516020610cbd8339815191528186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e280820193601f1981019281900390910190855afa158015610866573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381161580159061089c5750886001600160a01b0316816001600160a01b0316145b6108ec576040805162461bcd60e51b815260206004820152601c60248201527b556e697377617056323a20494e56414c49445f5349474e415455524560201b604482015290519081900360640190fd5b6108f78989896109e3565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b6008546001600160a01b031681565b6005546001600160a01b031681565b6008546001600160a01b0316331461098d576040805162461bcd60e51b815260206004820152600e60248201526d2d282a1d102327a92124a22222a760911b604482015290519081900360640190fd5b600580546001600160a01b039586166001600160a01b03199182161790915560068054921515600160a01b0260ff60a01b1995871693831693909317949094169190911790925560078054919093169116179055565b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b80820382811115610499576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fd5b6001600160a01b038316600090815260016020526040902054610abe908263ffffffff610a4516565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610af3908263ffffffff610c4d16565b6001600160a01b038084166000818152600160209081526040918290209490945580518581529051919392871692600080516020610c9d83398151915292918290030190a3505050565b600054610b50908263ffffffff610c4d16565b60009081556001600160a01b038316815260016020526040902054610b7b908263ffffffff610c4d16565b6001600160a01b0383166000818152600160209081526040808320949094558351858152935192939192600080516020610c9d8339815191529281900390910190a35050565b6001600160a01b038216600090815260016020526040902054610bea908263ffffffff610a4516565b6001600160a01b03831660009081526001602052604081209190915554610c17908263ffffffff610a4516565b60009081556040805183815290516001600160a01b03851691600080516020610c9d833981519152919081900360200190a35050565b80820182811015610499576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9a265627a7a72315820d298b47367f9a51e8c784f7882722da010d29f5fef035f22b2944bfeabca937c64736f6c63430005100032454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429a265627a7a7231582040bf4c428d94d495abfdfee9327d5dcf1275d0fba11e8471543692b00b0ba3cc64736f6c634300051000320000000000000000000000009aef9098af9d1e2d78fcd9b928c946a7f23307d30000000000000000000000004ba754989b77925f47e26c54aaa1b03df23b32ce

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100835760003560e01c8063094b7415146100885780631e7a3ae0146100ac57806323cf3118146100da578063724ee00e146101025780637cd07e471461019d57806383baf61e146101a5578063a2e74af6146101dd578063a41e3ea714610203578063fad51a9a1461024b575b600080fd5b610090610279565b604080516001600160a01b039092168252519081900360200190f35b610090600480360360408110156100c257600080fd5b506001600160a01b0381358116916020013516610288565b610100600480360360208110156100f057600080fd5b50356001600160a01b0316610326565b005b6101286004803603602081101561011857600080fd5b50356001600160a01b0316610398565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561016257818101518382015260200161014a565b50505050905090810190601f16801561018f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61009061049c565b6101cb600480360360208110156101bb57600080fd5b50356001600160a01b03166104ab565b60408051918252519081900360200190f35b610100600480360360208110156101f357600080fd5b50356001600160a01b0316610530565b610100600480360360a081101561021957600080fd5b506001600160a01b038135811691602081013582169160408201358116916060810135821691608090910135166105a2565b6100906004803603604081101561026157600080fd5b506001600160a01b038135811691602001351661087e565b6002546001600160a01b031681565b6000606061029533610398565b60408051606087811b6001600160601b03199081166020808501919091529188901b166034830152825180830360280181526048909201909252805190820120825192935091829184016000f56001600160a01b0394851660009081526020818152604080832098881683529790529590952080546001600160a01b03191694861694909417909355509192915050565b6001546001600160a01b03163314610376576040805162461bcd60e51b815260206004820152600e60248201526d2d282a1d102327a92124a22222a760911b604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b606080604051806020016103ab906108a1565b601f1982820381018352601f9091011660408181526001600160a01b0386166020838101919091528151808403820181528284019092528351939450849391926060019182918501908083835b602083106104175780518252601f1990920191602091820191016103f8565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b6020831061045f5780518252601f199092019160209182019101610440565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051602081830303815290604052915050919050565b6001546001600160a01b031681565b600060606104b883610398565b9050806040516020018082805190602001908083835b602083106104ed5780518252601f1990920191602091820191016104ce565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120915050919050565b6002546001600160a01b03163314610580576040805162461bcd60e51b815260206004820152600e60248201526d2d282a1d102327a92124a22222a760911b604482015290519081900360640190fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031633146105f2576040805162461bcd60e51b815260206004820152600e60248201526d2d282a1d102327a92124a22222a760911b604482015290519081900360640190fd5b600030858760405160200180836001600160a01b03166001600160a01b031660601b8152601401826001600160a01b03166001600160a01b031660601b81526014019250505060405160208183030381529060405280519060200120610657846104ab565b604080516001600160f81b03196020808301919091526001600160601b0319606096871b8116602184015260358301959095526055808301949094528251808303909401845260758201835283519381019390932089861b85166095830152948b901b90931660a98401528051609d81850301815260bd9093019052815191012090915060009030906106e9856104ab565b60405160200180806001600160f81b0319815250600101846001600160a01b03166001600160a01b031660601b815260140183815260200182815260200193505050506040516020818303038152906040528051906020012060001c9050816001600160a01b0316635978fd80856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b15801561079f57600080fd5b505af11580156107b3573d6000803e3d6000fd5b50505050806001600160a01b0316635978fd80856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b15801561080f57600080fd5b505af1158015610823573d6000803e3d6000fd5b505050506001600160a01b03938416600090815260208181526040808320988716835297905286812080549386166001600160a01b031994851617905594841685529490932080549490921693909216929092179091555050565b60006020818152928152604080822090935290815220546001600160a01b031681565b610e9b806108af8339019056fe608060405234801561001057600080fd5b50604051610e9b380380610e9b8339818101604052602081101561003357600080fd5b50516040514690806052610e49823960408051918290036052018220828201825260068352652d34b931b7b760d11b6020938401528151808301835260018152603160f81b908401528151808401919091527f94c6df7cbb14f58e7ac6d9fa315f8346b33ef43dae2423c0e0e94673dd9e65ff818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606082015260808101949094523060a0808601919091528151808603909101815260c09094019052825192019190912060045550600880546001600160a01b03929092166001600160a01b03199283161790556009805490911633179055610d11806101386000396000f3fe608060405234801561001057600080fd5b506004361061011d5760003560e01c806306fdde0314610122578063095ea7b31461019f57806318160ddd146101df57806323b872dd146101f957806330adf81f1461022f578063313ce567146102375780633644e5151461025557806340c10f191461025d578063468477941461028b5780635978fd80146102af57806370a08231146102d55780637ecebe00146102fb57806395d89b41146103215780639dc29fac14610329578063a8aa1b3114610355578063a9059cbb1461035d578063b89f59ea14610389578063c45a015514610391578063d505accf14610399578063dd62ed3e146103ea578063ef8863b414610418578063fc0c546a14610420578063fecf973414610428575b600080fd5b61012a610466565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561016457818101518382015260200161014c565b50505050905090810190601f1680156101915780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101cb600480360360408110156101b557600080fd5b506001600160a01b038135169060200135610488565b604080519115158252519081900360200190f35b6101e761049f565b60408051918252519081900360200190f35b6101cb6004803603606081101561020f57600080fd5b506001600160a01b038135811691602081013590911690604001356104a5565b6101e761053f565b61023f610551565b6040805160ff9092168252519081900360200190f35b6101e7610556565b6102896004803603604081101561027357600080fd5b506001600160a01b03813516906020013561055c565b005b6102936105ba565b604080516001600160a01b039092168252519081900360200190f35b610289600480360360208110156102c557600080fd5b50356001600160a01b03166105c9565b6101e7600480360360208110156102eb57600080fd5b50356001600160a01b031661063b565b6101e76004803603602081101561031157600080fd5b50356001600160a01b031661064d565b61012a61065f565b6102896004803603604081101561033f57600080fd5b506001600160a01b03813516906020013561067e565b6102936106d8565b6101cb6004803603604081101561037357600080fd5b506001600160a01b0381351690602001356106e7565b6101cb6106f4565b610293610704565b610289600480360360e08110156103af57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610713565b6101e76004803603604081101561040057600080fd5b506001600160a01b0381358116916020013516610902565b61029361091f565b61029361092e565b6102896004803603608081101561043e57600080fd5b506001600160a01b03813581169160208101358216916040820135169060600135151561093d565b604051806040016040528060068152602001652d34b931b7b760d11b81525081565b60006104953384846109e3565b5060015b92915050565b60005481565b6001600160a01b03831660009081526002602090815260408083203384529091528120546000191461052a576001600160a01b0384166000908152600260209081526040808320338452909152902054610505908363ffffffff610a4516565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b610535848484610a95565b5060019392505050565b600080516020610cbd83398151915281565b601281565b60045481565b6007546001600160a01b031633146105ac576040805162461bcd60e51b815260206004820152600e60248201526d2d282a1d102327a92124a22222a760911b604482015290519081900360640190fd5b6105b68282610b3d565b5050565b6007546001600160a01b031681565b6009546001600160a01b03163314610619576040805162461bcd60e51b815260206004820152600e60248201526d2d282a1d102327a92124a22222a760911b604482015290519081900360640190fd5b600780546001600160a01b0319166001600160a01b0392909216919091179055565b60016020526000908152604090205481565b60036020526000908152604090205481565b6040518060400160405280600381526020016216941560ea1b81525081565b6007546001600160a01b031633146106ce576040805162461bcd60e51b815260206004820152600e60248201526d2d282a1d102327a92124a22222a760911b604482015290519081900360640190fd5b6105b68282610bc1565b6006546001600160a01b031681565b6000610495338484610a95565b600654600160a01b900460ff1681565b6009546001600160a01b031681565b4284101561075d576040805162461bcd60e51b8152602060048201526012602482015271155b9a5cddd85c158c8e881156141254915160721b604482015290519081900360640190fd5b6004546001600160a01b038089166000818152600360209081526040808320805460018082019092558251600080516020610cbd8339815191528186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e280820193601f1981019281900390910190855afa158015610866573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381161580159061089c5750886001600160a01b0316816001600160a01b0316145b6108ec576040805162461bcd60e51b815260206004820152601c60248201527b556e697377617056323a20494e56414c49445f5349474e415455524560201b604482015290519081900360640190fd5b6108f78989896109e3565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b6008546001600160a01b031681565b6005546001600160a01b031681565b6008546001600160a01b0316331461098d576040805162461bcd60e51b815260206004820152600e60248201526d2d282a1d102327a92124a22222a760911b604482015290519081900360640190fd5b600580546001600160a01b039586166001600160a01b03199182161790915560068054921515600160a01b0260ff60a01b1995871693831693909317949094169190911790925560078054919093169116179055565b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b80820382811115610499576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fd5b6001600160a01b038316600090815260016020526040902054610abe908263ffffffff610a4516565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610af3908263ffffffff610c4d16565b6001600160a01b038084166000818152600160209081526040918290209490945580518581529051919392871692600080516020610c9d83398151915292918290030190a3505050565b600054610b50908263ffffffff610c4d16565b60009081556001600160a01b038316815260016020526040902054610b7b908263ffffffff610c4d16565b6001600160a01b0383166000818152600160209081526040808320949094558351858152935192939192600080516020610c9d8339815191529281900390910190a35050565b6001600160a01b038216600090815260016020526040902054610bea908263ffffffff610a4516565b6001600160a01b03831660009081526001602052604081209190915554610c17908263ffffffff610a4516565b60009081556040805183815290516001600160a01b03851691600080516020610c9d833981519152919081900360200190a35050565b80820182811015610499576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9a265627a7a72315820d298b47367f9a51e8c784f7882722da010d29f5fef035f22b2944bfeabca937c64736f6c63430005100032454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429a265627a7a7231582040bf4c428d94d495abfdfee9327d5dcf1275d0fba11e8471543692b00b0ba3cc64736f6c63430005100032

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

0000000000000000000000009aef9098af9d1e2d78fcd9b928c946a7f23307d30000000000000000000000004ba754989b77925f47e26c54aaa1b03df23b32ce

-----Decoded View---------------
Arg [0] : migrator_ (address): 0x9AEF9098af9d1E2d78FCd9B928C946a7f23307d3
Arg [1] : feeToSetter_ (address): 0x4bA754989b77925F47e26C54aaa1b03Df23B32Ce

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000009aef9098af9d1e2d78fcd9b928c946a7f23307d3
Arg [1] : 0000000000000000000000004ba754989b77925f47e26c54aaa1b03df23b32ce


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

Txn Hash Block Value Eth2 PubKey Valid
View All Deposits
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.