ETH Price: $3,055.16 (-3.98%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Migrate141594792022-02-07 14:33:561086 days ago1644244436IN
0x8E20cbFe...3225F1731
0 ETH0.00891292126.21317513
Migrate141594792022-02-07 14:33:561086 days ago1644244436IN
0x8E20cbFe...3225F1731
0 ETH0.00918554126.21317513
Set Migrator141594762022-02-07 14:33:211086 days ago1644244401IN
0x8E20cbFe...3225F1731
0 ETH0.00631049136.08416571
Redeem Token140813522022-01-26 12:52:531098 days ago1643201573IN
0x8E20cbFe...3225F1731
0 ETH0.0094738583.25808524
New Transfer140501062022-01-21 16:54:281103 days ago1642784068IN
0x8E20cbFe...3225F1731
0 ETH0.02484743219.93941759
New Transfer140479612022-01-21 8:51:551103 days ago1642755115IN
0x8E20cbFe...3225F1731
0 ETH0.01391023123.12774196
Redeem Token140354452022-01-19 10:32:521105 days ago1642588372IN
0x8E20cbFe...3225F1731
0 ETH0.010701981.76319872
New Transfer140354432022-01-19 10:32:071105 days ago1642588327IN
0x8E20cbFe...3225F1731
0 ETH0.0103276591.42593165
Deposit Token140321132022-01-18 21:59:331106 days ago1642543173IN
0x8E20cbFe...3225F1731
0 ETH0.01067391146.49287895
Deposit Token140309612022-01-18 17:44:471106 days ago1642527887IN
0x8E20cbFe...3225F1731
0 ETH0.00779487111.88120249
Deposit Token140306942022-01-18 16:49:161106 days ago1642524556IN
0x8E20cbFe...3225F1731
0 ETH0.0073001498.0266797
Deposit Token140306152022-01-18 16:33:181106 days ago1642523598IN
0x8E20cbFe...3225F1731
0 ETH0.006698789.95058127
Deposit Token140305182022-01-18 16:12:171106 days ago1642522337IN
0x8E20cbFe...3225F1731
0 ETH0.01428124131.40278922
Deposit Token140241162022-01-17 16:32:251107 days ago1642437145IN
0x8E20cbFe...3225F1731
0 ETH0.00976433134.00946422
Deposit Token140213812022-01-17 6:25:301107 days ago1642400730IN
0x8E20cbFe...3225F1731
0 ETH0.00801493110
Deposit Token139930322022-01-12 21:02:281112 days ago1642021348IN
0x8E20cbFe...3225F1731
0 ETH0.0276849380.02093379
New Transfer138037042021-12-14 14:04:551141 days ago1639490695IN
0x8E20cbFe...3225F1731
0 ETH0.02550183307.7032618
New Transfer138037042021-12-14 14:04:551141 days ago1639490695IN
0x8E20cbFe...3225F1731
0 ETH0.02550183307.7032618
New Transfer138036782021-12-14 13:56:031141 days ago1639490163IN
0x8E20cbFe...3225F1731
0 ETH0.02550183307.7032618
New Transfer138036642021-12-14 13:53:381141 days ago1639490018IN
0x8E20cbFe...3225F1731
0 ETH0.02550183307.7032618
New Transfer136596852021-11-21 18:00:081164 days ago1637517608IN
0x8E20cbFe...3225F1731
0 ETH0.01183632104.77031302
Deposit Token136330192021-11-17 12:54:531168 days ago1637153693IN
0x8E20cbFe...3225F1731
0 ETH0.00925374119.17103246
Deposit Token136277662021-11-16 16:58:171169 days ago1637081897IN
0x8E20cbFe...3225F1731
0 ETH0.01387307124.0450309
Add Coin135642682021-11-06 17:18:401179 days ago1636219120IN
0x8E20cbFe...3225F1731
0 ETH0.00737826106.94371518
Add Coin135642542021-11-06 17:15:501179 days ago1636218950IN
0x8E20cbFe...3225F1731
0 ETH0.00866602125.60918716
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
WZyxBridge

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2021-11-06
*/

/**
 *Submitted for verification at BscScan.com on 2021-11-01
*/

// File: contracts/interfaces/IWZYX.sol

pragma solidity ^0.6.12;

interface IWZYX {
    function mint(address _to, uint256 _amount) external;
    function burnFrom(address account, uint256 amount) external;
}

// File: contracts/lib/ChainId.sol

pragma solidity 0.6.12;

library ChainId {
    int256 public constant zyxChainId = 55;


    function getChainId() internal pure returns (int256 chainId) {
        assembly {
            chainId := chainid()
        }
    }
}

// File: contracts/lib/SafeMath.sol

pragma solidity 0.6.12;

// 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: contracts/interfaces/IERC20.sol

pragma solidity 0.6.12;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external;

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external;

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external;

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

// File: contracts/lib/Context.sol

pragma solidity 0.6.12;

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

// File: contracts/lib/Ownable.sol

pragma solidity 0.6.12;



/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() public {
        _setOwner(_msgSender());
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

// File: contracts/lib/Pausable.sol

pragma solidity ^0.6.12;



abstract contract Pausable is Ownable {
    bool public pause;

    modifier isPause() {
        require(!pause, "Pausable: paused");
        _;
    }

    function togglePause() public virtual onlyOwner {
        pause = !pause;
    }
}

// File: contracts/WzyxBridge.sol

pragma solidity ^0.6.12;
pragma experimental ABIEncoderV2;








contract WZyxBridge is Pausable {
    using SafeMath for *;

    struct User {
        uint256 amount;
        uint256 fee;
        uint256 totalRedeem;
    }

    struct Swap {
        address token;
        address user;
        uint256 amount;
        uint256 fee;
        bytes32 hash;
    }

    int256 public chainId;

    address public oracle;
    address public wzyx;
    address public feeTo;
    address public migrator;

    mapping(address => bool) public listOfSupportedTokens;
    mapping(address => uint256) public minLimitForSwap;
    mapping(address => uint256) public tokensBalances;
    mapping(bytes32 => bool) public checkedHashes;
    mapping(address => mapping(address => User)) public users;


    constructor(address _oracle, address _wzyx, address _feeTo) public {
        chainId = ChainId.getChainId();
        oracle = _oracle;
        wzyx = _wzyx;
        feeTo = _feeTo;
    }


    /**** Modifiers ****/
    modifier onlyOracle() {
        require(msg.sender == oracle, "ZyxBridge: Not oracle");
        _;
    }

    modifier supportedToken(address token) {
        require(listOfSupportedTokens[token], "ZyxBridge: Not supported token");
        _;
    }

    modifier newHash(bytes32 hash) {
        require(!checkedHashes[hash], "ZyxBridge: Duplicated hash");
        _;
    }

    event NewSwap(
        address token,
        address user,
        address oracle,
        uint256 amount,
        uint256 fee,
        int256 chainIdFrom,
        int256 chainIdTo,
        bytes32 hash
    );

    event Redeem(
        address token,
        address user,
        uint256 amount,
        uint256 fee
    );

    event NewDeposit(
        address token,
        address user,
        uint256 amount,
        int256 chainIdFrom,
        int256 chainIdTo
    );

    function newTransfer(Swap calldata swapInfo) public onlyOracle
        supportedToken(swapInfo.token)
        isPause
        newHash(swapInfo.hash)
    {
        User storage user = users[swapInfo.token][swapInfo.user];
        user.amount = user.amount.add(swapInfo.amount);
        user.fee = user.fee.add(swapInfo.fee);

        if (wzyx != swapInfo.token) {
            tokensBalances[swapInfo.token] = tokensBalances[swapInfo.token].sub(swapInfo.amount).sub(swapInfo.fee);
        }

        checkedHashes[swapInfo.hash] = true;

        emit NewSwap(
            swapInfo.token,
            swapInfo.user,
            msg.sender,
            swapInfo.amount,
            swapInfo.fee,
            ChainId.zyxChainId,
            chainId,
            swapInfo.hash
        );
    }

    function redeemToken(address token) public supportedToken(token) {
        User storage user = users[token][msg.sender];
        require(user.amount > 0, "ZyxBridge: nothing to withdraw");
        if (token == wzyx) {
            IWZYX(wzyx).mint(msg.sender, user.amount);
            IWZYX(wzyx).mint(feeTo, user.fee);
        } else {
            IERC20(token).transfer(msg.sender, user.amount);
            IERC20(token).transfer(feeTo, user.fee);
        }
        user.totalRedeem = user.totalRedeem.add(user.amount);
        uint256 amount = user.amount;
        uint256 fee = user.fee;
        user.amount = 0;
        user.fee = 0;
        emit Redeem(token, msg.sender, amount, fee);
    }

    function depositToken(address token, uint256 amount) public supportedToken(token) isPause {
        require(amount >= minLimitForSwap[token], "ZyxBridge: amount is too small");
        if (token == wzyx) {
            IWZYX(wzyx).burnFrom(msg.sender, amount);
        } else {
            IERC20(token).transferFrom(msg.sender, address(this), amount);
            tokensBalances[token] = tokensBalances[token].add(amount);
        }
        emit NewDeposit(token, msg.sender, amount, chainId, ChainId.zyxChainId);
    }


    /**** Admin functions  ****/
    function addCoin(address _token, uint256 _minSwap) public onlyOwner {
        listOfSupportedTokens[_token] = true;
        minLimitForSwap[_token] = _minSwap;
    }

    function removeCoin(address _token) public onlyOwner {
        delete listOfSupportedTokens[_token];
        delete minLimitForSwap[_token];
    }

    function setOracle(address _oracle) public onlyOwner {
        oracle = _oracle;
    }

    function setMigrator(address _migrator) public onlyOwner {
        migrator = _migrator;
    }

    function setWzyx(address _wzyx) public onlyOwner {
        wzyx = _wzyx;
    }

    function setFeeTo(address _feeTo) public onlyOwner {
        feeTo = _feeTo;
    }

    function migrate(address _token) public onlyOwner {
        uint256 currentBalance = IERC20(_token).balanceOf(address(this));
        IERC20(_token).transfer(migrator,currentBalance);
        delete listOfSupportedTokens[_token];
        delete minLimitForSwap[_token];
        delete tokensBalances[_token];
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_oracle","type":"address"},{"internalType":"address","name":"_wzyx","type":"address"},{"internalType":"address","name":"_feeTo","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"int256","name":"chainIdFrom","type":"int256"},{"indexed":false,"internalType":"int256","name":"chainIdTo","type":"int256"}],"name":"NewDeposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"address","name":"oracle","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fee","type":"uint256"},{"indexed":false,"internalType":"int256","name":"chainIdFrom","type":"int256"},{"indexed":false,"internalType":"int256","name":"chainIdTo","type":"int256"},{"indexed":false,"internalType":"bytes32","name":"hash","type":"bytes32"}],"name":"NewSwap","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fee","type":"uint256"}],"name":"Redeem","type":"event"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_minSwap","type":"uint256"}],"name":"addCoin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"chainId","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"checkedHashes","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"depositToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeTo","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"listOfSupportedTokens","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"migrate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"migrator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"minLimitForSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"bytes32","name":"hash","type":"bytes32"}],"internalType":"struct WZyxBridge.Swap","name":"swapInfo","type":"tuple"}],"name":"newTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"oracle","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"redeemToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"removeCoin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_feeTo","type":"address"}],"name":"setFeeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_migrator","type":"address"}],"name":"setMigrator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_oracle","type":"address"}],"name":"setOracle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_wzyx","type":"address"}],"name":"setWzyx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"togglePause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"tokensBalances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"users","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"uint256","name":"totalRedeem","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"wzyx","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60806040523480156200001157600080fd5b5060405162002a1d38038062002a1d833981810160405281019062000037919062000229565b620000576200004b6200013e60201b60201c565b6200014660201b60201c565b6200006c6200020a60201b62001ca11760201c565b60018190555082600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050620002cd565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600046905090565b6000815190506200022381620002b3565b92915050565b6000806000606084860312156200023f57600080fd5b60006200024f8682870162000212565b9350506020620002628682870162000212565b9250506040620002758682870162000212565b9150509250925092565b60006200028c8262000293565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b620002be816200027f565b8114620002ca57600080fd5b50565b61274080620002dd6000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80637cd07e47116100de5780639a8a059211610097578063c4ae316811610071578063c4ae316814610426578063ce5494bb14610430578063f2fde38b1461044c578063f46901ed1461046857610173565b80639a8a0592146103d0578063b4014879146103ee578063b65ec5751461040a57610173565b80637cd07e47146103205780637dc0d1d01461033e578063842fc1a31461035c5780638456cb591461037857806388363bf6146103965780638da5cb5b146103b257610173565b80635e80536a116101305780635e80536a1461024c57806360c0e64d1461027e57806361daf671146102ae578063715018a6146102de5780637159a7d8146102e85780637adbf9731461030457610173565b8063017e7e58146101785780631a33ad10146101965780631f7d0b95146101c657806323cf3118146101e4578063338b5dea146102005780633b4ef2231461021c575b600080fd5b610180610484565b60405161018d91906122a0565b60405180910390f35b6101b060048036038101906101ab9190611e84565b6104aa565b6040516101bd919061245a565b60405180910390f35b6101ce6104ca565b6040516101db91906122a0565b60405180910390f35b6101fe60048036038101906101f99190611e84565b6104f0565b005b61021a60048036038101906102159190611ee9565b6105b0565b005b61023660048036038101906102319190611f25565b610945565b604051610243919061245a565b60405180910390f35b61026660048036038101906102619190611ead565b610965565b604051610275939291906125eb565b60405180910390f35b61029860048036038101906102939190611e84565b61099c565b6040516102a591906125d0565b60405180910390f35b6102c860048036038101906102c39190611e84565b6109b4565b6040516102d591906125d0565b60405180910390f35b6102e66109cc565b005b61030260048036038101906102fd9190611f4e565b610a54565b005b61031e60048036038101906103199190611e84565b610f0c565b005b610328610fcc565b60405161033591906122a0565b60405180910390f35b610346610ff2565b60405161035391906122a0565b60405180910390f35b61037660048036038101906103719190611e84565b611018565b005b6103806114a1565b60405161038d919061245a565b60405180910390f35b6103b060048036038101906103ab9190611e84565b6114b4565b005b6103ba6115c5565b6040516103c791906122a0565b60405180910390f35b6103d86115ee565b6040516103e59190612475565b60405180910390f35b61040860048036038101906104039190611ee9565b6115f4565b005b610424600480360381019061041f9190611e84565b611710565b005b61042e6117d0565b005b61044a60048036038101906104459190611e84565b611878565b005b61046660048036038101906104619190611e84565b611ae9565b005b610482600480360381019061047d9190611e84565b611be1565b005b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60066020528060005260406000206000915054906101000a900460ff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6104f8611ca9565b73ffffffffffffffffffffffffffffffffffffffff166105166115c5565b73ffffffffffffffffffffffffffffffffffffffff161461056c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056390612590565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b81600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661063d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610634906125b0565b60405180910390fd5b600060149054906101000a900460ff161561068d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068490612530565b60405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482101561070f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610706906124b0565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156107f957600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166379cc679033846040518363ffffffff1660e01b81526004016107c29291906122f2565b600060405180830381600087803b1580156107dc57600080fd5b505af11580156107f0573d6000803e3d6000fd5b505050506108fe565b8273ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b8152600401610836939291906122bb565b600060405180830381600087803b15801561085057600080fd5b505af1158015610864573d6000803e3d6000fd5b505050506108ba82600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cb190919063ffffffff16565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b7f4ed81db4e37c239aa6d8ee19ab496ba15ac1ee0c3e69b20257f79c703f3f22f2833384600154603760405161093895949392919061231b565b60405180910390a1505050565b60096020528060005260406000206000915054906101000a900460ff1681565b600a602052816000526040600020602052806000526040600020600091509150508060000154908060010154908060020154905083565b60086020528060005260406000206000915090505481565b60076020528060005260406000206000915090505481565b6109d4611ca9565b73ffffffffffffffffffffffffffffffffffffffff166109f26115c5565b73ffffffffffffffffffffffffffffffffffffffff1614610a48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3f90612590565b60405180910390fd5b610a526000611d01565b565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ae4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610adb90612570565b60405180910390fd5b806000016020810190610af79190611e84565b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610b83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7a906125b0565b60405180910390fd5b600060149054906101000a900460ff1615610bd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bca90612530565b60405180910390fd5b81608001356009600082815260200190815260200160002060009054906101000a900460ff1615610c39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3090612510565b60405180910390fd5b6000600a6000856000016020810190610c529190611e84565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856020016020810190610ca19190611e84565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050610cf884604001358260000154611cb190919063ffffffff16565b8160000181905550610d1b84606001358260010154611cb190919063ffffffff16565b8160010181905550836000016020810190610d369190611e84565b73ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e5e57610e088460600135610dfa866040013560086000896000016020810190610db19190611e84565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dc590919063ffffffff16565b611dc590919063ffffffff16565b60086000866000016020810190610e1f9190611e84565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600960008660800135815260200190815260200160002060006101000a81548160ff0219169083151502179055507fd47aa3d159e258fb26e213c30e840b9976ccfd3c6896f81469b5ae5a9d249088846000016020810190610ec29190611e84565b856020016020810190610ed59190611e84565b338760400135886060013560376001548b60800135604051610efe9897969594939291906123b3565b60405180910390a150505050565b610f14611ca9565b73ffffffffffffffffffffffffffffffffffffffff16610f326115c5565b73ffffffffffffffffffffffffffffffffffffffff1614610f88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7f90612590565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b80600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166110a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109c906125b0565b60405180910390fd5b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600081600001541161116c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116390612550565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561130f57600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f193383600001546040518363ffffffff1660e01b81526004016112239291906122f2565b600060405180830381600087803b15801561123d57600080fd5b505af1158015611251573d6000803e3d6000fd5b50505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683600101546040518363ffffffff1660e01b81526004016112d8929190612431565b600060405180830381600087803b1580156112f257600080fd5b505af1158015611306573d6000803e3d6000fd5b50505050611414565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb3383600001546040518363ffffffff1660e01b815260040161134e9291906122f2565b600060405180830381600087803b15801561136857600080fd5b505af115801561137c573d6000803e3d6000fd5b505050508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683600101546040518363ffffffff1660e01b81526004016113e1929190612431565b600060405180830381600087803b1580156113fb57600080fd5b505af115801561140f573d6000803e3d6000fd5b505050505b61142f81600001548260020154611cb190919063ffffffff16565b816002018190555060008160000154905060008260010154905060008360000181905550600083600101819055507f3f693fff038bb8a046aa76d9516190ac7444f7d69cf952c4cbdc086fdef2d6fc85338484604051611492949392919061236e565b60405180910390a15050505050565b600060149054906101000a900460ff1681565b6114bc611ca9565b73ffffffffffffffffffffffffffffffffffffffff166114da6115c5565b73ffffffffffffffffffffffffffffffffffffffff1614611530576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152790612590565b60405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff0219169055600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60015481565b6115fc611ca9565b73ffffffffffffffffffffffffffffffffffffffff1661161a6115c5565b73ffffffffffffffffffffffffffffffffffffffff1614611670576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166790612590565b60405180910390fd5b6001600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b611718611ca9565b73ffffffffffffffffffffffffffffffffffffffff166117366115c5565b73ffffffffffffffffffffffffffffffffffffffff161461178c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178390612590565b60405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6117d8611ca9565b73ffffffffffffffffffffffffffffffffffffffff166117f66115c5565b73ffffffffffffffffffffffffffffffffffffffff161461184c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184390612590565b60405180910390fd5b600060149054906101000a900460ff1615600060146101000a81548160ff021916908315150217905550565b611880611ca9565b73ffffffffffffffffffffffffffffffffffffffff1661189e6115c5565b73ffffffffffffffffffffffffffffffffffffffff16146118f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118eb90612590565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161192f91906122a0565b60206040518083038186803b15801561194757600080fd5b505afa15801561195b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061197f9190611f77565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016119de929190612431565b600060405180830381600087803b1580156119f857600080fd5b505af1158015611a0c573d6000803e3d6000fd5b50505050600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff0219169055600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009055600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600090555050565b611af1611ca9565b73ffffffffffffffffffffffffffffffffffffffff16611b0f6115c5565b73ffffffffffffffffffffffffffffffffffffffff1614611b65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5c90612590565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bcc906124d0565b60405180910390fd5b611bde81611d01565b50565b611be9611ca9565b73ffffffffffffffffffffffffffffffffffffffff16611c076115c5565b73ffffffffffffffffffffffffffffffffffffffff1614611c5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5490612590565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600046905090565b600033905090565b6000828284019150811015611cfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf2906124f0565b60405180910390fd5b92915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000828284039150811115611e0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0690612490565b60405180910390fd5b92915050565b600081359050611e24816126c5565b92915050565b600081359050611e39816126dc565b92915050565b600060a08284031215611e5157600080fd5b81905092915050565b600081359050611e69816126f3565b92915050565b600081519050611e7e816126f3565b92915050565b600060208284031215611e9657600080fd5b6000611ea484828501611e15565b91505092915050565b60008060408385031215611ec057600080fd5b6000611ece85828601611e15565b9250506020611edf85828601611e15565b9150509250929050565b60008060408385031215611efc57600080fd5b6000611f0a85828601611e15565b9250506020611f1b85828601611e5a565b9150509250929050565b600060208284031215611f3757600080fd5b6000611f4584828501611e2a565b91505092915050565b600060a08284031215611f6057600080fd5b6000611f6e84828501611e3f565b91505092915050565b600060208284031215611f8957600080fd5b6000611f9784828501611e6f565b91505092915050565b611fa98161268f565b82525050565b611fb881612633565b82525050565b611fc781612645565b82525050565b611fd681612651565b82525050565b611fe58161265b565b82525050565b6000611ff8601583612622565b91507f64732d6d6174682d7375622d756e646572666c6f7700000000000000000000006000830152602082019050919050565b6000612038601e83612622565b91507f5a79784272696467653a20616d6f756e7420697320746f6f20736d616c6c00006000830152602082019050919050565b6000612078602683612622565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006120de601483612622565b91507f64732d6d6174682d6164642d6f766572666c6f770000000000000000000000006000830152602082019050919050565b600061211e601a83612622565b91507f5a79784272696467653a204475706c69636174656420686173680000000000006000830152602082019050919050565b600061215e601083612622565b91507f5061757361626c653a20706175736564000000000000000000000000000000006000830152602082019050919050565b600061219e601e83612622565b91507f5a79784272696467653a206e6f7468696e6720746f20776974686472617700006000830152602082019050919050565b60006121de601583612622565b91507f5a79784272696467653a204e6f74206f7261636c6500000000000000000000006000830152602082019050919050565b600061221e602083612622565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b600061225e601e83612622565b91507f5a79784272696467653a204e6f7420737570706f7274656420746f6b656e00006000830152602082019050919050565b61229a81612685565b82525050565b60006020820190506122b56000830184611faf565b92915050565b60006060820190506122d06000830186611fa0565b6122dd6020830185611faf565b6122ea6040830184612291565b949350505050565b60006040820190506123076000830185611fa0565b6123146020830184612291565b9392505050565b600060a0820190506123306000830188611faf565b61233d6020830187611fa0565b61234a6040830186612291565b6123576060830185611fdc565b6123646080830184611fdc565b9695505050505050565b60006080820190506123836000830187611faf565b6123906020830186611fa0565b61239d6040830185612291565b6123aa6060830184612291565b95945050505050565b6000610100820190506123c9600083018b611faf565b6123d6602083018a611faf565b6123e36040830189611fa0565b6123f06060830188612291565b6123fd6080830187612291565b61240a60a0830186611fdc565b61241760c0830185611fdc565b61242460e0830184611fcd565b9998505050505050505050565b60006040820190506124466000830185611faf565b6124536020830184612291565b9392505050565b600060208201905061246f6000830184611fbe565b92915050565b600060208201905061248a6000830184611fdc565b92915050565b600060208201905081810360008301526124a981611feb565b9050919050565b600060208201905081810360008301526124c98161202b565b9050919050565b600060208201905081810360008301526124e98161206b565b9050919050565b60006020820190508181036000830152612509816120d1565b9050919050565b6000602082019050818103600083015261252981612111565b9050919050565b6000602082019050818103600083015261254981612151565b9050919050565b6000602082019050818103600083015261256981612191565b9050919050565b60006020820190508181036000830152612589816121d1565b9050919050565b600060208201905081810360008301526125a981612211565b9050919050565b600060208201905081810360008301526125c981612251565b9050919050565b60006020820190506125e56000830184612291565b92915050565b60006060820190506126006000830186612291565b61260d6020830185612291565b61261a6040830184612291565b949350505050565b600082825260208201905092915050565b600061263e82612665565b9050919050565b60008115159050919050565b6000819050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061269a826126a1565b9050919050565b60006126ac826126b3565b9050919050565b60006126be82612665565b9050919050565b6126ce81612633565b81146126d957600080fd5b50565b6126e581612651565b81146126f057600080fd5b50565b6126fc81612685565b811461270757600080fd5b5056fea2646970667358221220f6be68a6443073ae01f181bec3aa9aff19ef6ab246e6718483ad94834dd1612d64736f6c634300060c00330000000000000000000000001205d5e353a80831b5e97e54f8c1c0d4afb27037000000000000000000000000dc540d5d2b6ca8fe0cfe8e975c944e0b4a9dab87000000000000000000000000207671d940765baf292ad5e3ef0df6fdc7e5d7de

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101735760003560e01c80637cd07e47116100de5780639a8a059211610097578063c4ae316811610071578063c4ae316814610426578063ce5494bb14610430578063f2fde38b1461044c578063f46901ed1461046857610173565b80639a8a0592146103d0578063b4014879146103ee578063b65ec5751461040a57610173565b80637cd07e47146103205780637dc0d1d01461033e578063842fc1a31461035c5780638456cb591461037857806388363bf6146103965780638da5cb5b146103b257610173565b80635e80536a116101305780635e80536a1461024c57806360c0e64d1461027e57806361daf671146102ae578063715018a6146102de5780637159a7d8146102e85780637adbf9731461030457610173565b8063017e7e58146101785780631a33ad10146101965780631f7d0b95146101c657806323cf3118146101e4578063338b5dea146102005780633b4ef2231461021c575b600080fd5b610180610484565b60405161018d91906122a0565b60405180910390f35b6101b060048036038101906101ab9190611e84565b6104aa565b6040516101bd919061245a565b60405180910390f35b6101ce6104ca565b6040516101db91906122a0565b60405180910390f35b6101fe60048036038101906101f99190611e84565b6104f0565b005b61021a60048036038101906102159190611ee9565b6105b0565b005b61023660048036038101906102319190611f25565b610945565b604051610243919061245a565b60405180910390f35b61026660048036038101906102619190611ead565b610965565b604051610275939291906125eb565b60405180910390f35b61029860048036038101906102939190611e84565b61099c565b6040516102a591906125d0565b60405180910390f35b6102c860048036038101906102c39190611e84565b6109b4565b6040516102d591906125d0565b60405180910390f35b6102e66109cc565b005b61030260048036038101906102fd9190611f4e565b610a54565b005b61031e60048036038101906103199190611e84565b610f0c565b005b610328610fcc565b60405161033591906122a0565b60405180910390f35b610346610ff2565b60405161035391906122a0565b60405180910390f35b61037660048036038101906103719190611e84565b611018565b005b6103806114a1565b60405161038d919061245a565b60405180910390f35b6103b060048036038101906103ab9190611e84565b6114b4565b005b6103ba6115c5565b6040516103c791906122a0565b60405180910390f35b6103d86115ee565b6040516103e59190612475565b60405180910390f35b61040860048036038101906104039190611ee9565b6115f4565b005b610424600480360381019061041f9190611e84565b611710565b005b61042e6117d0565b005b61044a60048036038101906104459190611e84565b611878565b005b61046660048036038101906104619190611e84565b611ae9565b005b610482600480360381019061047d9190611e84565b611be1565b005b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60066020528060005260406000206000915054906101000a900460ff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6104f8611ca9565b73ffffffffffffffffffffffffffffffffffffffff166105166115c5565b73ffffffffffffffffffffffffffffffffffffffff161461056c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056390612590565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b81600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661063d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610634906125b0565b60405180910390fd5b600060149054906101000a900460ff161561068d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068490612530565b60405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482101561070f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610706906124b0565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156107f957600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166379cc679033846040518363ffffffff1660e01b81526004016107c29291906122f2565b600060405180830381600087803b1580156107dc57600080fd5b505af11580156107f0573d6000803e3d6000fd5b505050506108fe565b8273ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b8152600401610836939291906122bb565b600060405180830381600087803b15801561085057600080fd5b505af1158015610864573d6000803e3d6000fd5b505050506108ba82600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cb190919063ffffffff16565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b7f4ed81db4e37c239aa6d8ee19ab496ba15ac1ee0c3e69b20257f79c703f3f22f2833384600154603760405161093895949392919061231b565b60405180910390a1505050565b60096020528060005260406000206000915054906101000a900460ff1681565b600a602052816000526040600020602052806000526040600020600091509150508060000154908060010154908060020154905083565b60086020528060005260406000206000915090505481565b60076020528060005260406000206000915090505481565b6109d4611ca9565b73ffffffffffffffffffffffffffffffffffffffff166109f26115c5565b73ffffffffffffffffffffffffffffffffffffffff1614610a48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3f90612590565b60405180910390fd5b610a526000611d01565b565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ae4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610adb90612570565b60405180910390fd5b806000016020810190610af79190611e84565b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610b83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7a906125b0565b60405180910390fd5b600060149054906101000a900460ff1615610bd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bca90612530565b60405180910390fd5b81608001356009600082815260200190815260200160002060009054906101000a900460ff1615610c39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3090612510565b60405180910390fd5b6000600a6000856000016020810190610c529190611e84565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856020016020810190610ca19190611e84565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050610cf884604001358260000154611cb190919063ffffffff16565b8160000181905550610d1b84606001358260010154611cb190919063ffffffff16565b8160010181905550836000016020810190610d369190611e84565b73ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e5e57610e088460600135610dfa866040013560086000896000016020810190610db19190611e84565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dc590919063ffffffff16565b611dc590919063ffffffff16565b60086000866000016020810190610e1f9190611e84565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600960008660800135815260200190815260200160002060006101000a81548160ff0219169083151502179055507fd47aa3d159e258fb26e213c30e840b9976ccfd3c6896f81469b5ae5a9d249088846000016020810190610ec29190611e84565b856020016020810190610ed59190611e84565b338760400135886060013560376001548b60800135604051610efe9897969594939291906123b3565b60405180910390a150505050565b610f14611ca9565b73ffffffffffffffffffffffffffffffffffffffff16610f326115c5565b73ffffffffffffffffffffffffffffffffffffffff1614610f88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7f90612590565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b80600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166110a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109c906125b0565b60405180910390fd5b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600081600001541161116c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116390612550565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561130f57600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f193383600001546040518363ffffffff1660e01b81526004016112239291906122f2565b600060405180830381600087803b15801561123d57600080fd5b505af1158015611251573d6000803e3d6000fd5b50505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683600101546040518363ffffffff1660e01b81526004016112d8929190612431565b600060405180830381600087803b1580156112f257600080fd5b505af1158015611306573d6000803e3d6000fd5b50505050611414565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb3383600001546040518363ffffffff1660e01b815260040161134e9291906122f2565b600060405180830381600087803b15801561136857600080fd5b505af115801561137c573d6000803e3d6000fd5b505050508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683600101546040518363ffffffff1660e01b81526004016113e1929190612431565b600060405180830381600087803b1580156113fb57600080fd5b505af115801561140f573d6000803e3d6000fd5b505050505b61142f81600001548260020154611cb190919063ffffffff16565b816002018190555060008160000154905060008260010154905060008360000181905550600083600101819055507f3f693fff038bb8a046aa76d9516190ac7444f7d69cf952c4cbdc086fdef2d6fc85338484604051611492949392919061236e565b60405180910390a15050505050565b600060149054906101000a900460ff1681565b6114bc611ca9565b73ffffffffffffffffffffffffffffffffffffffff166114da6115c5565b73ffffffffffffffffffffffffffffffffffffffff1614611530576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152790612590565b60405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff0219169055600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60015481565b6115fc611ca9565b73ffffffffffffffffffffffffffffffffffffffff1661161a6115c5565b73ffffffffffffffffffffffffffffffffffffffff1614611670576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166790612590565b60405180910390fd5b6001600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b611718611ca9565b73ffffffffffffffffffffffffffffffffffffffff166117366115c5565b73ffffffffffffffffffffffffffffffffffffffff161461178c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178390612590565b60405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6117d8611ca9565b73ffffffffffffffffffffffffffffffffffffffff166117f66115c5565b73ffffffffffffffffffffffffffffffffffffffff161461184c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184390612590565b60405180910390fd5b600060149054906101000a900460ff1615600060146101000a81548160ff021916908315150217905550565b611880611ca9565b73ffffffffffffffffffffffffffffffffffffffff1661189e6115c5565b73ffffffffffffffffffffffffffffffffffffffff16146118f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118eb90612590565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161192f91906122a0565b60206040518083038186803b15801561194757600080fd5b505afa15801561195b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061197f9190611f77565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016119de929190612431565b600060405180830381600087803b1580156119f857600080fd5b505af1158015611a0c573d6000803e3d6000fd5b50505050600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff0219169055600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009055600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600090555050565b611af1611ca9565b73ffffffffffffffffffffffffffffffffffffffff16611b0f6115c5565b73ffffffffffffffffffffffffffffffffffffffff1614611b65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5c90612590565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bcc906124d0565b60405180910390fd5b611bde81611d01565b50565b611be9611ca9565b73ffffffffffffffffffffffffffffffffffffffff16611c076115c5565b73ffffffffffffffffffffffffffffffffffffffff1614611c5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5490612590565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600046905090565b600033905090565b6000828284019150811015611cfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf2906124f0565b60405180910390fd5b92915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000828284039150811115611e0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0690612490565b60405180910390fd5b92915050565b600081359050611e24816126c5565b92915050565b600081359050611e39816126dc565b92915050565b600060a08284031215611e5157600080fd5b81905092915050565b600081359050611e69816126f3565b92915050565b600081519050611e7e816126f3565b92915050565b600060208284031215611e9657600080fd5b6000611ea484828501611e15565b91505092915050565b60008060408385031215611ec057600080fd5b6000611ece85828601611e15565b9250506020611edf85828601611e15565b9150509250929050565b60008060408385031215611efc57600080fd5b6000611f0a85828601611e15565b9250506020611f1b85828601611e5a565b9150509250929050565b600060208284031215611f3757600080fd5b6000611f4584828501611e2a565b91505092915050565b600060a08284031215611f6057600080fd5b6000611f6e84828501611e3f565b91505092915050565b600060208284031215611f8957600080fd5b6000611f9784828501611e6f565b91505092915050565b611fa98161268f565b82525050565b611fb881612633565b82525050565b611fc781612645565b82525050565b611fd681612651565b82525050565b611fe58161265b565b82525050565b6000611ff8601583612622565b91507f64732d6d6174682d7375622d756e646572666c6f7700000000000000000000006000830152602082019050919050565b6000612038601e83612622565b91507f5a79784272696467653a20616d6f756e7420697320746f6f20736d616c6c00006000830152602082019050919050565b6000612078602683612622565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006120de601483612622565b91507f64732d6d6174682d6164642d6f766572666c6f770000000000000000000000006000830152602082019050919050565b600061211e601a83612622565b91507f5a79784272696467653a204475706c69636174656420686173680000000000006000830152602082019050919050565b600061215e601083612622565b91507f5061757361626c653a20706175736564000000000000000000000000000000006000830152602082019050919050565b600061219e601e83612622565b91507f5a79784272696467653a206e6f7468696e6720746f20776974686472617700006000830152602082019050919050565b60006121de601583612622565b91507f5a79784272696467653a204e6f74206f7261636c6500000000000000000000006000830152602082019050919050565b600061221e602083612622565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b600061225e601e83612622565b91507f5a79784272696467653a204e6f7420737570706f7274656420746f6b656e00006000830152602082019050919050565b61229a81612685565b82525050565b60006020820190506122b56000830184611faf565b92915050565b60006060820190506122d06000830186611fa0565b6122dd6020830185611faf565b6122ea6040830184612291565b949350505050565b60006040820190506123076000830185611fa0565b6123146020830184612291565b9392505050565b600060a0820190506123306000830188611faf565b61233d6020830187611fa0565b61234a6040830186612291565b6123576060830185611fdc565b6123646080830184611fdc565b9695505050505050565b60006080820190506123836000830187611faf565b6123906020830186611fa0565b61239d6040830185612291565b6123aa6060830184612291565b95945050505050565b6000610100820190506123c9600083018b611faf565b6123d6602083018a611faf565b6123e36040830189611fa0565b6123f06060830188612291565b6123fd6080830187612291565b61240a60a0830186611fdc565b61241760c0830185611fdc565b61242460e0830184611fcd565b9998505050505050505050565b60006040820190506124466000830185611faf565b6124536020830184612291565b9392505050565b600060208201905061246f6000830184611fbe565b92915050565b600060208201905061248a6000830184611fdc565b92915050565b600060208201905081810360008301526124a981611feb565b9050919050565b600060208201905081810360008301526124c98161202b565b9050919050565b600060208201905081810360008301526124e98161206b565b9050919050565b60006020820190508181036000830152612509816120d1565b9050919050565b6000602082019050818103600083015261252981612111565b9050919050565b6000602082019050818103600083015261254981612151565b9050919050565b6000602082019050818103600083015261256981612191565b9050919050565b60006020820190508181036000830152612589816121d1565b9050919050565b600060208201905081810360008301526125a981612211565b9050919050565b600060208201905081810360008301526125c981612251565b9050919050565b60006020820190506125e56000830184612291565b92915050565b60006060820190506126006000830186612291565b61260d6020830185612291565b61261a6040830184612291565b949350505050565b600082825260208201905092915050565b600061263e82612665565b9050919050565b60008115159050919050565b6000819050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061269a826126a1565b9050919050565b60006126ac826126b3565b9050919050565b60006126be82612665565b9050919050565b6126ce81612633565b81146126d957600080fd5b50565b6126e581612651565b81146126f057600080fd5b50565b6126fc81612685565b811461270757600080fd5b5056fea2646970667358221220f6be68a6443073ae01f181bec3aa9aff19ef6ab246e6718483ad94834dd1612d64736f6c634300060c0033

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

