ETH Price: $2,557.55 (+4.98%)

Contract

0x50410884462a075f27fD1C9030B955F2ABE798D7
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer143841542022-03-14 10:25:04921 days ago1647253504IN
yAI.Finance: aiUSDT Token
0 ETH0.0008872318.99504772
Withdraw117427932021-01-28 6:48:021331 days ago1611816482IN
yAI.Finance: aiUSDT Token
0 ETH0.0192806873
Withdraw117037662021-01-22 6:44:391337 days ago1611297879IN
yAI.Finance: aiUSDT Token
0 ETH0.0206768783
Withdraw All116696582021-01-17 1:12:151342 days ago1610845935IN
yAI.Finance: aiUSDT Token
0 ETH0.0137424655
Withdraw115683822021-01-01 12:23:201358 days ago1609503800IN
yAI.Finance: aiUSDT Token
0 ETH0.0134700651
Withdraw115664262021-01-01 5:00:021358 days ago1609477202IN
yAI.Finance: aiUSDT Token
0 ETH0.0112108945
Deposit115664092021-01-01 4:56:461358 days ago1609477006IN
yAI.Finance: aiUSDT Token
0 ETH0.0127047446
Withdraw115577842020-12-30 21:12:521359 days ago1609362772IN
yAI.Finance: aiUSDT Token
0 ETH0.0138267755.5
Withdraw115475372020-12-29 7:24:101361 days ago1609226650IN
yAI.Finance: aiUSDT Token
0 ETH0.0161927365
Transfer115475262020-12-29 7:21:151361 days ago1609226475IN
yAI.Finance: aiUSDT Token
0 ETH0.0027920977
Withdraw115413682020-12-28 8:38:581362 days ago1609144738IN
yAI.Finance: aiUSDT Token
0 ETH0.0153195958
Withdraw115227542020-12-25 12:18:331365 days ago1608898713IN
yAI.Finance: aiUSDT Token
0 ETH0.0190174372
Withdraw115192432020-12-24 23:18:421365 days ago1608851922IN
yAI.Finance: aiUSDT Token
0 ETH0.0077479731.1
Withdraw115179692020-12-24 18:37:381365 days ago1608835058IN
yAI.Finance: aiUSDT Token
0 ETH0.0105642840
Withdraw All114988922020-12-21 20:24:441368 days ago1608582284IN
yAI.Finance: aiUSDT Token
0 ETH0.0114936946
Withdraw All114935122020-12-21 0:31:581369 days ago1608510718IN
yAI.Finance: aiUSDT Token
0 ETH0.0178495876
Withdraw All114866322020-12-19 23:20:041370 days ago1608420004IN
yAI.Finance: aiUSDT Token
0 ETH0.0058715725
Withdraw All114846492020-12-19 15:57:241370 days ago1608393444IN
yAI.Finance: aiUSDT Token
0 ETH0.0124931550
Withdraw All114844282020-12-19 15:09:011370 days ago1608390541IN
yAI.Finance: aiUSDT Token
0 ETH0.0172405469
Withdraw All114843462020-12-19 14:51:211370 days ago1608389481IN
yAI.Finance: aiUSDT Token
0 ETH0.0169906868
Withdraw All114830672020-12-19 10:16:121371 days ago1608372972IN
yAI.Finance: aiUSDT Token
0 ETH0.0084953434
Withdraw All114830492020-12-19 10:13:571371 days ago1608372837IN
yAI.Finance: aiUSDT Token
0 ETH0.0084953434
Withdraw All114829112020-12-19 9:44:411371 days ago1608371081IN
yAI.Finance: aiUSDT Token
0 ETH0.006746327
Withdraw All114823992020-12-19 7:54:341371 days ago1608364474IN
yAI.Finance: aiUSDT Token
0 ETH0.0079956132
Withdraw All114813732020-12-19 4:00:181371 days ago1608350418IN
yAI.Finance: aiUSDT Token
0 ETH0.0242367197
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:
aiUSDT

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

pragma solidity ^0.5.16;

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

contract Context {
    constructor () internal { }
    // solhint-disable-previous-line no-empty-blocks

    function _msgSender() internal view returns (address payable) {
        return msg.sender;
    }

    function _msgData() internal view returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () internal {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }
    function owner() public view returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(isOwner(), "Ownable: caller is not the owner");
        _;
    }
    function isOwner() public view returns (bool) {
        return _msgSender() == _owner;
    }
    function renounceOwnership() public onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }
    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

contract ERC20 is Context, IERC20 {
    using SafeMath for uint256;

    mapping (address => uint256) private _balances;

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

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

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

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

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

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function _burnFrom(address account, uint256 amount) internal {
        _burn(account, amount);
        _approve(account, _msgSender(), _allowances[account][_msgSender()].sub(amount, "ERC20: burn amount exceeds allowance"));
    }
}

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

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

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

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

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

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

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

        return c;
    }
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

library Address {
    function isContract(address account) internal view returns (bool) {
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != 0x0 && codehash != accountHash);
    }
    function toPayable(address account) internal pure returns (address payable) {
        return address(uint160(account));
    }
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-call-value
        (bool success, ) = recipient.call.value(amount)("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
}

library SafeERC20 {
    using SafeMath for uint256;
    using Address for address;

    function safeTransfer(IERC20 token, address to, uint256 value) internal {
        callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));
    }

    function safeTransferFrom(IERC20 token, address from, address to, uint256 value) internal {
        callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));
    }

    function safeApprove(IERC20 token, address spender, uint256 value) internal {
        require((value == 0) || (token.allowance(address(this), spender) == 0),
            "SafeERC20: approve from non-zero to non-zero allowance"
        );
        callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));
    }

    function safeIncreaseAllowance(IERC20 token, address spender, uint256 value) internal {
        uint256 newAllowance = token.allowance(address(this), spender).add(value);
        callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
    }

    function safeDecreaseAllowance(IERC20 token, address spender, uint256 value) internal {
        uint256 newAllowance = token.allowance(address(this), spender).sub(value, "SafeERC20: decreased allowance below zero");
        callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
    }
    function callOptionalReturn(IERC20 token, bytes memory data) private {
        require(address(token).isContract(), "SafeERC20: call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = address(token).call(data);
        require(success, "SafeERC20: low-level call failed");

        if (returndata.length > 0) { // Return data is optional
            // solhint-disable-next-line max-line-length
            require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed");
        }
    }
}

interface Controller {
    function withdraw(address, uint) external;
    function balanceOf(address) external view returns (uint);
    function earn(address, uint) external;
}

