FTM Testnet

Contract

0x72D65b6C89FDF238d2C95e30e98020597BbaF0c9

Overview

FTM Balance

Fantom LogoFantom LogoFantom Logo0 FTM

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Value
Auto Step Invest93939522022-06-29 19:44:48637 days ago1656531888IN
0x72D65b6C...97BbaF0c9
0 FTM0.001032051.025629
Auto Step Invest93939222022-06-29 19:39:48637 days ago1656531588IN
0x72D65b6C...97BbaF0c9
0 FTM0.001032051.025629
Auto Step Invest93938992022-06-29 19:34:48637 days ago1656531288IN
0x72D65b6C...97BbaF0c9
0 FTM0.001032051.025629
Auto Step Invest93938812022-06-29 19:29:48637 days ago1656530988IN
0x72D65b6C...97BbaF0c9
0 FTM0.001032051.025629
Auto Step Invest93938422022-06-29 19:24:48637 days ago1656530688IN
0x72D65b6C...97BbaF0c9
0 FTM0.001031581.025167
Auto Step Invest93937772022-06-29 19:19:48637 days ago1656530388IN
0x72D65b6C...97BbaF0c9
0 FTM0.001031821.025399
Auto Step Invest93936952022-06-29 19:14:48637 days ago1656530088IN
0x72D65b6C...97BbaF0c9
0 FTM0.001031741.025321
Auto Step Invest93936402022-06-29 19:09:48637 days ago1656529788IN
0x72D65b6C...97BbaF0c9
0 FTM0.001032051.025629
Auto Step Invest93936042022-06-29 19:04:48637 days ago1656529488IN
0x72D65b6C...97BbaF0c9
0 FTM0.001031741.025319
Auto Step Invest93935622022-06-29 18:59:48637 days ago1656529188IN
0x72D65b6C...97BbaF0c9
0 FTM0.001032051.025629
Auto Step Invest93935212022-06-29 18:54:48637 days ago1656528888IN
0x72D65b6C...97BbaF0c9
0 FTM0.001031631.025217
Auto Step Invest93934712022-06-29 18:49:48637 days ago1656528588IN
0x72D65b6C...97BbaF0c9
0 FTM0.001031631.025214
Auto Step Invest93934262022-06-29 18:44:48637 days ago1656528288IN
0x72D65b6C...97BbaF0c9
0 FTM0.001031631.025217
Auto Step Invest93933672022-06-29 18:39:48637 days ago1656527988IN
0x72D65b6C...97BbaF0c9
0 FTM0.001031581.025164
Auto Step Invest93933062022-06-29 18:34:48637 days ago1656527688IN
0x72D65b6C...97BbaF0c9
0 FTM0.001031731.025318
Auto Step Invest93932622022-06-29 18:29:48637 days ago1656527388IN
0x72D65b6C...97BbaF0c9
0 FTM0.001031741.025321
Auto Step Invest93931942022-06-29 18:24:48637 days ago1656527088IN
0x72D65b6C...97BbaF0c9
0 FTM0.001032051.025629
Auto Step Invest93931562022-06-29 18:19:48637 days ago1656526788IN
0x72D65b6C...97BbaF0c9
0 FTM0.001032051.025635
Auto Step Invest93931292022-06-29 18:14:48637 days ago1656526488IN
0x72D65b6C...97BbaF0c9
0 FTM0.001031741.025322
Auto Step Invest93930932022-06-29 18:09:48637 days ago1656526188IN
0x72D65b6C...97BbaF0c9
0 FTM0.001031741.025323
Auto Step Invest93930492022-06-29 18:04:48637 days ago1656525888IN
0x72D65b6C...97BbaF0c9
0 FTM0.001031731.025318
Auto Step Invest93930012022-06-29 17:59:48637 days ago1656525588IN
0x72D65b6C...97BbaF0c9
0 FTM0.001032051.025628
Auto Step Invest93929592022-06-29 17:54:48637 days ago1656525288IN
0x72D65b6C...97BbaF0c9
0 FTM0.001031711.025291
Auto Step Invest93929212022-06-29 17:49:48637 days ago1656524988IN
0x72D65b6C...97BbaF0c9
0 FTM0.001032051.025628
Auto Step Invest93928782022-06-29 17:44:48637 days ago1656524688IN
0x72D65b6C...97BbaF0c9
0 FTM0.001032051.025628
View all transactions

Latest 1 internal transaction

Parent Txn Hash Block From To Value
92907802022-06-17 19:48:41649 days ago1655495321  Contract Creation0 FTM
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AutoProc

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at testnet.ftmscan.com on 2022-06-17
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.9;

interface IMARKET {    

    function transferWithoutFee(address to, uint256 amount) external;

    function transferFromWithoutFee(address from, address to, uint256 amount) external;

    function decimals() external view returns (uint8);

    function balanceOf(address account) external view returns (uint256);

    function marketWallet() external view returns (address);
}

interface IveMARKET {    

    function mint(address dst, uint256 amount) external;

    function balanceOf(address account) external view returns (uint256);

    function deleteBalance(address account) external;

    function holders() external view returns (address[] memory);
}

interface IMasterPlatypusV3 {        

    function stakingLPFromOther (
        address from, 
        uint256 pid, 
        uint256 amount, 
        uint256 autoBalancePeriod) external;       

    // function stakingPTPFromOther (address from, uint256 amount, uint256 investCount, uint256 investDeadline) external;

    function baseAPR (uint256 pid) external view returns (uint256);

    function boostedAPR (uint256 pid, address user) external view returns (uint256);

    function totalAPR (uint256 pid, address user) external view returns (uint256);

    function medianBoostedAPR (uint256 pid) external view returns (uint256);

    function lpStakedInfo(uint256 pid, address user) 
        external 
        view 
        returns (
            uint256 lpAmount, 
            uint256 rewardAmount, 
            uint256 rewardLastTimestamp,
            uint256 autoBalancePeriod,
            uint256 autoBalanceLastTimestamp
        );
    
    function calcVePTPRewardPub (address user) external view returns (uint256);

    function updatePTPStakedUserInfoForStaking (address user, uint256 amount) external;