0000000000000000000000001205d5e353a80831b5e97e54f8c1c0d4afb27037000000000000000000000000dc540d5d2b6ca8fe0cfe8e975c944e0b4a9dab87000000000000000000000000207671d940765baf292ad5e3ef0df6fdc7e5d7de

-----Decoded View---------------
Arg [0] : _oracle (address): 0x1205d5e353A80831b5E97E54F8C1C0D4afb27037
Arg [1] : _wzyx (address): 0xDc540d5d2B6CA8fE0cfE8E975c944E0B4A9DAB87
Arg [2] : _feeTo (address): 0x207671D940765BaF292AD5e3EF0DF6fdc7e5d7DE

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000001205d5e353a80831b5e97e54f8c1c0d4afb27037
Arg [1] : 000000000000000000000000dc540d5d2b6ca8fe0cfe8e975c944e0b4a9dab87
Arg [2] : 000000000000000000000000207671d940765baf292ad5e3ef0df6fdc7e5d7de


Deployed Bytecode Sourcemap

7483:5034:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7885:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7944:53;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7859:19;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11910:96;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10909:528;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8117:45;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8169:57;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;8061:49;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8004:50;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6417:94;;;:::i;:::-;;9367:812;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11814:88;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7912:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7831:21;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10187:714;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7162:17;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11657:149;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5766:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7801:21;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11481:168;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12014:80;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7281:81;;;:::i;:::-;;12194:320;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6666:192;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12102:84;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7885:20;;;;;;;;;;;;;:::o;7944:53::-;;;;;;;;;;;;;;;;;;;;;;:::o;7859:19::-;;;;;;;;;;;;;:::o;11910:96::-;5997:12;:10;:12::i;:::-;5986:23;;:7;:5;:7::i;:::-;:23;;;5978:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11989:9:::1;11978:8;;:20;;;;;;;;;;;;;;;;;;11910:96:::0;:::o;10909:528::-;10984:5;8638:21;:28;8660:5;8638:28;;;;;;;;;;;;;;;;;;;;;;;;;8630:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;7227:5:::1;;;;;;;;;;;7226:6;7218:35;;;;;;;;;;;;:::i;:::-;;;;;;;;;11028:15:::2;:22;11044:5;11028:22;;;;;;;;;;;;;;;;11018:6;:32;;11010:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;11109:4;;;;;;;;;;;11100:13;;:5;:13;;;11096:252;;;11136:4;;;;;;;;;;;11130:20;;;11151:10;11163:6;11130:40;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;11096:252;;;11210:5;11203:26;;;11230:10;11250:4;11257:6;11203:61;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;11303:33;11329:6;11303:14;:21;11318:5;11303:21;;;;;;;;;;;;;;;;:25;;:33;;;;:::i;:::-;11279:14;:21;11294:5;11279:21;;;;;;;;;;;;;;;:57;;;;11096:252;11363:66;11374:5;11381:10;11393:6;11401:7;;414:2;11363:66;;;;;;;;;;:::i;:::-;;;;;;;;10909:528:::0;;;:::o;8117:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;8169:57::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8061:49::-;;;;;;;;;;;;;;;;;:::o;8004:50::-;;;;;;;;;;;;;;;;;:::o;6417:94::-;5997:12;:10;:12::i;:::-;5986:23;;:7;:5;:7::i;:::-;:23;;;5978:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6482:21:::1;6500:1;6482:9;:21::i;:::-;6417:94::o:0;9367:812::-;8520:6;;;;;;;;;;;8506:20;;:10;:20;;;8498:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;9454:8:::1;:14;;;;;;;;;;:::i;:::-;8638:21;:28;8660:5;8638:28;;;;;;;;;;;;;;;;;;;;;;;;;8630:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;7227:5:::2;;;;;;;;;;;7226:6;7218:35;;;;;;;;;;;;:::i;:::-;;;;;;;;;9504:8:::3;:13;;;8780;:19;8794:4;8780:19;;;;;;;;;;;;;;;;;;;;;8779:20;8771:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;9535:17:::4;9555:5;:21;9561:8;:14;;;;;;;;;;:::i;:::-;9555:21;;;;;;;;;;;;;;;:36;9577:8;:13;;;;;;;;;;:::i;:::-;9555:36;;;;;;;;;;;;;;;9535:56;;9616:32;9632:8;:15;;;9616:4;:11;;;:15;;:32;;;;:::i;:::-;9602:4;:11;;:46;;;;9670:26;9683:8;:12;;;9670:4;:8;;;:12;;:26;;;;:::i;:::-;9659:4;:8;;:37;;;;9721:8;:14;;;;;;;;;;:::i;:::-;9713:22;;:4;;;;;;;;;;;:22;;;9709:157;;9785:69;9841:8;:12;;;9785:51;9820:8;:15;;;9785:14;:30;9800:8;:14;;;;;;;;;;:::i;:::-;9785:30;;;;;;;;;;;;;;;;:34;;:51;;;;:::i;:::-;:55;;:69;;;;:::i;:::-;9752:14;:30;9767:8;:14;;;;;;;;;;:::i;:::-;9752:30;;;;;;;;;;;;;;;:102;;;;9709:157;9909:4;9878:13;:28;9892:8;:13;;;9878:28;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;9931:240;9953:8;:14;;;;;;;;;;:::i;:::-;9982:8;:13;;;;;;;;;;:::i;:::-;10010:10;10035:8;:15;;;10065:8;:12;;;414:2;10125:7;;10147:8;:13;;;9931:240;;;;;;;;;;;;;:::i;:::-;;;;;;;;8841:1;7264::::3;8563::::1;9367:812:::0;:::o;11814:88::-;5997:12;:10;:12::i;:::-;5986:23;;:7;:5;:7::i;:::-;:23;;;5978:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11887:7:::1;11878:6;;:16;;;;;;;;;;;;;;;;;;11814:88:::0;:::o;7912:23::-;;;;;;;;;;;;;:::o;7831:21::-;;;;;;;;;;;;;:::o;10187:714::-;10245:5;8638:21;:28;8660:5;8638:28;;;;;;;;;;;;;;;;;;;;;;;;;8630:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;10263:17:::1;10283:5;:12;10289:5;10283:12;;;;;;;;;;;;;;;:24;10296:10;10283:24;;;;;;;;;;;;;;;10263:44;;10340:1;10326:4;:11;;;:15;10318:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;10400:4;;;;;;;;;;;10391:13;;:5;:13;;;10387:269;;;10427:4;;;;;;;;;;;10421:16;;;10438:10;10450:4;:11;;;10421:41;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10483:4;;;;;;;;;;;10477:16;;;10494:5;;;;;;;;;;;10501:4;:8;;;10477:33;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10387:269;;;10550:5;10543:22;;;10566:10;10578:4;:11;;;10543:47;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10612:5;10605:22;;;10628:5;;;;;;;;;;;10635:4;:8;;;10605:39;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10387:269;10685:33;10706:4;:11;;;10685:4;:16;;;:20;;:33;;;;:::i;:::-;10666:4;:16;;:52;;;;10729:14;10746:4;:11;;;10729:28;;10768:11;10782:4;:8;;;10768:22;;10815:1;10801:4;:11;;:15;;;;10838:1;10827:4;:8;;:12;;;;10855:38;10862:5;10869:10;10881:6;10889:3;10855:38;;;;;;;;;:::i;:::-;;;;;;;;8712:1;;;10187:714:::0;;:::o;7162:17::-;;;;;;;;;;;;;:::o;11657:149::-;5997:12;:10;:12::i;:::-;5986:23;;:7;:5;:7::i;:::-;:23;;;5978:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11728:21:::1;:29;11750:6;11728:29;;;;;;;;;;;;;;;;11721:36;;;;;;;;;;;11775:15;:23;11791:6;11775:23;;;;;;;;;;;;;;;11768:30;;;11657:149:::0;:::o;5766:87::-;5812:7;5839:6;;;;;;;;;;;5832:13;;5766:87;:::o;7801:21::-;;;;:::o;11481:168::-;5997:12;:10;:12::i;:::-;5986:23;;:7;:5;:7::i;:::-;:23;;;5978:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11592:4:::1;11560:21;:29;11582:6;11560:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;11633:8;11607:15;:23;11623:6;11607:23;;;;;;;;;;;;;;;:34;;;;11481:168:::0;;:::o;12014:80::-;5997:12;:10;:12::i;:::-;5986:23;;:7;:5;:7::i;:::-;:23;;;5978:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12081:5:::1;12074:4;;:12;;;;;;;;;;;;;;;;;;12014:80:::0;:::o;7281:81::-;5997:12;:10;:12::i;:::-;5986:23;;:7;:5;:7::i;:::-;:23;;;5978:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7349:5:::1;;;;;;;;;;;7348:6;7340:5;;:14;;;;;;;;;;;;;;;;;;7281:81::o:0;12194:320::-;5997:12;:10;:12::i;:::-;5986:23;;:7;:5;:7::i;:::-;:23;;;5978:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12255:22:::1;12287:6;12280:24;;;12313:4;12280:39;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12255:64;;12337:6;12330:23;;;12354:8;;;;;;;;;;;12363:14;12330:48;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12396:21;:29;12418:6;12396:29;;;;;;;;;;;;;;;;12389:36;;;;;;;;;;;12443:15;:23;12459:6;12443:23;;;;;;;;;;;;;;;12436:30;;;12484:14;:22;12499:6;12484:22;;;;;;;;;;;;;;;12477:29;;;6057:1;12194:320:::0;:::o;6666:192::-;5997:12;:10;:12::i;:::-;5986:23;;:7;:5;:7::i;:::-;:23;;;5978:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6775:1:::1;6755:22;;:8;:22;;;;6747:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;6831:19;6841:8;6831:9;:19::i;:::-;6666:192:::0;:::o;12102:84::-;5997:12;:10;:12::i;:::-;5986:23;;:7;:5;:7::i;:::-;:23;;;5978:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12172:6:::1;12164:5;;:14;;;;;;;;;;;;;;;;;;12102:84:::0;:::o;427:134::-;472:14;534:9;523:20;;508:46;:::o;4566:98::-;4619:7;4646:10;4639:17;;4566:98;:::o;766:128::-;818:6;860:1;854;850;:5;846:9;;;845:16;;837:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;766:128;;;;:::o;6866:173::-;6922:16;6941:6;;;;;;;;;;;6922:25;;6967:8;6958:6;;:17;;;;;;;;;;;;;;;;;;7022:8;6991:40;;7012:8;6991:40;;;;;;;;;;;;6866:173;;:::o;902:129::-;954:6;996:1;990;986;:5;982:9;;;981:16;;973:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;902:129;;;;:::o;5:130:-1:-;;85:6;72:20;63:29;;97:33;124:5;97:33;:::i;:::-;57:78;;;;:::o;142:130::-;;222:6;209:20;200:29;;234:33;261:5;234:33;:::i;:::-;194:78;;;;:::o;310:155::-;;417:3;408:6;403:3;399:16;395:26;392:2;;;434:1;431;424:12;392:2;453:6;444:15;;385:80;;;;:::o;472:130::-;;552:6;539:20;530:29;;564:33;591:5;564:33;:::i;:::-;524:78;;;;:::o;609:134::-;;693:6;687:13;678:22;;705:33;732:5;705:33;:::i;:::-;672:71;;;;:::o;750:241::-;;854:2;842:9;833:7;829:23;825:32;822:2;;;870:1;867;860:12;822:2;905:1;922:53;967:7;958:6;947:9;943:22;922:53;:::i;:::-;912:63;;884:97;816:175;;;;:::o;998:366::-;;;1119:2;1107:9;1098:7;1094:23;1090:32;1087:2;;;1135:1;1132;1125:12;1087:2;1170:1;1187:53;1232:7;1223:6;1212:9;1208:22;1187:53;:::i;:::-;1177:63;;1149:97;1277:2;1295:53;1340:7;1331:6;1320:9;1316:22;1295:53;:::i;:::-;1285:63;;1256:98;1081:283;;;;;:::o;1371:366::-;;;1492:2;1480:9;1471:7;1467:23;1463:32;1460:2;;;1508:1;1505;1498:12;1460:2;1543:1;1560:53;1605:7;1596:6;1585:9;1581:22;1560:53;:::i;:::-;1550:63;;1522:97;1650:2;1668:53;1713:7;1704:6;1693:9;1689:22;1668:53;:::i;:::-;1658:63;;1629:98;1454:283;;;;;:::o;1744:241::-;;1848:2;1836:9;1827:7;1823:23;1819:32;1816:2;;;1864:1;1861;1854:12;1816:2;1899:1;1916:53;1961:7;1952:6;1941:9;1937:22;1916:53;:::i;:::-;1906:63;;1878:97;1810:175;;;;:::o;1992:288::-;;2119:3;2107:9;2098:7;2094:23;2090:33;2087:2;;;2136:1;2133;2126:12;2087:2;2171:1;2188:76;2256:7;2247:6;2236:9;2232:22;2188:76;:::i;:::-;2178:86;;2150:120;2081:199;;;;:::o;2287:263::-;;2402:2;2390:9;2381:7;2377:23;2373:32;2370:2;;;2418:1;2415;2408:12;2370:2;2453:1;2470:64;2526:7;2517:6;2506:9;2502:22;2470:64;:::i;:::-;2460:74;;2432:108;2364:186;;;;:::o;2557:142::-;2648:45;2687:5;2648:45;:::i;:::-;2643:3;2636:58;2630:69;;:::o;2706:113::-;2789:24;2807:5;2789:24;:::i;:::-;2784:3;2777:37;2771:48;;:::o;2826:104::-;2903:21;2918:5;2903:21;:::i;:::-;2898:3;2891:34;2885:45;;:::o;2937:113::-;3020:24;3038:5;3020:24;:::i;:::-;3015:3;3008:37;3002:48;;:::o;3057:110::-;3138:23;3155:5;3138:23;:::i;:::-;3133:3;3126:36;3120:47;;:::o;3175:321::-;;3335:67;3399:2;3394:3;3335:67;:::i;:::-;3328:74;;3435:23;3431:1;3426:3;3422:11;3415:44;3487:2;3482:3;3478:12;3471:19;;3321:175;;;:::o;3505:330::-;;3665:67;3729:2;3724:3;3665:67;:::i;:::-;3658:74;;3765:32;3761:1;3756:3;3752:11;3745:53;3826:2;3821:3;3817:12;3810:19;;3651:184;;;:::o;3844:375::-;;4004:67;4068:2;4063:3;4004:67;:::i;:::-;3997:74;;4104:34;4100:1;4095:3;4091:11;4084:55;4173:8;4168:2;4163:3;4159:12;4152:30;4210:2;4205:3;4201:12;4194:19;;3990:229;;;:::o;4228:320::-;;4388:67;4452:2;4447:3;4388:67;:::i;:::-;4381:74;;4488:22;4484:1;4479:3;4475:11;4468:43;4539:2;4534:3;4530:12;4523:19;;4374:174;;;:::o;4557:326::-;;4717:67;4781:2;4776:3;4717:67;:::i;:::-;4710:74;;4817:28;4813:1;4808:3;4804:11;4797:49;4874:2;4869:3;4865:12;4858:19;;4703:180;;;:::o;4892:316::-;;5052:67;5116:2;5111:3;5052:67;:::i;:::-;5045:74;;5152:18;5148:1;5143:3;5139:11;5132:39;5199:2;5194:3;5190:12;5183:19;;5038:170;;;:::o;5217:330::-;;5377:67;5441:2;5436:3;5377:67;:::i;:::-;5370:74;;5477:32;5473:1;5468:3;5464:11;5457:53;5538:2;5533:3;5529:12;5522:19;;5363:184;;;:::o;5556:321::-;;5716:67;5780:2;5775:3;5716:67;:::i;:::-;5709:74;;5816:23;5812:1;5807:3;5803:11;5796:44;5868:2;5863:3;5859:12;5852:19;;5702:175;;;:::o;5886:332::-;;6046:67;6110:2;6105:3;6046:67;:::i;:::-;6039:74;;6146:34;6142:1;6137:3;6133:11;6126:55;6209:2;6204:3;6200:12;6193:19;;6032:186;;;:::o;6227:330::-;;6387:67;6451:2;6446:3;6387:67;:::i;:::-;6380:74;;6487:32;6483:1;6478:3;6474:11;6467:53;6548:2;6543:3;6539:12;6532:19;;6373:184;;;:::o;6565:113::-;6648:24;6666:5;6648:24;:::i;:::-;6643:3;6636:37;6630:48;;:::o;6685:222::-;;6812:2;6801:9;6797:18;6789:26;;6826:71;6894:1;6883:9;6879:17;6870:6;6826:71;:::i;:::-;6783:124;;;;:::o;6914:460::-;;7105:2;7094:9;7090:18;7082:26;;7119:79;7195:1;7184:9;7180:17;7171:6;7119:79;:::i;:::-;7209:72;7277:2;7266:9;7262:18;7253:6;7209:72;:::i;:::-;7292;7360:2;7349:9;7345:18;7336:6;7292:72;:::i;:::-;7076:298;;;;;;:::o;7381:349::-;;7544:2;7533:9;7529:18;7521:26;;7558:79;7634:1;7623:9;7619:17;7610:6;7558:79;:::i;:::-;7648:72;7716:2;7705:9;7701:18;7692:6;7648:72;:::i;:::-;7515:215;;;;;:::o;7737:676::-;;7980:3;7969:9;7965:19;7957:27;;7995:71;8063:1;8052:9;8048:17;8039:6;7995:71;:::i;:::-;8077:80;8153:2;8142:9;8138:18;8129:6;8077:80;:::i;:::-;8168:72;8236:2;8225:9;8221:18;8212:6;8168:72;:::i;:::-;8251:70;8317:2;8306:9;8302:18;8293:6;8251:70;:::i;:::-;8332:71;8398:3;8387:9;8383:19;8374:6;8332:71;:::i;:::-;7951:462;;;;;;;;:::o;8420:572::-;;8639:3;8628:9;8624:19;8616:27;;8654:71;8722:1;8711:9;8707:17;8698:6;8654:71;:::i;:::-;8736:80;8812:2;8801:9;8797:18;8788:6;8736:80;:::i;:::-;8827:72;8895:2;8884:9;8880:18;8871:6;8827:72;:::i;:::-;8910;8978:2;8967:9;8963:18;8954:6;8910:72;:::i;:::-;8610:382;;;;;;;:::o;8999:1012::-;;9326:3;9315:9;9311:19;9303:27;;9341:71;9409:1;9398:9;9394:17;9385:6;9341:71;:::i;:::-;9423:72;9491:2;9480:9;9476:18;9467:6;9423:72;:::i;:::-;9506:80;9582:2;9571:9;9567:18;9558:6;9506:80;:::i;:::-;9597:72;9665:2;9654:9;9650:18;9641:6;9597:72;:::i;:::-;9680:73;9748:3;9737:9;9733:19;9724:6;9680:73;:::i;:::-;9764:71;9830:3;9819:9;9815:19;9806:6;9764:71;:::i;:::-;9846;9912:3;9901:9;9897:19;9888:6;9846:71;:::i;:::-;9928:73;9996:3;9985:9;9981:19;9972:6;9928:73;:::i;:::-;9297:714;;;;;;;;;;;:::o;10018:333::-;;10173:2;10162:9;10158:18;10150:26;;10187:71;10255:1;10244:9;10240:17;10231:6;10187:71;:::i;:::-;10269:72;10337:2;10326:9;10322:18;10313:6;10269:72;:::i;:::-;10144:207;;;;;:::o;10358:210::-;;10479:2;10468:9;10464:18;10456:26;;10493:65;10555:1;10544:9;10540:17;10531:6;10493:65;:::i;:::-;10450:118;;;;:::o;10575:218::-;;10700:2;10689:9;10685:18;10677:26;;10714:69;10780:1;10769:9;10765:17;10756:6;10714:69;:::i;:::-;10671:122;;;;:::o;10800:416::-;;11000:2;10989:9;10985:18;10977:26;;11050:9;11044:4;11040:20;11036:1;11025:9;11021:17;11014:47;11075:131;11201:4;11075:131;:::i;:::-;11067:139;;10971:245;;;:::o;11223:416::-;;11423:2;11412:9;11408:18;11400:26;;11473:9;11467:4;11463:20;11459:1;11448:9;11444:17;11437:47;11498:131;11624:4;11498:131;:::i;:::-;11490:139;;11394:245;;;:::o;11646:416::-;;11846:2;11835:9;11831:18;11823:26;;11896:9;11890:4;11886:20;11882:1;11871:9;11867:17;11860:47;11921:131;12047:4;11921:131;:::i;:::-;11913:139;;11817:245;;;:::o;12069:416::-;;12269:2;12258:9;12254:18;12246:26;;12319:9;12313:4;12309:20;12305:1;12294:9;12290:17;12283:47;12344:131;12470:4;12344:131;:::i;:::-;12336:139;;12240:245;;;:::o;12492:416::-;;12692:2;12681:9;12677:18;12669:26;;12742:9;12736:4;12732:20;12728:1;12717:9;12713:17;12706:47;12767:131;12893:4;12767:131;:::i;:::-;12759:139;;12663:245;;;:::o;12915:416::-;;13115:2;13104:9;13100:18;13092:26;;13165:9;13159:4;13155:20;13151:1;13140:9;13136:17;13129:47;13190:131;13316:4;13190:131;:::i;:::-;13182:139;;13086:245;;;:::o;13338:416::-;;13538:2;13527:9;13523:18;13515:26;;13588:9;13582:4;13578:20;13574:1;13563:9;13559:17;13552:47;13613:131;13739:4;13613:131;:::i;:::-;13605:139;;13509:245;;;:::o;13761:416::-;;13961:2;13950:9;13946:18;13938:26;;14011:9;14005:4;14001:20;13997:1;13986:9;13982:17;13975:47;14036:131;14162:4;14036:131;:::i;:::-;14028:139;;13932:245;;;:::o;14184:416::-;;14384:2;14373:9;14369:18;14361:26;;14434:9;14428:4;14424:20;14420:1;14409:9;14405:17;14398:47;14459:131;14585:4;14459:131;:::i;:::-;14451:139;;14355:245;;;:::o;14607:416::-;;14807:2;14796:9;14792:18;14784:26;;14857:9;14851:4;14847:20;14843:1;14832:9;14828:17;14821:47;14882:131;15008:4;14882:131;:::i;:::-;14874:139;;14778:245;;;:::o;15030:222::-;;15157:2;15146:9;15142:18;15134:26;;15171:71;15239:1;15228:9;15224:17;15215:6;15171:71;:::i;:::-;15128:124;;;;:::o;15259:444::-;;15442:2;15431:9;15427:18;15419:26;;15456:71;15524:1;15513:9;15509:17;15500:6;15456:71;:::i;:::-;15538:72;15606:2;15595:9;15591:18;15582:6;15538:72;:::i;:::-;15621;15689:2;15678:9;15674:18;15665:6;15621:72;:::i;:::-;15413:290;;;;;;:::o;15711:163::-;;15826:6;15821:3;15814:19;15863:4;15858:3;15854:14;15839:29;;15807:67;;;;:::o;15882:91::-;;15944:24;15962:5;15944:24;:::i;:::-;15933:35;;15927:46;;;:::o;15980:85::-;;16053:5;16046:13;16039:21;16028:32;;16022:43;;;:::o;16072:72::-;;16134:5;16123:16;;16117:27;;;:::o;16151:71::-;;16212:5;16201:16;;16195:27;;;:::o;16229:121::-;;16302:42;16295:5;16291:54;16280:65;;16274:76;;;:::o;16357:72::-;;16419:5;16408:16;;16402:27;;;:::o;16436:129::-;;16523:37;16554:5;16523:37;:::i;:::-;16510:50;;16504:61;;;:::o;16572:121::-;;16651:37;16682:5;16651:37;:::i;:::-;16638:50;;16632:61;;;:::o;16700:108::-;;16779:24;16797:5;16779:24;:::i;:::-;16766:37;;16760:48;;;:::o;16815:117::-;16884:24;16902:5;16884:24;:::i;:::-;16877:5;16874:35;16864:2;;16923:1;16920;16913:12;16864:2;16858:74;:::o;16939:117::-;17008:24;17026:5;17008:24;:::i;:::-;17001:5;16998:35;16988:2;;17047:1;17044;17037:12;16988:2;16982:74;:::o;17063:117::-;17132:24;17150:5;17132:24;:::i;:::-;17125:5;17122:35;17112:2;;17171:1;17168;17161:12;17112:2;17106:74;:::o

Swarm Source

ipfs://f6be68a6443073ae01f181bec3aa9aff19ef6ab246e6718483ad94834dd1612d

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.