contract aiUSDT is ERC20, ERC20Detailed {
    using SafeERC20 for IERC20;
    using Address for address;
    using SafeMath for uint256;
    
    IERC20 public token;
    address public rewardAddress = 0xcBF80D11237A8caeCb66E91d25d8e98F1Bd7d168; 
    uint public rewardAmount = 60200;
    uint public min = 9500; 
    uint public constant max = 10000;
    
    address public governance;
    address public controller;
    
    constructor (address _token, address _controller) public ERC20Detailed(
        string(abi.encodePacked("yAI ", ERC20Detailed(_token).name())),
        string(abi.encodePacked("ai", ERC20Detailed(_token).symbol())),
        ERC20Detailed(_token).decimals()
    ) {
        token = IERC20(_token);
        governance = msg.sender;
        controller = _controller;
    }
    
    function balance() public view returns (uint) {
        return token.balanceOf(address(this))
                .add(Controller(controller).balanceOf(address(token)));
    }
    
    function setMin(uint _min) external {
        require(msg.sender == governance, "!governance");
        min = _min;
    }
    
    function setRewardAmount(uint _amount) external {
        require(msg.sender == governance, "!governance");
        rewardAmount = _amount;
    }
    
    function setRewardAddress(address _address) external {
        require(msg.sender == governance, "!governance");
        rewardAddress = address(_address);
    }
    
    function setGovernance(address _governance) public {
        require(msg.sender == governance, "!governance");
        governance = _governance;
    }
    
    function setController(address _controller) public {
        require(msg.sender == governance, "!governance");
        controller = _controller;
    }
    
    // Custom logic in here for how much the vault allows to be borrowed
    // Sets minimum required on-hand to keep small withdrawals cheap
    function available() public view returns (uint) {
        return token.balanceOf(address(this)).mul(min).div(max);
    }
    
    function earn() public {
        uint _bal = available();
        token.safeTransfer(controller, _bal);
        Controller(controller).earn(address(token), _bal);
    }
    
    function depositAll() external {
        deposit(token.balanceOf(msg.sender));
    }
    
    function deposit(uint _amount) public {
        uint _pool = balance();
        uint _before = token.balanceOf(address(this));
        token.safeTransferFrom(msg.sender, address(this), _amount);
        uint _after = token.balanceOf(address(this));
        _amount = _after.sub(_before); // Additional check for deflationary tokens
        uint shares = 0;
        if (totalSupply() == 0) {
            shares = _amount;
        } else {
            shares = (_amount.mul(totalSupply())).div(_pool);
        }
        _mint(msg.sender, shares);
    }
    
    function withdrawAll() external {
        withdraw(balanceOf(msg.sender));
    }
    
    function checkReward(address _reciver) public view returns(uint256){
         uint256 _balance = balanceOf(_reciver);
         uint256 amount = (_balance.mul(rewardAmount)).div(totalSupply()).mul(10**18);
         return amount;
    }
    function checkRewardBalance() public view returns(uint256){
        uint256 _balance =  ERC20(rewardAddress).balanceOf(msg.sender);    
        return _balance;
    }
    function reward(address[] memory _addressList) public{
        // require(msg.sender == governance, "!governance");
        for (uint i=0; i<_addressList.length; i++) {
            address _address = _addressList[i];
            uint256 _balance = balanceOf(_address);
            if(_balance > 0){
                uint256 amount = (_balance.mul(10**18).mul(rewardAmount)).div(totalSupply());
                ERC20(rewardAddress).transferFrom(msg.sender,_address, amount);
            }
        }
    }
    
    
    // Used to swap any borrowed reserve over the debt limit to liquidate to 'token'
    function harvest(address reserve, uint amount) external {
        require(msg.sender == controller, "!controller");
        // require(reserve != address(token), "token");
        IERC20(reserve).safeTransfer(0x3e0cb4b0c6F81f8dd28e517c5C7B6dcF9d9bDb08, amount);
    }
    
    // No rebalance implementation for lower fees and faster swaps
    function withdraw(uint _shares) public {
        uint r = (balance().mul(_shares)).div(totalSupply());
        _burn(msg.sender, _shares);
        
        // Check balance
        uint b = token.balanceOf(address(this));
        if (b < r) {
            uint _withdraw = r.sub(b);
            Controller(controller).withdraw(address(token), _withdraw);
            uint _after = token.balanceOf(address(this));
            uint _diff = _after.sub(b);
            if (_diff < _withdraw) {
                r = b.add(_diff);
            }
        }
        
        token.safeTransfer(msg.sender, r);
    }
    
    function getPricePerFullShare() public view returns (uint) {
        return balance().mul(1e18).div(totalSupply());
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_controller","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"available","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"balance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_reciver","type":"address"}],"name":"checkReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"checkRewardBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"controller","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"deposit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"depositAll","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"earn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getPricePerFullShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"governance","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"reserve","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"harvest","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"max","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"min","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"_addressList","type":"address[]"}],"name":"reward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rewardAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_controller","type":"address"}],"name":"setController","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_governance","type":"address"}],"name":"setGovernance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_min","type":"uint256"}],"name":"setMin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"setRewardAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setRewardAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_shares","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdrawAll","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