    function ptp() external view returns (address);

    function veptp() external view returns (address);
}

library AddressArray {

    function _isExist (address[] storage addrs, address adr) private view returns (bool) {
        for (uint i=0;i<addrs.length;i++) {
            if (addrs[i] == adr) return true;
        }
        return false;
    }

    function isExist (address[] storage addrs, address adr) public view returns (bool) {
        return _isExist(addrs, adr);
    }

    function addAddr (address[] storage addrs, address adr) public {
        if (_isExist(addrs, adr)) addrs.push(adr);
    }

    function deleteAddr (address[] storage addrs, address adr) public {
        uint idx;
        bool is_exist = false;

        for (uint i=0;i<addrs.length;i++) {
            if (adr == addrs[i]) {
                is_exist = true;
                idx = i;
            }
        }

        if (is_exist) {
            addrs[idx] = addrs[addrs.length-1];
            addrs.pop();
        }
    }

    function deleteAddrOrder (address[] storage addrs, address adr) public {
        uint idx;
        bool is_exist = false;
        
        for (uint i=0;i<addrs.length;i++) {
            if (adr == addrs[i]) {
                is_exist = true;
                idx = i;
            }
        }

        if (is_exist) {
            for (uint i=idx;i<addrs.length-1;i++) {
                addrs[i] = addrs[i+1];
            }
            addrs.pop();
        }
    }
}

interface IAutoProc {
    function stakingPTPFromOther (address from, uint256 amount, uint256 investCount, uint256 investDeadline) external;
}