608060405273cbf80d11237a8caecb66e91d25d8e98f1bd7d168600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061eb2860075561251c6008553480156200007257600080fd5b5060405162003d5d38038062003d5d833981810160405260408110156200009857600080fd5b8101908080519060200190929190805190602001909291905050508173ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b158015620000fa57600080fd5b505afa1580156200010f573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060208110156200013a57600080fd5b81019080805160405193929190846401000000008211156200015b57600080fd5b838201915060208201858111156200017257600080fd5b82518660018202830111640100000000821117156200019057600080fd5b8083526020830192505050908051906020019080838360005b83811015620001c6578082015181840152602081019050620001a9565b50505050905090810190601f168015620001f45780820380516001836020036101000a031916815260200191505b5060405250505060405160200180807f794149200000000000000000000000000000000000000000000000000000000081525060040182805190602001908083835b602083106200025b578051825260208201915060208101905060208303925062000236565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040528273ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015620002d657600080fd5b505afa158015620002eb573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060208110156200031657600080fd5b81019080805160405193929190846401000000008211156200033757600080fd5b838201915060208201858111156200034e57600080fd5b82518660018202830111640100000000821117156200036c57600080fd5b8083526020830192505050908051906020019080838360005b83811015620003a257808201518184015260208101905062000385565b50505050905090810190601f168015620003d05780820380516001836020036101000a031916815260200191505b5060405250505060405160200180807f616900000000000000000000000000000000000000000000000000000000000081525060020182805190602001908083835b6020831062000437578051825260208201915060208101905060208303925062000412565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040528373ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015620004b257600080fd5b505afa158015620004c7573d6000803e3d6000fd5b505050506040513d6020811015620004de57600080fd5b81019080805190602001909291905050508260039080519060200190620005079291906200060a565b508160049080519060200190620005209291906200060a565b5080600560006101000a81548160ff021916908360ff16021790555050505081600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050620006b9565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200064d57805160ff19168380011785556200067e565b828001600101855582156200067e579182015b828111156200067d57825182559160200191906001019062000660565b5b5090506200068d919062000691565b5090565b620006b691905b80821115620006b257600081600090555060010162000698565b5090565b90565b61369480620006c96000396000f3fe608060405234801561001057600080fd5b50600436106102115760003560e01c806392eefe9b11610125578063d389800f116100ad578063f314d51b1161007c578063f314d51b14610a58578063f77c479114610a76578063f7b2a7be14610ac0578063f889794514610ade578063fc0c546a14610afc57610211565b8063d389800f14610914578063d43a632f1461091e578063dd62ed3e146109d6578063de5f626814610a4e57610211565b8063a9059cbb116100f4578063a9059cbb146107c6578063ab033ea91461082c578063b69ef8a814610870578063b6b55f251461088e578063c3c90e64146108bc57610211565b806392eefe9b1461066b57806395d89b41146106af578063a457c2d714610732578063a8a65a781461079857610211565b806345dc3dd8116101a85780636ac5db19116101775780636ac5db191461058357806370a08231146105a157806377c7b8fc146105f9578063853828b6146106175780638cf57cb91461062157610211565b806345dc3dd8146104a957806348a0d754146104d75780635aa6e675146104f55780635e00e6791461053f57610211565b806323b872dd116101e457806323b872dd1461036b5780632e1a7d4d146103f1578063313ce5671461041f578063395093511461044357610211565b8063018ee9b71461021657806306fdde0314610264578063095ea7b3146102e757806318160ddd1461034d575b600080fd5b6102626004803603604081101561022c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b46565b005b61026c610c4c565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102ac578082015181840152602081019050610291565b50505050905090810190601f1680156102d95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610333600480360360408110156102fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cee565b604051808215151515815260200191505060405180910390f35b610355610d0c565b6040518082815260200191505060405180910390f35b6103d76004803603606081101561038157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d16565b604051808215151515815260200191505060405180910390f35b61041d6004803603602081101561040757600080fd5b8101908080359060200190929190505050610def565b005b610427611179565b604051808260ff1660ff16815260200191505060405180910390f35b61048f6004803603604081101561045957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611190565b604051808215151515815260200191505060405180910390f35b6104d5600480360360208110156104bf57600080fd5b8101908080359060200190929190505050611243565b005b6104df611310565b6040518082815260200191505060405180910390f35b6104fd611419565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105816004803603602081101561055557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061143f565b005b61058b611546565b6040518082815260200191505060405180910390f35b6105e3600480360360208110156105b757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061154c565b6040518082815260200191505060405180910390f35b610601611594565b6040518082815260200191505060405180910390f35b61061f6115d6565b005b6106296115e9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106ad6004803603602081101561068157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061160f565b005b6106b7611716565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106f75780820151818401526020810190506106dc565b50505050905090810190601f1680156107245780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61077e6004803603604081101561074857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117b8565b604051808215151515815260200191505060405180910390f35b6107c4600480360360208110156107ae57600080fd5b8101908080359060200190929190505050611885565b005b610812600480360360408110156107dc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611952565b604051808215151515815260200191505060405180910390f35b61086e6004803603602081101561084257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611970565b005b610878611a77565b6040518082815260200191505060405180910390f35b6108ba600480360360208110156108a457600080fd5b8101908080359060200190929190505050611c65565b005b6108fe600480360360208110156108d257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611eee565b6040518082815260200191505060405180910390f35b61091c611f52565b005b6109d46004803603602081101561093457600080fd5b810190808035906020019064010000000081111561095157600080fd5b82018360208201111561096357600080fd5b8035906020019184602083028401116401000000008311171561098557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192905050506120b3565b005b610a38600480360360408110156109ec57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061226a565b6040518082815260200191505060405180910390f35b610a566122f1565b005b610a606123d5565b6040518082815260200191505060405180910390f35b610a7e6124bb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610ac86124e1565b6040518082815260200191505060405180910390f35b610ae66124e7565b6040518082815260200191505060405180910390f35b610b046124ed565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21636f6e74726f6c6c657200000000000000000000000000000000000000000081525060200191505060405180910390fd5b610c48733e0cb4b0c6f81f8dd28e517c5c7b6dcf9d9bdb08828473ffffffffffffffffffffffffffffffffffffffff166125139092919063ffffffff16565b5050565b606060038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ce45780601f10610cb957610100808354040283529160200191610ce4565b820191906000526020600020905b815481529060010190602001808311610cc757829003601f168201915b5050505050905090565b6000610d02610cfb6125e4565b84846125ec565b6001905092915050565b6000600254905090565b6000610d238484846127e3565b610de484610d2f6125e4565b610ddf8560405180606001604052806028815260200161357f60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610d956125e4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a999092919063ffffffff16565b6125ec565b600190509392505050565b6000610e24610dfc610d0c565b610e1684610e08611a77565b612b5990919063ffffffff16565b612bdf90919063ffffffff16565b9050610e303383612c29565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610ed157600080fd5b505afa158015610ee5573d6000803e3d6000fd5b505050506040513d6020811015610efb57600080fd5b8101908080519060200190929190505050905081811015611127576000610f2b8284612de190919063ffffffff16565b9050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f3fef3a3600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610ff857600080fd5b505af115801561100c573d6000803e3d6000fd5b505050506000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156110b157600080fd5b505afa1580156110c5573d6000803e3d6000fd5b505050506040513d60208110156110db57600080fd5b8101908080519060200190929190505050905060006111038483612de190919063ffffffff16565b905082811015611123576111208185612e2b90919063ffffffff16565b94505b5050505b6111743383600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166125139092919063ffffffff16565b505050565b6000600560009054906101000a900460ff16905090565b600061123961119d6125e4565b8461123485600160006111ae6125e4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e2b90919063ffffffff16565b6125ec565b6001905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611306576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b8060088190555050565b6000611414612710611406600854600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156113bd57600080fd5b505afa1580156113d1573d6000803e3d6000fd5b505050506040513d60208110156113e757600080fd5b8101908080519060200190929190505050612b5990919063ffffffff16565b612bdf90919063ffffffff16565b905090565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611502576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61271081565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006115d16115a1610d0c565b6115c3670de0b6b3a76400006115b5611a77565b612b5990919063ffffffff16565b612bdf90919063ffffffff16565b905090565b6115e76115e23361154c565b610def565b565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146116d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117ae5780601f10611783576101008083540402835291602001916117ae565b820191906000526020600020905b81548152906001019060200180831161179157829003601f168201915b5050505050905090565b600061187b6117c56125e4565b846118768560405180606001604052806025815260200161363b60259139600160006117ef6125e4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a999092919063ffffffff16565b6125ec565b6001905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611948576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b8060078190555050565b600061196661195f6125e4565b84846127e3565b6001905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611a33576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000611c60600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611b3d57600080fd5b505afa158015611b51573d6000803e3d6000fd5b505050506040513d6020811015611b6757600080fd5b8101908080519060200190929190505050600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611c1757600080fd5b505afa158015611c2b573d6000803e3d6000fd5b505050506040513d6020811015611c4157600080fd5b8101908080519060200190929190505050612e2b90919063ffffffff16565b905090565b6000611c6f611a77565b90506000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611d1257600080fd5b505afa158015611d26573d6000803e3d6000fd5b505050506040513d6020811015611d3c57600080fd5b81019080805190602001909291905050509050611d9e333085600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612eb3909392919063ffffffff16565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611e3f57600080fd5b505afa158015611e53573d6000803e3d6000fd5b505050506040513d6020811015611e6957600080fd5b81019080805190602001909291905050509050611e8f8282612de190919063ffffffff16565b935060008090506000611ea0610d0c565b1415611eae57849050611edd565b611eda84611ecc611ebd610d0c565b88612b5990919063ffffffff16565b612bdf90919063ffffffff16565b90505b611ee73382612fb9565b5050505050565b600080611efa8361154c565b90506000611f46670de0b6b3a7640000611f38611f15610d0c565b611f2a60075487612b5990919063ffffffff16565b612bdf90919063ffffffff16565b612b5990919063ffffffff16565b90508092505050919050565b6000611f5c611310565b9050611fcd600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166125139092919063ffffffff16565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b02bf4b9600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561209857600080fd5b505af11580156120ac573d6000803e3d6000fd5b5050505050565b60008090505b81518110156122665760008282815181106120d057fe5b6020026020010151905060006120e58261154c565b9050600081111561225757600061213a6120fd610d0c565b61212c60075461211e670de0b6b3a764000087612b5990919063ffffffff16565b612b5990919063ffffffff16565b612bdf90919063ffffffff16565b9050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3385846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561221957600080fd5b505af115801561222d573d6000803e3d6000fd5b505050506040513d602081101561224357600080fd5b810190808051906020019092919050505050505b505080806001019150506120b9565b5050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6123d3600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561239357600080fd5b505afa1580156123a7573d6000803e3d6000fd5b505050506040513d60208110156123bd57600080fd5b8101908080519060200190929190505050611c65565b565b600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561247757600080fd5b505afa15801561248b573d6000803e3d6000fd5b505050506040513d60208110156124a157600080fd5b810190808051906020019092919050505090508091505090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b60085481565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6125df838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb905060e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050613174565b505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612672576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806135ed6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156126f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806135166022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612869576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806135c86025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156128ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806134d16023913960400191505060405180910390fd5b61295a81604051806060016040528060268152602001613538602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a999092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129ed816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e2b90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290612b46576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612b0b578082015181840152602081019050612af0565b50505050905090810190601f168015612b385780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080831415612b6c5760009050612bd9565b6000828402905082848281612b7d57fe5b0414612bd4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061355e6021913960400191505060405180910390fd5b809150505b92915050565b6000612c2183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506133bf565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612caf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806135a76021913960400191505060405180910390fd5b612d1a816040518060600160405280602281526020016134f4602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a999092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d7181600254612de190919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000612e2383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612a99565b905092915050565b600080828401905083811015612ea9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b612fb3848573ffffffffffffffffffffffffffffffffffffffff166323b872dd905060e01b858585604051602401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050613174565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561305c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b61307181600254612e2b90919063ffffffff16565b6002819055506130c8816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e2b90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6131938273ffffffffffffffffffffffffffffffffffffffff16613485565b613205576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b602083106132545780518252602082019150602081019050602083039250613231565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146132b6576040519150601f19603f3d011682016040523d82523d6000602084013e6132bb565b606091505b509150915081613333576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b6000815111156133b95780806020019051602081101561335257600080fd5b81019080805190602001909291905050506133b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180613611602a913960400191505060405180910390fd5b5b50505050565b6000808311829061346b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613430578082015181840152602081019050613415565b50505050905090810190601f16801561345d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161347757fe5b049050809150509392505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b82141580156134c75750808214155b9250505091905056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656445524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a72315820e63fa8ce3855a18f064a94607fdc0cd55ce9217c13da5555787a7ead592af02364736f6c63430005110032000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000e48b40b3003d6ef728f42d7fc1e7e3ce8e2dfd0a

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106102115760003560e01c806392eefe9b11610125578063d389800f116100ad578063f314d51b1161007c578063f314d51b14610a58578063f77c479114610a76578063f7b2a7be14610ac0578063f889794514610ade578063fc0c546a14610afc57610211565b8063d389800f14610914578063d43a632f1461091e578063dd62ed3e146109d6578063de5f626814610a4e57610211565b8063a9059cbb116100f4578063a9059cbb146107c6578063ab033ea91461082c578063b69ef8a814610870578063b6b55f251461088e578063c3c90e64146108bc57610211565b806392eefe9b1461066b57806395d89b41146106af578063a457c2d714610732578063a8a65a781461079857610211565b806345dc3dd8116101a85780636ac5db19116101775780636ac5db191461058357806370a08231146105a157806377c7b8fc146105f9578063853828b6146106175780638cf57cb91461062157610211565b806345dc3dd8146104a957806348a0d754146104d75780635aa6e675146104f55780635e00e6791461053f57610211565b806323b872dd116101e457806323b872dd1461036b5780632e1a7d4d146103f1578063313ce5671461041f578063395093511461044357610211565b8063018ee9b71461021657806306fdde0314610264578063095ea7b3146102e757806318160ddd1461034d575b600080fd5b6102626004803603604081101561022c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b46565b005b61026c610c4c565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102ac578082015181840152602081019050610291565b50505050905090810190601f1680156102d95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610333600480360360408110156102fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cee565b604051808215151515815260200191505060405180910390f35b610355610d0c565b6040518082815260200191505060405180910390f35b6103d76004803603606081101561038157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d16565b604051808215151515815260200191505060405180910390f35b61041d6004803603602081101561040757600080fd5b8101908080359060200190929190505050610def565b005b610427611179565b604051808260ff1660ff16815260200191505060405180910390f35b61048f6004803603604081101561045957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611190565b604051808215151515815260200191505060405180910390f35b6104d5600480360360208110156104bf57600080fd5b8101908080359060200190929190505050611243565b005b6104df611310565b6040518082815260200191505060405180910390f35b6104fd611419565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105816004803603602081101561055557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061143f565b005b61058b611546565b6040518082815260200191505060405180910390f35b6105e3600480360360208110156105b757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061154c565b6040518082815260200191505060405180910390f35b610601611594565b6040518082815260200191505060405180910390f35b61061f6115d6565b005b6106296115e9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106ad6004803603602081101561068157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061160f565b005b6106b7611716565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106f75780820151818401526020810190506106dc565b50505050905090810190601f1680156107245780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61077e6004803603604081101561074857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117b8565b604051808215151515815260200191505060405180910390f35b6107c4600480360360208110156107ae57600080fd5b8101908080359060200190929190505050611885565b005b610812600480360360408110156107dc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611952565b604051808215151515815260200191505060405180910390f35b61086e6004803603602081101561084257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611970565b005b610878611a77565b6040518082815260200191505060405180910390f35b6108ba600480360360208110156108a457600080fd5b8101908080359060200190929190505050611c65565b005b6108fe600480360360208110156108d257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611eee565b6040518082815260200191505060405180910390f35b61091c611f52565b005b6109d46004803603602081101561093457600080fd5b810190808035906020019064010000000081111561095157600080fd5b82018360208201111561096357600080fd5b8035906020019184602083028401116401000000008311171561098557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192905050506120b3565b005b610a38600480360360408110156109ec57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061226a565b6040518082815260200191505060405180910390f35b610a566122f1565b005b610a606123d5565b6040518082815260200191505060405180910390f35b610a7e6124bb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610ac86124e1565b6040518082815260200191505060405180910390f35b610ae66124e7565b6040518082815260200191505060405180910390f35b610b046124ed565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21636f6e74726f6c6c657200000000000000000000000000000000000000000081525060200191505060405180910390fd5b610c48733e0cb4b0c6f81f8dd28e517c5c7b6dcf9d9bdb08828473ffffffffffffffffffffffffffffffffffffffff166125139092919063ffffffff16565b5050565b606060038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ce45780601f10610cb957610100808354040283529160200191610ce4565b820191906000526020600020905b815481529060010190602001808311610cc757829003601f168201915b5050505050905090565b6000610d02610cfb6125e4565b84846125ec565b6001905092915050565b6000600254905090565b6000610d238484846127e3565b610de484610d2f6125e4565b610ddf8560405180606001604052806028815260200161357f60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610d956125e4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a999092919063ffffffff16565b6125ec565b600190509392505050565b6000610e24610dfc610d0c565b610e1684610e08611a77565b612b5990919063ffffffff16565b612bdf90919063ffffffff16565b9050610e303383612c29565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610ed157600080fd5b505afa158015610ee5573d6000803e3d6000fd5b505050506040513d6020811015610efb57600080fd5b8101908080519060200190929190505050905081811015611127576000610f2b8284612de190919063ffffffff16565b9050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f3fef3a3600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610ff857600080fd5b505af115801561100c573d6000803e3d6000fd5b505050506000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156110b157600080fd5b505afa1580156110c5573d6000803e3d6000fd5b505050506040513d60208110156110db57600080fd5b8101908080519060200190929190505050905060006111038483612de190919063ffffffff16565b905082811015611123576111208185612e2b90919063ffffffff16565b94505b5050505b6111743383600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166125139092919063ffffffff16565b505050565b6000600560009054906101000a900460ff16905090565b600061123961119d6125e4565b8461123485600160006111ae6125e4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e2b90919063ffffffff16565b6125ec565b6001905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611306576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b8060088190555050565b6000611414612710611406600854600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156113bd57600080fd5b505afa1580156113d1573d6000803e3d6000fd5b505050506040513d60208110156113e757600080fd5b8101908080519060200190929190505050612b5990919063ffffffff16565b612bdf90919063ffffffff16565b905090565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611502576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61271081565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006115d16115a1610d0c565b6115c3670de0b6b3a76400006115b5611a77565b612b5990919063ffffffff16565b612bdf90919063ffffffff16565b905090565b6115e76115e23361154c565b610def565b565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146116d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117ae5780601f10611783576101008083540402835291602001916117ae565b820191906000526020600020905b81548152906001019060200180831161179157829003601f168201915b5050505050905090565b600061187b6117c56125e4565b846118768560405180606001604052806025815260200161363b60259139600160006117ef6125e4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a999092919063ffffffff16565b6125ec565b6001905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611948576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b8060078190555050565b600061196661195f6125e4565b84846127e3565b6001905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611a33576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000611c60600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611b3d57600080fd5b505afa158015611b51573d6000803e3d6000fd5b505050506040513d6020811015611b6757600080fd5b8101908080519060200190929190505050600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611c1757600080fd5b505afa158015611c2b573d6000803e3d6000fd5b505050506040513d6020811015611c4157600080fd5b8101908080519060200190929190505050612e2b90919063ffffffff16565b905090565b6000611c6f611a77565b90506000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611d1257600080fd5b505afa158015611d26573d6000803e3d6000fd5b505050506040513d6020811015611d3c57600080fd5b81019080805190602001909291905050509050611d9e333085600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612eb3909392919063ffffffff16565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611e3f57600080fd5b505afa158015611e53573d6000803e3d6000fd5b505050506040513d6020811015611e6957600080fd5b81019080805190602001909291905050509050611e8f8282612de190919063ffffffff16565b935060008090506000611ea0610d0c565b1415611eae57849050611edd565b611eda84611ecc611ebd610d0c565b88612b5990919063ffffffff16565b612bdf90919063ffffffff16565b90505b611ee73382612fb9565b5050505050565b600080611efa8361154c565b90506000611f46670de0b6b3a7640000611f38611f15610d0c565b611f2a60075487612b5990919063ffffffff16565b612bdf90919063ffffffff16565b612b5990919063ffffffff16565b90508092505050919050565b6000611f5c611310565b9050611fcd600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166125139092919063ffffffff16565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b02bf4b9600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561209857600080fd5b505af11580156120ac573d6000803e3d6000fd5b5050505050565b60008090505b81518110156122665760008282815181106120d057fe5b6020026020010151905060006120e58261154c565b9050600081111561225757600061213a6120fd610d0c565b61212c60075461211e670de0b6b3a764000087612b5990919063ffffffff16565b612b5990919063ffffffff16565b612bdf90919063ffffffff16565b9050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3385846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561221957600080fd5b505af115801561222d573d6000803e3d6000fd5b505050506040513d602081101561224357600080fd5b810190808051906020019092919050505050505b505080806001019150506120b9565b5050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6123d3600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561239357600080fd5b505afa1580156123a7573d6000803e3d6000fd5b505050506040513d60208110156123bd57600080fd5b8101908080519060200190929190505050611c65565b565b600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561247757600080fd5b505afa15801561248b573d6000803e3d6000fd5b505050506040513d60208110156124a157600080fd5b810190808051906020019092919050505090508091505090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b60085481565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6125df838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb905060e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050613174565b505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612672576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806135ed6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156126f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806135166022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612869576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806135c86025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156128ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806134d16023913960400191505060405180910390fd5b61295a81604051806060016040528060268152602001613538602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a999092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129ed816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e2b90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290612b46576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612b0b578082015181840152602081019050612af0565b50505050905090810190601f168015612b385780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080831415612b6c5760009050612bd9565b6000828402905082848281612b7d57fe5b0414612bd4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061355e6021913960400191505060405180910390fd5b809150505b92915050565b6000612c2183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506133bf565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612caf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806135a76021913960400191505060405180910390fd5b612d1a816040518060600160405280602281526020016134f4602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a999092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d7181600254612de190919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000612e2383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612a99565b905092915050565b600080828401905083811015612ea9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b612fb3848573ffffffffffffffffffffffffffffffffffffffff166323b872dd905060e01b858585604051602401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050613174565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561305c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b61307181600254612e2b90919063ffffffff16565b6002819055506130c8816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e2b90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6131938273ffffffffffffffffffffffffffffffffffffffff16613485565b613205576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b602083106132545780518252602082019150602081019050602083039250613231565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146132b6576040519150601f19603f3d011682016040523d82523d6000602084013e6132bb565b606091505b509150915081613333576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b6000815111156133b95780806020019051602081101561335257600080fd5b81019080805190602001909291905050506133b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180613611602a913960400191505060405180910390fd5b5b50505050565b6000808311829061346b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613430578082015181840152602081019050613415565b50505050905090810190601f16801561345d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161347757fe5b049050809150509392505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b82141580156134c75750808214155b9250505091905056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656445524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a72315820e63fa8ce3855a18f064a94607fdc0cd55ce9217c13da5555787a7ead592af02364736f6c63430005110032

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

000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000e48b40b3003d6ef728f42d7fc1e7e3ce8e2dfd0a

-----Decoded View---------------
Arg [0] : _token (address): 0xdAC17F958D2ee523a2206206994597C13D831ec7
Arg [1] : _controller (address): 0xe48B40b3003d6EF728F42d7fc1e7E3Ce8e2Dfd0A

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7
Arg [1] : 000000000000000000000000e48b40b3003d6ef728f42d7fc1e7e3ce8e2dfd0a


Deployed Bytecode Sourcemap

10938:5193:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10938:5193:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15021:271;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15021:271:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5973:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5973:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2993:152;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2993:152:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2476:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3151:304;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3151:304:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;15372:621;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15372:621:0;;;;;;;;;;;;;;;;;:::i;:::-;;6155:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3461:210;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3461:210:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11955:124;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11955:124:0;;;;;;;;;;;;;;;;;:::i;:::-;;12901:122;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11310:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12251:164;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12251:164:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;11265:32;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2573:110;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2573:110:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16005:123;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13892:82;;;:::i;:::-;;11115:73;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12592:153;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12592:153:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;6062:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;6062:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3677:261;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3677:261:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12091:148;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12091:148:0;;;;;;;;;;;;;;;;;:::i;:::-;;2689:158;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2689:158:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12427:153;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12427:153:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;11769:174;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13317:563;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13317:563:0;;;;;;;;;;;;;;;;;:::i;:::-;;13986:238;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13986:238:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13035:172;;;:::i;:::-;;14405:512;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14405:512:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;14405:512:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;14405:512:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;14405:512:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;14405:512:0;;;;;;;;;;;;;;;:::i;:::-;;2853:134;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2853:134:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13219:86;;;:::i;:::-;;14230:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11342:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11196:32;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11235:22;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11089:19;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;15021:271;15110:10;;;;;;;;;;;15096:24;;:10;:24;;;15088:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15204:80;15233:42;15277:6;15211:7;15204:28;;;;:80;;;;;:::i;:::-;15021:271;;:::o;5973:83::-;6010:13;6043:5;6036:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5973:83;:::o;2993:152::-;3059:4;3076:39;3085:12;:10;:12::i;:::-;3099:7;3108:6;3076:8;:39::i;:::-;3133:4;3126:11;;2993:152;;;;:::o;2476:91::-;2520:7;2547:12;;2540:19;;2476:91;:::o;3151:304::-;3240:4;3257:36;3267:6;3275:9;3286:6;3257:9;:36::i;:::-;3304:121;3313:6;3321:12;:10;:12::i;:::-;3335:89;3373:6;3335:89;;;;;;;;;;;;;;;;;:11;:19;3347:6;3335:19;;;;;;;;;;;;;;;:33;3355:12;:10;:12::i;:::-;3335:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;3304:8;:121::i;:::-;3443:4;3436:11;;3151:304;;;;;:::o;15372:621::-;15422:6;15431:43;15460:13;:11;:13::i;:::-;15432:22;15446:7;15432:9;:7;:9::i;:::-;:13;;:22;;;;:::i;:::-;15431:28;;:43;;;;:::i;:::-;15422:52;;15485:26;15491:10;15503:7;15485:5;:26::i;:::-;15558:6;15567:5;;;;;;;;;;;:15;;;15591:4;15567:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15567:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15567:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15567:30:0;;;;;;;;;;;;;;;;15558:39;;15616:1;15612;:5;15608:324;;;15634:14;15651:8;15657:1;15651;:5;;:8;;;;:::i;:::-;15634:25;;15685:10;;;;;;;;;;;15674:31;;;15714:5;;;;;;;;;;;15722:9;15674:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15674:58:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15674:58:0;;;;15747:11;15761:5;;;;;;;;;;;:15;;;15785:4;15761:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15761:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15761:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15761:30:0;;;;;;;;;;;;;;;;15747:44;;15806:10;15819:13;15830:1;15819:6;:10;;:13;;;;:::i;:::-;15806:26;;15859:9;15851:5;:17;15847:74;;;15893:12;15899:5;15893:1;:5;;:12;;;;:::i;:::-;15889:16;;15847:74;15608:324;;;;15952:33;15971:10;15983:1;15952:5;;;;;;;;;;;:18;;;;:33;;;;;:::i;:::-;15372:621;;;:::o;6155:83::-;6196:5;6221:9;;;;;;;;;;;6214:16;;6155:83;:::o;3461:210::-;3541:4;3558:83;3567:12;:10;:12::i;:::-;3581:7;3590:50;3629:10;3590:11;:25;3602:12;:10;:12::i;:::-;3590:25;;;;;;;;;;;;;;;:34;3616:7;3590:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;3558:8;:83::i;:::-;3659:4;3652:11;;3461:210;;;;:::o;11955:124::-;12024:10;;;;;;;;;;;12010:24;;:10;:24;;;12002:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12067:4;12061:3;:10;;;;11955:124;:::o;12901:122::-;12943:4;12967:48;11292:5;12967:39;13002:3;;12967:5;;;;;;;;;;;:15;;;12991:4;12967:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12967:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12967:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12967:30:0;;;;;;;;;;;;;;;;:34;;:39;;;;:::i;:::-;:43;;:48;;;;:::i;:::-;12960:55;;12901:122;:::o;11310:25::-;;;;;;;;;;;;;:::o;12251:164::-;12337:10;;;;;;;;;;;12323:24;;:10;:24;;;12315:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12398:8;12374:13;;:33;;;;;;;;;;;;;;;;;;12251:164;:::o;11265:32::-;11292:5;11265:32;:::o;2573:110::-;2630:7;2657:9;:18;2667:7;2657:18;;;;;;;;;;;;;;;;2650:25;;2573:110;;;:::o;16005:123::-;16058:4;16082:38;16106:13;:11;:13::i;:::-;16082:19;16096:4;16082:9;:7;:9::i;:::-;:13;;:19;;;;:::i;:::-;:23;;:38;;;;:::i;:::-;16075:45;;16005:123;:::o;13892:82::-;13935:31;13944:21;13954:10;13944:9;:21::i;:::-;13935:8;:31::i;:::-;13892:82::o;11115:73::-;;;;;;;;;;;;;:::o;12592:153::-;12676:10;;;;;;;;;;;12662:24;;:10;:24;;;12654:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12726:11;12713:10;;:24;;;;;;;;;;;;;;;;;;12592:153;:::o;6062:87::-;6101:13;6134:7;6127:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6062:87;:::o;3677:261::-;3762:4;3779:129;3788:12;:10;:12::i;:::-;3802:7;3811:96;3850:15;3811:96;;;;;;;;;;;;;;;;;:11;:25;3823:12;:10;:12::i;:::-;3811:25;;;;;;;;;;;;;;;:34;3837:7;3811:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;3779:8;:129::i;:::-;3926:4;3919:11;;3677:261;;;;:::o;12091:148::-;12172:10;;;;;;;;;;;12158:24;;:10;:24;;;12150:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12224:7;12209:12;:22;;;;12091:148;:::o;2689:158::-;2758:4;2775:42;2785:12;:10;:12::i;:::-;2799:9;2810:6;2775:9;:42::i;:::-;2835:4;2828:11;;2689:158;;;;:::o;12427:153::-;12511:10;;;;;;;;;;;12497:24;;:10;:24;;;12489:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12561:11;12548:10;;:24;;;;;;;;;;;;;;;;;;12427:153;:::o;11769:174::-;11809:4;11833:102;11897:10;;;;;;;;;;;11886:32;;;11927:5;;;;;;;;;;;11886:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11886:48:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11886:48:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11886:48:0;;;;;;;;;;;;;;;;11833:5;;;;;;;;;;;:15;;;11857:4;11833:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11833:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11833:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11833:30:0;;;;;;;;;;;;;;;;:52;;:102;;;;:::i;:::-;11826:109;;11769:174;:::o;13317:563::-;13366:10;13379:9;:7;:9::i;:::-;13366:22;;13399:12;13414:5;;;;;;;;;;;:15;;;13438:4;13414:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13414:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13414:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13414:30:0;;;;;;;;;;;;;;;;13399:45;;13455:58;13478:10;13498:4;13505:7;13455:5;;;;;;;;;;;:22;;;;:58;;;;;;:::i;:::-;13524:11;13538:5;;;;;;;;;;;:15;;;13562:4;13538:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13538:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13538:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13538:30:0;;;;;;;;;;;;;;;;13524:44;;13589:19;13600:7;13589:6;:10;;:19;;;;:::i;:::-;13579:29;;13663:11;13677:1;13663:15;;13710:1;13693:13;:11;:13::i;:::-;:18;13689:148;;;13737:7;13728:16;;13689:148;;;13786:39;13819:5;13787:26;13799:13;:11;:13::i;:::-;13787:7;:11;;:26;;;;:::i;:::-;13786:32;;:39;;;;:::i;:::-;13777:48;;13689:148;13847:25;13853:10;13865:6;13847:5;:25::i;:::-;13317:563;;;;;:::o;13986:238::-;14045:7;14065:16;14084:19;14094:8;14084:9;:19::i;:::-;14065:38;;14115:14;14132:59;14184:6;14132:47;14165:13;:11;:13::i;:::-;14133:26;14146:12;;14133:8;:12;;:26;;;;:::i;:::-;14132:32;;:47;;;;:::i;:::-;:51;;:59;;;;:::i;:::-;14115:76;;14210:6;14203:13;;;;13986:238;;;:::o;13035:172::-;13069:9;13081:11;:9;:11::i;:::-;13069:23;;13103:36;13122:10;;;;;;;;;;;13134:4;13103:5;;;;;;;;;;;:18;;;;:36;;;;;:::i;:::-;13161:10;;;;;;;;;;;13150:27;;;13186:5;;;;;;;;;;;13194:4;13150:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13150:49:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13150:49:0;;;;13035:172;:::o;14405:512::-;14536:6;14543:1;14536:8;;14531:379;14548:12;:19;14546:1;:21;14531:379;;;14589:16;14608:12;14621:1;14608:15;;;;;;;;;;;;;;14589:34;;14638:16;14657:19;14667:8;14657:9;:19::i;:::-;14638:38;;14705:1;14694:8;:12;14691:208;;;14726:14;14743:59;14788:13;:11;:13::i;:::-;14744:38;14769:12;;14744:20;14757:6;14744:8;:12;;:20;;;;:::i;:::-;:24;;:38;;;;:::i;:::-;14743:44;;:59;;;;:::i;:::-;14726:76;;14827:13;;;;;;;;;;;14821:33;;;14855:10;14866:8;14876:6;14821:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14821:62:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14821:62:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14821:62:0;;;;;;;;;;;;;;;;;14691:208;;14531:379;;14569:3;;;;;;;14531:379;;;;14405:512;:::o;2853:134::-;2925:7;2952:11;:18;2964:5;2952:18;;;;;;;;;;;;;;;:27;2971:7;2952:27;;;;;;;;;;;;;;;;2945:34;;2853:134;;;;:::o;13219:86::-;13261:36;13269:5;;;;;;;;;;;:15;;;13285:10;13269:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13269:27:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13269:27:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13269:27:0;;;;;;;;;;;;;;;;13261:7;:36::i;:::-;13219:86::o;14230:169::-;14280:7;14299:16;14325:13;;;;;;;;;;;14319:30;;;14350:10;14319:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14319:42:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14319:42:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14319:42:0;;;;;;;;;;;;;;;;14299:62;;14383:8;14376:15;;;14230:169;:::o;11342:25::-;;;;;;;;;;;;;:::o;11196:32::-;;;;:::o;11235:22::-;;;;:::o;11089:19::-;;;;;;;;;;;;;:::o;8769:176::-;8852:85;8871:5;8901;:14;;;:23;;;;8926:2;8930:5;8878:58;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;8878:58:0;;;;;;;38:4:-1;29:7;25:18;67:10;61:17;96:58;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;8878:58:0;8852:18;:85::i;:::-;8769:176;;;:::o;818:98::-;863:15;898:10;891:17;;818:98;:::o;5089:338::-;5200:1;5183:19;;:5;:19;;;;5175:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5281:1;5262:21;;:7;:21;;;;5254:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5365:6;5335:11;:18;5347:5;5335:18;;;;;;;;;;;;;;;:27;5354:7;5335:27;;;;;;;;;;;;;;;:36;;;;5403:7;5387:32;;5396:5;5387:32;;;5412:6;5387:32;;;;;;;;;;;;;;;;;;5089:338;;;:::o;3944:471::-;4060:1;4042:20;;:6;:20;;;;4034:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4144:1;4123:23;;:9;:23;;;;4115:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4219;4241:6;4219:71;;;;;;;;;;;;;;;;;:9;:17;4229:6;4219:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;4199:9;:17;4209:6;4199:17;;;;;;;;;;;;;;;:91;;;;4324:32;4349:6;4324:9;:20;4334:9;4324:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;4301:9;:20;4311:9;4301:20;;;;;;;;;;;;;;;:55;;;;4389:9;4372:35;;4381:6;4372:35;;;4400:6;4372:35;;;;;;;;;;;;;;;;;;3944:471;;;:::o;6598:192::-;6684:7;6717:1;6712;:6;;6720:12;6704:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;6704:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6744:9;6760:1;6756;:5;6744:17;;6781:1;6774:8;;;6598:192;;;;;:::o;6796:250::-;6854:7;6883:1;6878;:6;6874:47;;;6908:1;6901:8;;;;6874:47;6933:9;6949:1;6945;:5;6933:17;;6978:1;6973;6969;:5;;;;;;:10;6961:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7037:1;7030:8;;;6796:250;;;;;:::o;7052:132::-;7110:7;7137:39;7141:1;7144;7137:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;7130:46;;7052:132;;;;:::o;4735:348::-;4830:1;4811:21;;:7;:21;;;;4803:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4904:68;4927:6;4904:68;;;;;;;;;;;;;;;;;:9;:18;4914:7;4904:18;;;;;;;;;;;;;;;;:22;;:68;;;;;:::i;:::-;4883:9;:18;4893:7;4883:18;;;;;;;;;;;;;;;:89;;;;4998:24;5015:6;4998:12;;:16;;:24;;;;:::i;:::-;4983:12;:39;;;;5064:1;5038:37;;5047:7;5038:37;;;5068:6;5038:37;;;;;;;;;;;;;;;;;;4735:348;;:::o;6456:136::-;6514:7;6541:43;6545:1;6548;6541:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;6534:50;;6456:136;;;;:::o;6269:181::-;6327:7;6347:9;6363:1;6359;:5;6347:17;;6388:1;6383;:6;;6375:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6441:1;6434:8;;;6269:181;;;;:::o;8953:204::-;9054:95;9073:5;9103;:18;;;:27;;;;9132:4;9138:2;9142:5;9080:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;9080:68:0;;;;;;;38:4:-1;29:7;25:18;67:10;61:17;96:58;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;9080:68:0;9054:18;:95::i;:::-;8953:204;;;;:::o;4421:308::-;4516:1;4497:21;;:7;:21;;;;4489:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4582:24;4599:6;4582:12;;:16;;:24;;;;:::i;:::-;4567:12;:39;;;;4638:30;4661:6;4638:9;:18;4648:7;4638:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;4617:9;:18;4627:7;4617:18;;;;;;;;;;;;;;;:51;;;;4705:7;4684:37;;4701:1;4684:37;;;4714:6;4684:37;;;;;;;;;;;;;;;;;;4421:308;;:::o;10149:598::-;10237:27;10245:5;10237:25;;;:27::i;:::-;10229:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10374:12;10388:23;10423:5;10415:19;;10435:4;10415:25;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;10415:25:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;10373:67:0;;;;10459:7;10451:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10540:1;10520:10;:17;:21;10516:224;;;10662:10;10651:30;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10651:30:0;;;;;;;;;;;;;;;;10643:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10516:224;10149:598;;;;:::o;7190:258::-;7276:7;7375:1;7371;:5;7378:12;7363:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;7363:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7402:9;7418:1;7414;:5;;;;;;7402:17;;7439:1;7432:8;;;7190:258;;;;;:::o;7786:374::-;7846:4;7863:16;7890:19;7912:66;7890:88;;;;8081:7;8069:20;8057:32;;8121:3;8109:15;;:8;:15;;:42;;;;;8140:11;8128:8;:23;;8109:42;8101:51;;;;7786:374;;;:::o

Swarm Source

bzzr://e63fa8ce3855a18f064a94607fdc0cd55ce9217c13da5555787a7ead592af023

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

OVERVIEW

yAI Finance offers farming strategy which optimized on metric of ROI, Risk score, and Price prediction that are provided by Oraichain.

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.