contract AutoProc is IAutoProc{ 

    struct InvestInfo {
        uint256 investUnitAmount;
        uint256 investCount;
        uint256 investPeriod;
        uint256 lastTimestamp;
    }

    IMasterPlatypusV3 private _masterPlatypus;    
    address private _owner;

    address[] private _stepInvesters;
    mapping(address => InvestInfo[]) private _investInfo;
       
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);    
    event PTPStaked(address indexed user, address indexed ptptoken, uint256 amount);
    event MasterPlatypusUpdated(
        address indexed sender,
        address indexed prevM,
        address indexed newM
    );

    using AddressArray for address[];

    constructor () {       
        _owner = msg.sender;
    }   

    modifier onlyOwner() {
        require(_owner == msg.sender, "Ownable: caller is not the owner");
        _;
    } 

    function renounceOwnership() public onlyOwner {
        _transferOwnership(address(0));
    }

    function stepInvesters() public view returns (address[] memory) {
        return _stepInvesters;
    }

    function investInfo(address user) public view returns (InvestInfo[] memory) {
        return _investInfo[user];
    }

    function transferOwnership(address newOwner) public onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        require(newOwner != _owner, "Ownable: same owner");
        _transferOwnership(newOwner);
    }

    function getMasterPlatypus() external view returns (address) {
        return address(_masterPlatypus);
    }

    function setMasterPlatypus(IMasterPlatypusV3 mv) external onlyOwner {
        require(address(mv) != address(0), "ZERO");
        emit MasterPlatypusUpdated(
            msg.sender,
            address(_masterPlatypus),
            address(mv)
        );
        _masterPlatypus = mv;
    }

    function _transferOwnership(address newOwner) internal {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }

    function stakingPTPFromOther (address from, uint256 amount, uint256 investCount, uint256 investDeadline) external override { 
        require(address(_masterPlatypus.veptp()) != address(0), "stakingPTPFromOther: VePTP does not set");        
        require(IMARKET(_masterPlatypus.ptp()).balanceOf(from) >= amount, "stakingPTPFromOther: insufficient amount");
        IMARKET(_masterPlatypus.ptp()).transferFromWithoutFee(from, address(_masterPlatypus), amount);
        IveMARKET(_masterPlatypus.veptp()).mint(from, _masterPlatypus.calcVePTPRewardPub(from));
        _masterPlatypus.updatePTPStakedUserInfoForStaking(from, amount);
        emit PTPStaked(from, address(_masterPlatypus.ptp()), amount);
        _createInvestInfo (from, amount, investCount, investDeadline);        
    }   

    function _createInvestInfo (address user, uint256 unitAmount, uint256 investCount, uint256 investDeadline) private {
        if (investCount > 1) {
            AddressArray.addAddr(_stepInvesters, user);            
            _investInfo[user].push(InvestInfo (unitAmount, investCount-1, investDeadline/(investCount-1), block.timestamp));
        } 
    }

    function _stakingPTPAuto (address from, uint256 amount) private {         
        uint256 half = amount / 2;
        uint256 anotherHalf = amount - half;       
        IMARKET(_masterPlatypus.ptp()).transferFromWithoutFee(address(_masterPlatypus.ptp()), address(_masterPlatypus), half);
        IMARKET(_masterPlatypus.ptp()).transferFromWithoutFee(IMARKET(_masterPlatypus.ptp()).marketWallet(), address(_masterPlatypus), anotherHalf);        
        IveMARKET(_masterPlatypus.veptp()).mint(from, _masterPlatypus.calcVePTPRewardPub(from));
        _masterPlatypus.updatePTPStakedUserInfoForStaking(from, amount);        
        emit PTPStaked(from, address(_masterPlatypus.ptp()), amount);      
    }

    function autoStepInvest () public {    
        for (uint i=0;i<_stepInvesters.length;i++) {
            InvestInfo[] memory investInfos = _investInfo[_stepInvesters[i]];
            for (uint j=0;j<investInfos.length;j++) {
                InvestInfo memory invInfo = investInfos[j];
                if (invInfo.investCount > 0 && block.timestamp - invInfo.lastTimestamp > invInfo.investPeriod) {
                    _stakingPTPAuto (_stepInvesters[i], invInfo.investUnitAmount);
                    
                    // update invest info
                    _investInfo[_stepInvesters[i]][j].investCount --;
                    _investInfo[_stepInvesters[i]][j].lastTimestamp = block.timestamp;
                }
            }
        }
    }
}

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"prevM","type":"address"},{"indexed":true,"internalType":"address","name":"newM","type":"address"}],"name":"MasterPlatypusUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"ptptoken","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"PTPStaked","type":"event"},{"inputs":[],"name":"autoStepInvest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getMasterPlatypus","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"investInfo","outputs":[{"components":[{"internalType":"uint256","name":"investUnitAmount","type":"uint256"},{"internalType":"uint256","name":"investCount","type":"uint256"},{"internalType":"uint256","name":"investPeriod","type":"uint256"},{"internalType":"uint256","name":"lastTimestamp","type":"uint256"}],"internalType":"struct AutoProc.InvestInfo[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IMasterPlatypusV3","name":"mv","type":"address"}],"name":"setMasterPlatypus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"investCount","type":"uint256"},{"internalType":"uint256","name":"investDeadline","type":"uint256"}],"name":"stakingPTPFromOther","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stepInvesters","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b50600180546001600160a01b03191633179055611658806100326000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063715018a61161005b578063715018a6146100e6578063f21dc810146100ee578063f2f705c114610109578063f2fde38b1461011e57600080fd5b80631bc2f8321461008d57806320e68b3b146100b657806349819d4a146100cb5780636e054ca7146100d3575b600080fd5b6100a061009b366004611410565b610131565b6040516100ad9190611434565b60405180910390f35b6100c96100c4366004611410565b6101ce565b005b6100c961029e565b6100c96100e1366004611498565b6104ed565b6100c9610adc565b6000546040516001600160a01b0390911681526020016100ad565b610111610b12565b6040516100ad91906114d3565b6100c961012c366004611410565b610b74565b6001600160a01b0381166000908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b828210156101c3578382906000526020600020906004020160405180608001604052908160008201548152602001600182015481526020016002820154815260200160038201548152505081526020019060010190610169565b505050509050919050565b6001546001600160a01b031633146102015760405162461bcd60e51b81526004016101f890611520565b60405180910390fd5b6001600160a01b0381166102405760405162461bcd60e51b81526004016101f8906020808252600490820152635a45524f60e01b604082015260600190565b600080546040516001600160a01b038085169392169133917fdea9171acb4e68344f671233b6c76596ec7a05e2cdeddeaecac7708da57b148d9190a4600080546001600160a01b0319166001600160a01b0392909216919091179055565b60005b6002548110156104ea57600060036000600284815481106102c4576102c4611555565b60009182526020808320909101546001600160a01b031683528281019390935260409182018120805483518186028101860190945280845292939092919084015b8282101561035f578382906000526020600020906004020160405180608001604052908160008201548152602001600182015481526020016002820154815260200160038201548152505081526020019060010190610305565b50505050905060005b81518110156104d557600082828151811061038557610385611555565b60200260200101519050600081602001511180156103b45750604081015160608201516103b29042611581565b115b156104c2576103ee600285815481106103cf576103cf611555565b60009182526020909120015482516001600160a01b0390911690610c60565b600360006002868154811061040557610405611555565b60009182526020808320909101546001600160a01b03168352820192909252604001902080548390811061043b5761043b611555565b60009182526020822060016004909202010180549161045983611598565b919050555042600360006002878154811061047657610476611555565b60009182526020808320909101546001600160a01b0316835282019290925260400190208054849081106104ac576104ac611555565b9060005260206000209060040201600301819055505b50806104cd816115af565b915050610368565b505080806104e2906115af565b9150506102a1565b50565b60006001600160a01b031660008054906101000a90046001600160a01b03166001600160a01b031663a72a596b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561054457600080fd5b505afa158015610558573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057c91906115ca565b6001600160a01b031614156105e35760405162461bcd60e51b815260206004820152602760248201527f7374616b696e6750545046726f6d4f746865723a20566550545020646f6573206044820152661b9bdd081cd95d60ca1b60648201526084016101f8565b6000546040805163357b33b960e11b8152905185926001600160a01b031691636af66772916004808301926020929190829003018186803b15801561062757600080fd5b505afa15801561063b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065f91906115ca565b6040516370a0823160e01b81526001600160a01b03878116600483015291909116906370a082319060240160206040518083038186803b1580156106a257600080fd5b505afa1580156106b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106da91906115e7565b10156107395760405162461bcd60e51b815260206004820152602860248201527f7374616b696e6750545046726f6d4f746865723a20696e73756666696369656e6044820152671d08185b5bdd5b9d60c21b60648201526084016101f8565b60008054906101000a90046001600160a01b03166001600160a01b0316636af667726040518163ffffffff1660e01b815260040160206040518083038186803b15801561078557600080fd5b505afa158015610799573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bd91906115ca565b600054604051637f92366f60e01b81526001600160a01b038781166004830152918216602482015260448101869052911690637f92366f90606401600060405180830381600087803b15801561081257600080fd5b505af1158015610826573d6000803e3d6000fd5b5050505060008054906101000a90046001600160a01b03166001600160a01b031663a72a596b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561087657600080fd5b505afa15801561088a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ae91906115ca565b60005460405163068ed78b60e31b81526001600160a01b038781166004830152928316926340c10f19928892911690633476bc589060240160206040518083038186803b1580156108fe57600080fd5b505afa158015610912573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093691906115e7565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561097c57600080fd5b505af1158015610990573d6000803e3d6000fd5b505060005460405163177e2ddf60e11b81526001600160a01b038881166004830152602482018890529091169250632efc5bbe9150604401600060405180830381600087803b1580156109e257600080fd5b505af11580156109f6573d6000803e3d6000fd5b5050505060008054906101000a90046001600160a01b03166001600160a01b0316636af667726040518163ffffffff1660e01b815260040160206040518083038186803b158015610a4657600080fd5b505afa158015610a5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7e91906115ca565b6001600160a01b0316846001600160a01b03167f69cac3b0665489073c5a8caab5801cc1f2f7e21f46194269fce3f6486d77cd5a85604051610ac291815260200190565b60405180910390a3610ad684848484611293565b50505050565b6001546001600160a01b03163314610b065760405162461bcd60e51b81526004016101f890611520565b610b1060006113a9565b565b60606002805480602002602001604051908101604052809291908181526020018280548015610b6a57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610b4c575b5050505050905090565b6001546001600160a01b03163314610b9e5760405162461bcd60e51b81526004016101f890611520565b6001600160a01b038116610c035760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016101f8565b6001546001600160a01b0382811691161415610c575760405162461bcd60e51b815260206004820152601360248201527227bbb730b136329d1039b0b6b29037bbb732b960691b60448201526064016101f8565b6104ea816113a9565b6000610c6d600283611600565b90506000610c7b8284611581565b905060008054906101000a90046001600160a01b03166001600160a01b0316636af667726040518163ffffffff1660e01b815260040160206040518083038186803b158015610cc957600080fd5b505afa158015610cdd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d0191906115ca565b6001600160a01b0316637f92366f60008054906101000a90046001600160a01b03166001600160a01b0316636af667726040518163ffffffff1660e01b815260040160206040518083038186803b158015610d5b57600080fd5b505afa158015610d6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9391906115ca565b60005460405160e084901b6001600160e01b03191681526001600160a01b0392831660048201529116602482015260448101859052606401600060405180830381600087803b158015610de557600080fd5b505af1158015610df9573d6000803e3d6000fd5b5050505060008054906101000a90046001600160a01b03166001600160a01b0316636af667726040518163ffffffff1660e01b815260040160206040518083038186803b158015610e4957600080fd5b505afa158015610e5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8191906115ca565b6001600160a01b0316637f92366f60008054906101000a90046001600160a01b03166001600160a01b0316636af667726040518163ffffffff1660e01b815260040160206040518083038186803b158015610edb57600080fd5b505afa158015610eef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1391906115ca565b6001600160a01b031663e4440a866040518163ffffffff1660e01b815260040160206040518083038186803b158015610f4b57600080fd5b505afa158015610f5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8391906115ca565b60005460405160e084901b6001600160e01b03191681526001600160a01b0392831660048201529116602482015260448101849052606401600060405180830381600087803b158015610fd557600080fd5b505af1158015610fe9573d6000803e3d6000fd5b5050505060008054906101000a90046001600160a01b03166001600160a01b031663a72a596b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561103957600080fd5b505afa15801561104d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107191906115ca565b60005460405163068ed78b60e31b81526001600160a01b038781166004830152928316926340c10f19928892911690633476bc589060240160206040518083038186803b1580156110c157600080fd5b505afa1580156110d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f991906115e7565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561113f57600080fd5b505af1158015611153573d6000803e3d6000fd5b505060005460405163177e2ddf60e11b81526001600160a01b038881166004830152602482018890529091169250632efc5bbe9150604401600060405180830381600087803b1580156111a557600080fd5b505af11580156111b9573d6000803e3d6000fd5b5050505060008054906101000a90046001600160a01b03166001600160a01b0316636af667726040518163ffffffff1660e01b815260040160206040518083038186803b15801561120957600080fd5b505afa15801561121d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124191906115ca565b6001600160a01b0316846001600160a01b03167f69cac3b0665489073c5a8caab5801cc1f2f7e21f46194269fce3f6486d77cd5a8560405161128591815260200190565b60405180910390a350505050565b6001821115610ad65760405163e6e9237160e01b8152600260048201526001600160a01b0385166024820152731f35fb4ba99e9676d2c2ea7b832a91fa24afe1fd9063e6e923719060440160006040518083038186803b1580156112f657600080fd5b505af415801561130a573d6000803e3d6000fd5b5050506001600160a01b03851660009081526003602090815260409182902082516080810190935286835292508101611344600186611581565b8152602001611354600186611581565b61135e9085611600565b81524260209182015282546001818101855560009485529382902083516004909202019081559082015192810192909255604081015160028301556060015160039091015550505050565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03811681146104ea57600080fd5b60006020828403121561142257600080fd5b813561142d816113fb565b9392505050565b602080825282518282018190526000919060409081850190868401855b8281101561148b57815180518552868101518786015285810151868601526060908101519085015260809093019290850190600101611451565b5091979650505050505050565b600080600080608085870312156114ae57600080fd5b84356114b9816113fb565b966020860135965060408601359560600135945092505050565b6020808252825182820181905260009190848201906040850190845b818110156115145783516001600160a01b0316835292840192918401916001016114ef565b50909695505050505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000828210156115935761159361156b565b500390565b6000816115a7576115a761156b565b506000190190565b60006000198214156115c3576115c361156b565b5060010190565b6000602082840312156115dc57600080fd5b815161142d816113fb565b6000602082840312156115f957600080fd5b5051919050565b60008261161d57634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220efe3a059d1e423b92cf71aabbb1d2898c7e6eb4603524f1284da25478b20b14064736f6c63430008090033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100885760003560e01c8063715018a61161005b578063715018a6146100e6578063f21dc810146100ee578063f2f705c114610109578063f2fde38b1461011e57600080fd5b80631bc2f8321461008d57806320e68b3b146100b657806349819d4a146100cb5780636e054ca7146100d3575b600080fd5b6100a061009b366004611410565b610131565b6040516100ad9190611434565b60405180910390f35b6100c96100c4366004611410565b6101ce565b005b6100c961029e565b6100c96100e1366004611498565b6104ed565b6100c9610adc565b6000546040516001600160a01b0390911681526020016100ad565b610111610b12565b6040516100ad91906114d3565b6100c961012c366004611410565b610b74565b6001600160a01b0381166000908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b828210156101c3578382906000526020600020906004020160405180608001604052908160008201548152602001600182015481526020016002820154815260200160038201548152505081526020019060010190610169565b505050509050919050565b6001546001600160a01b031633146102015760405162461bcd60e51b81526004016101f890611520565b60405180910390fd5b6001600160a01b0381166102405760405162461bcd60e51b81526004016101f8906020808252600490820152635a45524f60e01b604082015260600190565b600080546040516001600160a01b038085169392169133917fdea9171acb4e68344f671233b6c76596ec7a05e2cdeddeaecac7708da57b148d9190a4600080546001600160a01b0319166001600160a01b0392909216919091179055565b60005b6002548110156104ea57600060036000600284815481106102c4576102c4611555565b60009182526020808320909101546001600160a01b031683528281019390935260409182018120805483518186028101860190945280845292939092919084015b8282101561035f578382906000526020600020906004020160405180608001604052908160008201548152602001600182015481526020016002820154815260200160038201548152505081526020019060010190610305565b50505050905060005b81518110156104d557600082828151811061038557610385611555565b60200260200101519050600081602001511180156103b45750604081015160608201516103b29042611581565b115b156104c2576103ee600285815481106103cf576103cf611555565b60009182526020909120015482516001600160a01b0390911690610c60565b600360006002868154811061040557610405611555565b60009182526020808320909101546001600160a01b03168352820192909252604001902080548390811061043b5761043b611555565b60009182526020822060016004909202010180549161045983611598565b919050555042600360006002878154811061047657610476611555565b60009182526020808320909101546001600160a01b0316835282019290925260400190208054849081106104ac576104ac611555565b9060005260206000209060040201600301819055505b50806104cd816115af565b915050610368565b505080806104e2906115af565b9150506102a1565b50565b60006001600160a01b031660008054906101000a90046001600160a01b03166001600160a01b031663a72a596b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561054457600080fd5b505afa158015610558573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057c91906115ca565b6001600160a01b031614156105e35760405162461bcd60e51b815260206004820152602760248201527f7374616b696e6750545046726f6d4f746865723a20566550545020646f6573206044820152661b9bdd081cd95d60ca1b60648201526084016101f8565b6000546040805163357b33b960e11b8152905185926001600160a01b031691636af66772916004808301926020929190829003018186803b15801561062757600080fd5b505afa15801561063b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065f91906115ca565b6040516370a0823160e01b81526001600160a01b03878116600483015291909116906370a082319060240160206040518083038186803b1580156106a257600080fd5b505afa1580156106b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106da91906115e7565b10156107395760405162461bcd60e51b815260206004820152602860248201527f7374616b696e6750545046726f6d4f746865723a20696e73756666696369656e6044820152671d08185b5bdd5b9d60c21b60648201526084016101f8565b60008054906101000a90046001600160a01b03166001600160a01b0316636af667726040518163ffffffff1660e01b815260040160206040518083038186803b15801561078557600080fd5b505afa158015610799573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bd91906115ca565b600054604051637f92366f60e01b81526001600160a01b038781166004830152918216602482015260448101869052911690637f92366f90606401600060405180830381600087803b15801561081257600080fd5b505af1158015610826573d6000803e3d6000fd5b5050505060008054906101000a90046001600160a01b03166001600160a01b031663a72a596b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561087657600080fd5b505afa15801561088a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ae91906115ca565b60005460405163068ed78b60e31b81526001600160a01b038781166004830152928316926340c10f19928892911690633476bc589060240160206040518083038186803b1580156108fe57600080fd5b505afa158015610912573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093691906115e7565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561097c57600080fd5b505af1158015610990573d6000803e3d6000fd5b505060005460405163177e2ddf60e11b81526001600160a01b038881166004830152602482018890529091169250632efc5bbe9150604401600060405180830381600087803b1580156109e257600080fd5b505af11580156109f6573d6000803e3d6000fd5b5050505060008054906101000a90046001600160a01b03166001600160a01b0316636af667726040518163ffffffff1660e01b815260040160206040518083038186803b158015610a4657600080fd5b505afa158015610a5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7e91906115ca565b6001600160a01b0316846001600160a01b03167f69cac3b0665489073c5a8caab5801cc1f2f7e21f46194269fce3f6486d77cd5a85604051610ac291815260200190565b60405180910390a3610ad684848484611293565b50505050565b6001546001600160a01b03163314610b065760405162461bcd60e51b81526004016101f890611520565b610b1060006113a9565b565b60606002805480602002602001604051908101604052809291908181526020018280548015610b6a57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610b4c575b5050505050905090565b6001546001600160a01b03163314610b9e5760405162461bcd60e51b81526004016101f890611520565b6001600160a01b038116610c035760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016101f8565b6001546001600160a01b0382811691161415610c575760405162461bcd60e51b815260206004820152601360248201527227bbb730b136329d1039b0b6b29037bbb732b960691b60448201526064016101f8565b6104ea816113a9565b6000610c6d600283611600565b90506000610c7b8284611581565b905060008054906101000a90046001600160a01b03166001600160a01b0316636af667726040518163ffffffff1660e01b815260040160206040518083038186803b158015610cc957600080fd5b505afa158015610cdd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d0191906115ca565b6001600160a01b0316637f92366f60008054906101000a90046001600160a01b03166001600160a01b0316636af667726040518163ffffffff1660e01b815260040160206040518083038186803b158015610d5b57600080fd5b505afa158015610d6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9391906115ca565b60005460405160e084901b6001600160e01b03191681526001600160a01b0392831660048201529116602482015260448101859052606401600060405180830381600087803b158015610de557600080fd5b505af1158015610df9573d6000803e3d6000fd5b5050505060008054906101000a90046001600160a01b03166001600160a01b0316636af667726040518163ffffffff1660e01b815260040160206040518083038186803b158015610e4957600080fd5b505afa158015610e5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8191906115ca565b6001600160a01b0316637f92366f60008054906101000a90046001600160a01b03166001600160a01b0316636af667726040518163ffffffff1660e01b815260040160206040518083038186803b158015610edb57600080fd5b505afa158015610eef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1391906115ca565b6001600160a01b031663e4440a866040518163ffffffff1660e01b815260040160206040518083038186803b158015610f4b57600080fd5b505afa158015610f5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8391906115ca565b60005460405160e084901b6001600160e01b03191681526001600160a01b0392831660048201529116602482015260448101849052606401600060405180830381600087803b158015610fd557600080fd5b505af1158015610fe9573d6000803e3d6000fd5b5050505060008054906101000a90046001600160a01b03166001600160a01b031663a72a596b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561103957600080fd5b505afa15801561104d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107191906115ca565b60005460405163068ed78b60e31b81526001600160a01b038781166004830152928316926340c10f19928892911690633476bc589060240160206040518083038186803b1580156110c157600080fd5b505afa1580156110d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f991906115e7565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561113f57600080fd5b505af1158015611153573d6000803e3d6000fd5b505060005460405163177e2ddf60e11b81526001600160a01b038881166004830152602482018890529091169250632efc5bbe9150604401600060405180830381600087803b1580156111a557600080fd5b505af11580156111b9573d6000803e3d6000fd5b5050505060008054906101000a90046001600160a01b03166001600160a01b0316636af667726040518163ffffffff1660e01b815260040160206040518083038186803b15801561120957600080fd5b505afa15801561121d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124191906115ca565b6001600160a01b0316846001600160a01b03167f69cac3b0665489073c5a8caab5801cc1f2f7e21f46194269fce3f6486d77cd5a8560405161128591815260200190565b60405180910390a350505050565b6001821115610ad65760405163e6e9237160e01b8152600260048201526001600160a01b0385166024820152731f35fb4ba99e9676d2c2ea7b832a91fa24afe1fd9063e6e923719060440160006040518083038186803b1580156112f657600080fd5b505af415801561130a573d6000803e3d6000fd5b5050506001600160a01b03851660009081526003602090815260409182902082516080810190935286835292508101611344600186611581565b8152602001611354600186611581565b61135e9085611600565b81524260209182015282546001818101855560009485529382902083516004909202019081559082015192810192909255604081015160028301556060015160039091015550505050565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03811681146104ea57600080fd5b60006020828403121561142257600080fd5b813561142d816113fb565b9392505050565b602080825282518282018190526000919060409081850190868401855b8281101561148b57815180518552868101518786015285810151868601526060908101519085015260809093019290850190600101611451565b5091979650505050505050565b600080600080608085870312156114ae57600080fd5b84356114b9816113fb565b966020860135965060408601359560600135945092505050565b6020808252825182820181905260009190848201906040850190845b818110156115145783516001600160a01b0316835292840192918401916001016114ef565b50909695505050505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000828210156115935761159361156b565b500390565b6000816115a7576115a761156b565b506000190190565b60006000198214156115c3576115c361156b565b5060010190565b6000602082840312156115dc57600080fd5b815161142d816113fb565b6000602082840312156115f957600080fd5b5051919050565b60008261161d57634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220efe3a059d1e423b92cf71aabbb1d2898c7e6eb4603524f1284da25478b20b14064736f6c63430008090033

Library Used


Deployed Bytecode Sourcemap

3583:4832:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4747:119;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5255:298;;;;;;:::i;:::-;;:::i;:::-;;7650:762;;;:::i;5752:796::-;;;;;;:::i;:::-;;:::i;4532:95::-;;;:::i;5136:111::-;5188:7;5223:15;5136:111;;-1:-1:-1;;;;;5223:15:0;;;2214:51:1;;2202:2;2187:18;5136:111:0;2068:203:1;4635:104:0;;;:::i;:::-;;;;;;;:::i;4874:254::-;;;;;;:::i;:::-;;:::i;4747:119::-;-1:-1:-1;;;;;4841:17:0;;;;;;:11;:17;;;;;;;;4834:24;;;;;;;;;;;;;;;;;4802:19;;4834:24;;4841:17;;4834:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4747:119;;;:::o;5255:298::-;4446:6;;-1:-1:-1;;;;;4446:6:0;4456:10;4446:20;4438:65;;;;-1:-1:-1;;;4438:65:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;5342:25:0;::::1;5334:42;;;;-1:-1:-1::0;;;5334:42:0::1;;;;;;3502:2:1::0;3484:21;;;3541:1;3521:18;;;3514:29;-1:-1:-1;;;3574:2:1;3559:18;;3552:34;3618:2;3603:18;;3300:327;5334:42:0::1;5461:15;::::0;;5392:122:::1;::::0;-1:-1:-1;;;;;5392:122:0;;::::1;::::0;5461:15;::::1;::::0;5428:10:::1;::::0;5392:122:::1;::::0;5461:15;5392:122:::1;5525:15;:20:::0;;-1:-1:-1;;;;;;5525:20:0::1;-1:-1:-1::0;;;;;5525:20:0;;;::::1;::::0;;;::::1;::::0;;5255:298::o;7650:762::-;7704:6;7699:706;7715:14;:21;7713:23;;7699:706;;;7757:31;7791:11;:30;7803:14;7818:1;7803:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;7803:17:0;7791:30;;;;;;;;;;;;;;;7757:64;;;;;;;;;;;;;;;;;;;7791:30;;7757:64;7803:17;7757:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7841:6;7836:558;7852:11;:18;7850:1;:20;7836:558;;;7895:25;7923:11;7935:1;7923:14;;;;;;;;:::i;:::-;;;;;;;7895:42;;7982:1;7960:7;:19;;;:23;:89;;;;-1:-1:-1;8029:20:0;;;;8005:21;;;;7987:39;;:15;:39;:::i;:::-;:62;7960:89;7956:423;;;8074:61;8091:14;8106:1;8091:17;;;;;;;;:::i;:::-;;;;;;;;;;;8110:24;;-1:-1:-1;;;;;8091:17:0;;;;8074:15;:61::i;:::-;8223:11;:30;8235:14;8250:1;8235:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;8235:17:0;8223:30;;;;;;;;;;;;:33;;8254:1;;8223:33;;;;;;:::i;:::-;;;;;;;;:45;:33;;;;;:45;:48;;;;;;:::i;:::-;;;;;;8344:15;8294:11;:30;8306:14;8321:1;8306:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;8306:17:0;8294:30;;;;;;;;;;;;:33;;8325:1;;8294:33;;;;;;:::i;:::-;;;;;;;;;;;:47;;:65;;;;7956:423;-1:-1:-1;7871:3:0;;;;:::i;:::-;;;;7836:558;;;;7742:663;7737:3;;;;;:::i;:::-;;;;7699:706;;;;7650:762::o;5752:796::-;5939:1;-1:-1:-1;;;;;5895:46:0;5903:15;;;;;;;;-1:-1:-1;;;;;5903:15:0;-1:-1:-1;;;;;5903:21:0;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;5895:46:0;;;5887:98;;;;-1:-1:-1;;;5887:98:0;;4765:2:1;5887:98:0;;;4747:21:1;4804:2;4784:18;;;4777:30;4843:34;4823:18;;;4816:62;-1:-1:-1;;;4894:18:1;;;4887:37;4941:19;;5887:98:0;4563:403:1;5887:98:0;6020:15;;:21;;;-1:-1:-1;;;6020:21:0;;;;6062:6;;-1:-1:-1;;;;;6020:15:0;;:19;;:21;;;;;;;;;;;;;;:15;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6012:46;;-1:-1:-1;;;6012:46:0;;-1:-1:-1;;;;;2232:32:1;;;6012:46:0;;;2214:51:1;6012:40:0;;;;;;;2187:18:1;;6012:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:56;;6004:109;;;;-1:-1:-1;;;6004:109:0;;5362:2:1;6004:109:0;;;5344:21:1;5401:2;5381:18;;;5374:30;5440:34;5420:18;;;5413:62;-1:-1:-1;;;5491:18:1;;;5484:38;5539:19;;6004:109:0;5160:404:1;6004:109:0;6132:15;;;;;;;;-1:-1:-1;;;;;6132:15:0;-1:-1:-1;;;;;6132:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6192:15;;6124:93;;-1:-1:-1;;;6124:93:0;;-1:-1:-1;;;;;5827:15:1;;;6124:93:0;;;5809:34:1;6192:15:0;;;5859:18:1;;;5852:43;5911:18;;;5904:34;;;6124:53:0;;;;;5744:18:1;;6124:93:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6238:15;;;;;;;;-1:-1:-1;;;;;6238:15:0;-1:-1:-1;;;;;6238:21:0;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6274:15;;:40;;-1:-1:-1;;;6274:40:0;;-1:-1:-1;;;;;2232:32:1;;;6274:40:0;;;2214:51:1;6228:39:0;;;;;;6268:4;;6274:15;;;:34;;2187:18:1;;6274:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6228:87;;-1:-1:-1;;;;;;6228:87:0;;;;;;;-1:-1:-1;;;;;6141:32:1;;;6228:87:0;;;6123:51:1;6190:18;;;6183:34;6096:18;;6228:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6326:15:0;;:63;;-1:-1:-1;;;6326:63:0;;-1:-1:-1;;;;;6141:32:1;;;6326:63:0;;;6123:51:1;6190:18;;;6183:34;;;6326:15:0;;;;-1:-1:-1;6326:49:0;;-1:-1:-1;6096:18:1;;6326:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6429:15;;;;;;;;-1:-1:-1;;;;;6429:15:0;-1:-1:-1;;;;;6429:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;6405:55:0;6415:4;-1:-1:-1;;;;;6405:55:0;;6453:6;6405:55;;;;6374:25:1;;6362:2;6347:18;;6228:177;6405:55:0;;;;;;;;6471:61;6490:4;6496:6;6504:11;6517:14;6471:17;:61::i;:::-;5752:796;;;;:::o;4532:95::-;4446:6;;-1:-1:-1;;;;;4446:6:0;4456:10;4446:20;4438:65;;;;-1:-1:-1;;;4438:65:0;;;;;;;:::i;:::-;4589:30:::1;4616:1;4589:18;:30::i;:::-;4532:95::o:0;4635:104::-;4681:16;4717:14;4710:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4710:21:0;;;;;;;;;;;;;;;;;;;;;;;4635:104;:::o;4874:254::-;4446:6;;-1:-1:-1;;;;;4446:6:0;4456:10;4446:20;4438:65;;;;-1:-1:-1;;;4438:65:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4955:22:0;::::1;4947:73;;;::::0;-1:-1:-1;;;4947:73:0;;6612:2:1;4947:73:0::1;::::0;::::1;6594:21:1::0;6651:2;6631:18;;;6624:30;6690:34;6670:18;;;6663:62;-1:-1:-1;;;6741:18:1;;;6734:36;6787:19;;4947:73:0::1;6410:402:1::0;4947:73:0::1;5051:6;::::0;-1:-1:-1;;;;;5039:18:0;;::::1;5051:6:::0;::::1;5039:18;;5031:50;;;::::0;-1:-1:-1;;;5031:50:0;;7019:2:1;5031:50:0::1;::::0;::::1;7001:21:1::0;7058:2;7038:18;;;7031:30;-1:-1:-1;;;7077:18:1;;;7070:49;7136:18;;5031:50:0::1;6817:343:1::0;5031:50:0::1;5092:28;5111:8;5092:18;:28::i;6929:713::-:0;7013:12;7028:10;7037:1;7028:6;:10;:::i;:::-;7013:25;-1:-1:-1;7049:19:0;7071:13;7013:25;7071:6;:13;:::i;:::-;7049:35;;7110:15;;;;;;;;-1:-1:-1;;;;;7110:15:0;-1:-1:-1;;;;;7110:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7102:53:0;;7164:15;;;;;;;;-1:-1:-1;;;;;7164:15:0;-1:-1:-1;;;;;7164:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7196:15;;7102:117;;;;;;-1:-1:-1;;;;;;7102:117:0;;;-1:-1:-1;;;;;5827:15:1;;;7102:117:0;;;5809:34:1;7196:15:0;;5859:18:1;;;5852:43;5911:18;;;5904:34;;;5744:18;;7102:117:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7238:15;;;;;;;;-1:-1:-1;;;;;7238:15:0;-1:-1:-1;;;;;7238:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7230:53:0;;7292:15;;;;;;;;-1:-1:-1;;;;;7292:15:0;-1:-1:-1;;;;;7292:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7284:43:0;;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7339:15;;7230:139;;;;;;-1:-1:-1;;;;;;7230:139:0;;;-1:-1:-1;;;;;5827:15:1;;;7230:139:0;;;5809:34:1;7339:15:0;;5859:18:1;;;5852:43;5911:18;;;5904:34;;;5744:18;;7230:139:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7398:15;;;;;;;;-1:-1:-1;;;;;7398:15:0;-1:-1:-1;;;;;7398:21:0;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7434:15;;:40;;-1:-1:-1;;;7434:40:0;;-1:-1:-1;;;;;2232:32:1;;;7434:40:0;;;2214:51:1;7388:39:0;;;;;;7428:4;;7434:15;;;:34;;2187:18:1;;7434:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7388:87;;-1:-1:-1;;;;;;7388:87:0;;;;;;;-1:-1:-1;;;;;6141:32:1;;;7388:87:0;;;6123:51:1;6190:18;;;6183:34;6096:18;;7388:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7486:15:0;;:63;;-1:-1:-1;;;7486:63:0;;-1:-1:-1;;;;;6141:32:1;;;7486:63:0;;;6123:51:1;6190:18;;;6183:34;;;7486:15:0;;;;-1:-1:-1;7486:49:0;;-1:-1:-1;6096:18:1;;7486:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7597:15;;;;;;;;-1:-1:-1;;;;;7597:15:0;-1:-1:-1;;;;;7597:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7573:55:0;7583:4;-1:-1:-1;;;;;7573:55:0;;7621:6;7573:55;;;;6374:25:1;;6362:2;6347:18;;6228:177;7573:55:0;;;;;;;;6993:649;;6929:713;;:::o;6559:362::-;6703:1;6689:11;:15;6685:228;;;6721:42;;-1:-1:-1;;;6721:42:0;;6742:14;6721:42;;;7591:25:1;-1:-1:-1;;;;;7652:32:1;;7632:18;;;7625:60;6721:12:0;;:20;;7564:18:1;;6721:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;6790:17:0;;;;;;:11;:17;;;;;;;;;6813:87;;;;;;;;;;;6790:17;-1:-1:-1;6813:87:0;;6837:13;6849:1;6837:11;:13;:::i;:::-;6813:87;;;;6868:13;6880:1;6868:11;:13;:::i;:::-;6852:30;;:14;:30;:::i;:::-;6813:87;;6884:15;6813:87;;;;;6790:111;;;;;;;;-1:-1:-1;6790:111:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6559:362;;;;:::o;5561:183::-;5646:6;;;-1:-1:-1;;;;;5663:17:0;;;-1:-1:-1;;;;;;5663:17:0;;;;;;;5696:40;;5646:6;;;5663:17;5646:6;;5696:40;;5627:16;;5696:40;5616:128;5561:183;:::o;14:131:1:-;-1:-1:-1;;;;;89:31:1;;79:42;;69:70;;135:1;132;125:12;150:247;209:6;262:2;250:9;241:7;237:23;233:32;230:52;;;278:1;275;268:12;230:52;317:9;304:23;336:31;361:5;336:31;:::i;:::-;386:5;150:247;-1:-1:-1;;;150:247:1:o;402:927::-;627:2;679:21;;;749:13;;652:18;;;771:22;;;598:4;;627:2;812;;830:18;;;;871:15;;;598:4;914:389;928:6;925:1;922:13;914:389;;;987:13;;1025:9;;1013:22;;1075:11;;;1069:18;1055:12;;;1048:40;1128:11;;;1122:18;1108:12;;;1101:40;1164:4;1208:11;;;1202:18;1188:12;;;1181:40;1250:4;1241:14;;;;1278:15;;;;950:1;943:9;914:389;;;-1:-1:-1;1320:3:1;;402:927;-1:-1:-1;;;;;;;402:927:1:o;1611:452::-;1697:6;1705;1713;1721;1774:3;1762:9;1753:7;1749:23;1745:33;1742:53;;;1791:1;1788;1781:12;1742:53;1830:9;1817:23;1849:31;1874:5;1849:31;:::i;:::-;1899:5;1951:2;1936:18;;1923:32;;-1:-1:-1;2002:2:1;1987:18;;1974:32;;2053:2;2038:18;2025:32;;-1:-1:-1;1611:452:1;-1:-1:-1;;;1611:452:1:o;2276:658::-;2447:2;2499:21;;;2569:13;;2472:18;;;2591:22;;;2418:4;;2447:2;2670:15;;;;2644:2;2629:18;;;2418:4;2713:195;2727:6;2724:1;2721:13;2713:195;;;2792:13;;-1:-1:-1;;;;;2788:39:1;2776:52;;2883:15;;;;2848:12;;;;2824:1;2742:9;2713:195;;;-1:-1:-1;2925:3:1;;2276:658;-1:-1:-1;;;;;;2276:658:1:o;2939:356::-;3141:2;3123:21;;;3160:18;;;3153:30;3219:34;3214:2;3199:18;;3192:62;3286:2;3271:18;;2939:356::o;3632:127::-;3693:10;3688:3;3684:20;3681:1;3674:31;3724:4;3721:1;3714:15;3748:4;3745:1;3738:15;3764:127;3825:10;3820:3;3816:20;3813:1;3806:31;3856:4;3853:1;3846:15;3880:4;3877:1;3870:15;3896:125;3936:4;3964:1;3961;3958:8;3955:34;;;3969:18;;:::i;:::-;-1:-1:-1;4006:9:1;;3896:125::o;4026:136::-;4065:3;4093:5;4083:39;;4102:18;;:::i;:::-;-1:-1:-1;;;4138:18:1;;4026:136::o;4167:135::-;4206:3;-1:-1:-1;;4227:17:1;;4224:43;;;4247:18;;:::i;:::-;-1:-1:-1;4294:1:1;4283:13;;4167:135::o;4307:251::-;4377:6;4430:2;4418:9;4409:7;4405:23;4401:32;4398:52;;;4446:1;4443;4436:12;4398:52;4478:9;4472:16;4497:31;4522:5;4497:31;:::i;4971:184::-;5041:6;5094:2;5082:9;5073:7;5069:23;5065:32;5062:52;;;5110:1;5107;5100:12;5062:52;-1:-1:-1;5133:16:1;;4971:184;-1:-1:-1;4971:184:1:o;7165:217::-;7205:1;7231;7221:132;;7275:10;7270:3;7266:20;7263:1;7256:31;7310:4;7307:1;7300:15;7338:4;7335:1;7328:15;7221:132;-1:-1:-1;7367:9:1;;7165:217::o

Swarm Source

ipfs://efe3a059d1e423b92cf71aabbb1d2898c7e6eb4603524f1284da25478b20b140

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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