FTM Price: $0.67 (-9.23%)
Gas: 20 GWei

Contract

0xbD777Af905F603797CFC1E8eBa229DaD26FE4863
 

Overview

FTM Balance

Fantom LogoFantom LogoFantom Logo0 FTM

FTM Value

$0.00

Sponsored

Transaction Hash
Method
Block
From
To
Value
Boosted Buy And ...693834132023-10-16 9:24:58183 days ago1697448298IN
0xbD777Af9...D26FE4863
0 FTM0.0195231429.83853457
Boosted Buy And ...693206252023-10-14 15:09:18184 days ago1697296158IN
0xbD777Af9...D26FE4863
0 FTM0.0425736864.59318291
Boosted Buy And ...692686002023-10-13 3:02:24186 days ago1697166144IN
0xbD777Af9...D26FE4863
0 FTM0.0408295260
Boosted Buy And ...692575262023-10-12 18:33:39186 days ago1697135619IN
0xbD777Af9...D26FE4863
0 FTM0.0337786851.62332141
Boosted Buy And ...692338012023-10-11 23:55:23187 days ago1697068523IN
0xbD777Af9...D26FE4863
0 FTM0.065347100
Boosted Buy And ...692219712023-10-11 15:09:42187 days ago1697036982IN
0xbD777Af9...D26FE4863
0 FTM0.0395928460.58982469
Boosted Buy And ...691014342023-10-08 1:59:36191 days ago1696730376IN
0xbD777Af9...D26FE4863
0 FTM0.0160315823.1
Boosted Buy And ...690580142023-10-06 21:34:49192 days ago1696628089IN
0xbD777Af9...D26FE4863
0 FTM0.0196037130
Boosted Buy And ...690210532023-10-05 21:22:00193 days ago1696540920IN
0xbD777Af9...D26FE4863
0 FTM0.016175824.7542061
Boosted Buy And ...689726812023-10-04 13:20:07194 days ago1696425607IN
0xbD777Af9...D26FE4863
0 FTM0.0227460930
Boosted Buy And ...689392842023-10-03 15:28:48195 days ago1696346928IN
0xbD777Af9...D26FE4863
0 FTM0.16392401250.85661564
Boosted Buy And ...687980602023-09-30 5:34:52199 days ago1696052092IN
0xbD777Af9...D26FE4863
0 FTM0.0184311928
Boosted Buy And ...686413632023-09-26 18:19:22202 days ago1695752362IN
0xbD777Af9...D26FE4863
0 FTM0.07322532106.98511695
Boosted Buy And ...685750872023-09-25 3:31:20204 days ago1695612680IN
0xbD777Af9...D26FE4863
0 FTM0.0160051724.49307637
Boosted Buy And ...685636262023-09-24 22:27:26204 days ago1695594446IN
0xbD777Af9...D26FE4863
0 FTM0.0177118727.10434247
Boosted Buy And ...684561392023-09-22 15:38:32206 days ago1695397112IN
0xbD777Af9...D26FE4863
0 FTM0.09796277148.82147735
Boosted Buy And ...684330172023-09-22 1:16:00207 days ago1695345360IN
0xbD777Af9...D26FE4863
0 FTM0.0238111834
Boosted Buy And ...684165662023-09-21 16:41:22207 days ago1695314482IN
0xbD777Af9...D26FE4863
0 FTM0.07022225106.67908617
Boosted Buy And ...684108312023-09-21 12:49:02207 days ago1695300542IN
0xbD777Af9...D26FE4863
0 FTM0.0608213392.3957292
Boosted Buy And ...683943112023-09-21 0:50:17208 days ago1695257417IN
0xbD777Af9...D26FE4863
0 FTM0.0230385735
Boosted Buy And ...683685522023-09-20 7:12:38209 days ago1695193958IN
0xbD777Af9...D26FE4863
0 FTM0.0411677963
Boosted Buy And ...683633182023-09-20 3:16:16209 days ago1695179776IN
0xbD777Af9...D26FE4863
0 FTM0.044856566
Boosted Buy And ...682949532023-09-18 1:19:07211 days ago1694999947IN
0xbD777Af9...D26FE4863
0 FTM0.0183503827
Boosted Buy And ...682822802023-09-17 16:41:15211 days ago1694968875IN
0xbD777Af9...D26FE4863
0 FTM0.0685912294.6827622
Boosted Buy And ...682448212023-09-16 14:00:42212 days ago1694872842IN
0xbD777Af9...D26FE4863
0 FTM0.38396978528.44145553
View all transactions

Latest 1 internal transaction

Parent Txn Hash Block From To Value
660517562023-07-19 13:55:01271 days ago1689774901  Contract Creation0 FTM
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
veFlowBooster

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU AGPLv3 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at ftmscan.com on 2023-07-19
*/

// SPDX-License-Identifier: MIT


// OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol)




// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)



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

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


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

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

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

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

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

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

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

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

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}


interface IERC20 {
    function totalSupply() external view returns (uint256);
    function transfer(address recipient, uint amount) external returns (bool);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function balanceOf(address) external view returns (uint);
    function transferFrom(address sender, address recipient, uint amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint);
    function approve(address spender, uint value) external returns (bool);

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



interface IVotingEscrow {

    struct Point {
        int128 bias;
        int128 slope; // # -dweight / dt
        uint256 ts;
        uint256 blk; // block
    }

    function token() external view returns (address);
    function team() external returns (address);
    function epoch() external view returns (uint);
    function point_history(uint loc) external view returns (Point memory);
    function user_point_history(uint tokenId, uint loc) external view returns (Point memory);
    function user_point_epoch(uint tokenId) external view returns (uint);

    function ownerOf(uint) external view returns (address);
    function isApprovedOrOwner(address, uint) external view returns (bool);
    function transferFrom(address, address, uint) external;

    function voting(uint tokenId) external;
    function abstain(uint tokenId) external;
    function attach(uint tokenId) external;
    function detach(uint tokenId) external;

    function checkpoint() external;
    function deposit_for(uint tokenId, uint value) external;
    function create_lock_for(uint, uint, address) external returns (uint);

    function balanceOfNFT(uint) external view returns (uint);
    function totalSupply() external view returns (uint);
}



interface IRouter {
    function pairFor(address tokenA, address tokenB, bool stable) external view returns (address pair);
    function swapExactTokensForTokensSimple(uint amountIn, uint amountOutMin, address tokenFrom, address tokenTo, bool stable, address to, uint deadline) external returns (uint[] memory amounts);
    function getAmountOut(uint amountIn, address tokenIn, address tokenOut, bool stable) external view returns (uint amount);
	function getReserves(address tokenA, address tokenB, bool stable) external view returns (uint, uint);
    function addLiquidity(
        address tokenA,
        address tokenB,
        bool stable,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint, uint, uint);
}


interface IPair {
    function metadata() external view returns (uint dec0, uint dec1, uint r0, uint r1, bool st, address t0, address t1);
    function tokens() external returns (address, address);
    function token0() external returns (address);
    function token1() external returns (address);
    function externalBribe() external returns (address);
    function transferFrom(address src, address dst, uint amount) external returns (bool);
    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function burn(address to) external returns (uint amount0, uint amount1);
    function mint(address to) external returns (uint liquidity);
    function getReserves() external view returns (uint _reserve0, uint _reserve1, uint _blockTimestampLast);
    function getAmountOut(uint, address) external view returns (uint);
    function setHasGauge(bool value) external;
    function setExternalBribe(address _externalBribe) external;
    function hasGauge() external view returns (bool);
    function stable() external view returns (bool);
    function prices(address tokenIn, uint amountIn, uint points) external view returns (uint[] memory);
}


pragma solidity ^0.8.13;

contract veFlowBooster is Ownable {
    address public paymentToken;
    address public router;
    address public flow;
    address public voting_escrow;
    uint256 public matchRate = 50; // 50%
    uint256 public maxLock;

    event Boosted(uint256 indexed _timestamp, uint256 _totalLocked, address _locker);
    event Donated(uint256 indexed _timestamp, uint256 _amount);
    event MatchRateChanged(uint256 indexed _timestamp, uint256 _newRate);

    constructor(address _voting_escrow, address _team, address _paymentToken, uint256 _maxLock, address _router) {
        voting_escrow = _voting_escrow;
        _transferOwnership(_team);
        flow = IVotingEscrow(voting_escrow).token();
        paymentToken = _paymentToken;
        maxLock = _maxLock;
        router = _router;
        _giveAllowances();
    }

    function balanceOfFlow() public view returns (uint){
        return IERC20(flow).balanceOf(address(this));
    }

    function maxLockableAmount() public view returns (uint){
         uint256 flowBal = balanceOfFlow();
         uint256 amnt = flowBal * 100 / matchRate;
         return amnt;
    }

    function checkFlowBalanceEnough(uint256 _paymentAmount) public view returns (bool) {
        uint256 amount = IRouter(router).getAmountOut(_paymentAmount, paymentToken, flow, false);
        return balanceOfFlow() >= amount * matchRate  / 100;
    }

    function getExpectedAmount(uint256 _paymentAmount) external view returns (uint256) {
        uint256 amount = IRouter(router).getAmountOut(_paymentAmount, paymentToken, flow, false);
        return amount * matchRate  / 100 + amount;
    }

    function setMatchRate(uint256 _rate) external onlyOwner {
        require(_rate <= 100, 'cant give more than 1-1');
        matchRate = _rate;  

        emit MatchRateChanged(block.timestamp, matchRate);      
    }
    function setPaymentToken(address _paymentToken) external onlyOwner {
        require(_paymentToken != address(0));
        paymentToken = _paymentToken;
    }
    function setRouter(address _router) external onlyOwner {
        require(_router != address(0));
        router = _router;
    }

    function boostedBuyAndVeLock(uint256 _amount, uint _minOut) public {
        require(_amount > 0, 'need to lock at least 1 paymentToken');
        require(balanceOfFlow() > 0, 'no extra FLOW for boosting');
        IERC20(paymentToken).transferFrom(msg.sender, address(this), _amount);

        if (_minOut == 0) {
            _minOut = 1;
        }

        uint256 flowBefore = balanceOfFlow();
        IRouter(router).swapExactTokensForTokensSimple(_amount, _minOut, paymentToken, flow, false, address(this), block.timestamp);
        uint256 flowAfter = balanceOfFlow();
        uint256 flowResult = flowAfter - flowBefore;

        uint256 amountToLock = flowResult * matchRate  / 100 + flowResult;
        IVotingEscrow(voting_escrow).create_lock_for(amountToLock, maxLock, msg.sender);

        emit Boosted(block.timestamp, amountToLock, msg.sender);
    }

    function donateFlow(uint256 _amount) public {
        require(_amount > 0, 'need to add at least 1 FLOW');
        IERC20(flow).transferFrom(msg.sender, address(this), _amount);
        _giveAllowances();
        emit Donated(block.timestamp, _amount);

    }
    function inCaseTokensGetStuck(address _token, address _to) external onlyOwner {
        uint256 amount = IERC20(_token).balanceOf(address(this));
        IERC20(_token).transfer(_to, amount);
    }
    function _giveAllowances() internal {
        IERC20(flow).approve(voting_escrow, type(uint256).max);
        IERC20(paymentToken).approve(router, type(uint256).max);
    }
    function removeAllowances() public onlyOwner {
        IERC20(flow).approve(voting_escrow, 0);
        IERC20(paymentToken).approve(router, 0);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_voting_escrow","type":"address"},{"internalType":"address","name":"_team","type":"address"},{"internalType":"address","name":"_paymentToken","type":"address"},{"internalType":"uint256","name":"_maxLock","type":"uint256"},{"internalType":"address","name":"_router","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_timestamp","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_totalLocked","type":"uint256"},{"indexed":false,"internalType":"address","name":"_locker","type":"address"}],"name":"Boosted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_timestamp","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"Donated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_timestamp","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_newRate","type":"uint256"}],"name":"MatchRateChanged","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"},{"inputs":[],"name":"balanceOfFlow","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"_minOut","type":"uint256"}],"name":"boostedBuyAndVeLock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_paymentAmount","type":"uint256"}],"name":"checkFlowBalanceEnough","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"donateFlow","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"flow","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_paymentAmount","type":"uint256"}],"name":"getExpectedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_to","type":"address"}],"name":"inCaseTokensGetStuck","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"matchRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxLock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxLockableAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paymentToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeAllowances","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_rate","type":"uint256"}],"name":"setMatchRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_paymentToken","type":"address"}],"name":"setPaymentToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_router","type":"address"}],"name":"setRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"voting_escrow","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

608060405260326005553480156200001657600080fd5b50604051620013703803806200137083398101604081905262000039916200029c565b62000044336200012d565b600480546001600160a01b0319166001600160a01b0387161790556200006a846200012d565b6004805460408051637e062a3560e11b815290516001600160a01b039092169263fc0c546a9282820192602092908290030181865afa158015620000b2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000d8919062000303565b600380546001600160a01b03199081166001600160a01b0393841617909155600180548216868416179055600684905560028054909116918316919091179055620001226200017d565b50505050506200034c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6003546004805460405163095ea7b360e01b81526001600160a01b039182169281019290925260001960248301529091169063095ea7b3906044016020604051808303816000875af1158015620001d8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001fe919062000328565b5060015460025460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b3906044016020604051808303816000875af115801562000256573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027c919062000328565b50565b80516001600160a01b03811681146200029757600080fd5b919050565b600080600080600060a08688031215620002b557600080fd5b620002c0866200027f565b9450620002d0602087016200027f565b9350620002e0604087016200027f565b925060608601519150620002f7608087016200027f565b90509295509295909350565b6000602082840312156200031657600080fd5b62000321826200027f565b9392505050565b6000602082840312156200033b57600080fd5b815180151581146200032157600080fd5b611014806200035c6000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c80636c0b3e46116100ad578063dfe0503111610071578063dfe0503114610239578063f2b297cd1461024c578063f2fde38b1461025f578063f887ea4014610272578063fe32b1ea1461028557600080fd5b80636c0b3e46146101fc578063715018a6146102055780638da5cb5b1461020d578063c0d786551461021e578063d5b5340f1461023157600080fd5b8063343aad82116100f4578063343aad82146101a8578063445b3859146101bb57806349fa3b80146101ce5780635b9df3c3146101d65780636a326ab1146101e957600080fd5b80631939bbc1146101315780631b2c670014610146578063216d1c5814610162578063270247071461016a5780633013ce291461017d575b600080fd5b61014461013f366004610dc0565b6102a8565b005b61014f60055481565b6040519081526020015b60405180910390f35b61014f610398565b610144610178366004610df3565b61040a565b600154610190906001600160a01b031681565b6040516001600160a01b039091168152602001610159565b600354610190906001600160a01b031681565b6101446101c9366004610df3565b6104a6565b6101446105ac565b61014f6101e4366004610df3565b6106af565b6101446101f7366004610e0c565b61076a565b61014f60065481565b6101446107a7565b6000546001600160a01b0316610190565b61014461022c366004610e0c565b6107bb565b61014f6107f8565b600454610190906001600160a01b031681565b61014461025a366004610e27565b610821565b61014461026d366004610e0c565b610b0f565b600254610190906001600160a01b031681565b610298610293366004610df3565b610b85565b6040519015158152602001610159565b6102b0610c3f565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa1580156102f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031b9190610e49565b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018390529192509084169063a9059cbb906044016020604051808303816000875af115801561036e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103929190610e62565b50505050565b6003546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156103e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104059190610e49565b905090565b610412610c3f565b60648111156104685760405162461bcd60e51b815260206004820152601760248201527f63616e742067697665206d6f7265207468616e20312d3100000000000000000060448201526064015b60405180910390fd5b600581905560405181815242907fecaa50f493dea12bc53d8a2010b928fd6624f2f1ecfc6e10d3040600419cda0d906020015b60405180910390a250565b600081116104f65760405162461bcd60e51b815260206004820152601b60248201527f6e65656420746f20616464206174206c65617374203120464c4f570000000000604482015260640161045f565b6003546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303816000875af115801561054d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105719190610e62565b5061057a610c99565b427f3f2a7eec90b377537d640acdf78c4ffc072aec2431c1057ea33245c8f3255ce48260405161049b91815260200190565b6105b4610c3f565b6003546004805460405163095ea7b360e01b81526001600160a01b0391821692810192909252600060248301529091169063095ea7b3906044016020604051808303816000875af115801561060d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106319190610e62565b5060015460025460405163095ea7b360e01b81526001600160a01b0391821660048201526000602482015291169063095ea7b3906044015b6020604051808303816000875af1158015610688573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ac9190610e62565b50565b60025460015460035460405163da21423160e01b8152600481018590526001600160a01b0392831660248201529082166044820152600060648201819052928392169063da21423190608401602060405180830381865afa158015610718573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073c9190610e49565b90508060646005548361074f9190610e9a565b6107599190610eb9565b6107639190610edb565b9392505050565b610772610c3f565b6001600160a01b03811661078557600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6107af610c3f565b6107b96000610d54565b565b6107c3610c3f565b6001600160a01b0381166107d657600080fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b600080610803610398565b905060006005548260646108179190610e9a565b6107639190610eb9565b6000821161087d5760405162461bcd60e51b8152602060048201526024808201527f6e65656420746f206c6f636b206174206c656173742031207061796d656e745460448201526337b5b2b760e11b606482015260840161045f565b6000610887610398565b116108d45760405162461bcd60e51b815260206004820152601a60248201527f6e6f20657874726120464c4f5720666f7220626f6f7374696e67000000000000604482015260640161045f565b6001546040516323b872dd60e01b8152336004820152306024820152604481018490526001600160a01b03909116906323b872dd906064016020604051808303816000875af115801561092b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094f9190610e62565b508060000361095c575060015b6000610966610398565b6002546001546003546040516313dcfc5960e01b815260048101889052602481018790526001600160a01b0392831660448201529082166064820152600060848201523060a48201524260c482015292935016906313dcfc599060e4016000604051808303816000875af11580156109e2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a0a9190810190610f09565b506000610a15610398565b90506000610a238383610fc7565b9050600081606460055484610a389190610e9a565b610a429190610eb9565b610a4c9190610edb565b6004805460065460405163d4e54c3b60e01b815292830184905260248301523360448301529192506001600160a01b039091169063d4e54c3b906064016020604051808303816000875af1158015610aa8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acc9190610e49565b506040805182815233602082015242917fe1b931d2b8ee0a004219fe936a06ecb92204cde9fce14f9a62f6c698cf172535910160405180910390a2505050505050565b610b17610c3f565b6001600160a01b038116610b7c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161045f565b6106ac81610d54565b60025460015460035460405163da21423160e01b8152600481018590526001600160a01b0392831660248201529082166044820152600060648201819052928392169063da21423190608401602060405180830381865afa158015610bee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c129190610e49565b9050606460055482610c249190610e9a565b610c2e9190610eb9565b610c36610398565b10159392505050565b6000546001600160a01b031633146107b95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161045f565b6003546004805460405163095ea7b360e01b81526001600160a01b039182169281019290925260001960248301529091169063095ea7b3906044016020604051808303816000875af1158015610cf3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d179190610e62565b5060015460025460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b390604401610669565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b0381168114610dbb57600080fd5b919050565b60008060408385031215610dd357600080fd5b610ddc83610da4565b9150610dea60208401610da4565b90509250929050565b600060208284031215610e0557600080fd5b5035919050565b600060208284031215610e1e57600080fd5b61076382610da4565b60008060408385031215610e3a57600080fd5b50508035926020909101359150565b600060208284031215610e5b57600080fd5b5051919050565b600060208284031215610e7457600080fd5b8151801515811461076357600080fd5b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615610eb457610eb4610e84565b500290565b600082610ed657634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115610eee57610eee610e84565b500190565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215610f1c57600080fd5b825167ffffffffffffffff80821115610f3457600080fd5b818501915085601f830112610f4857600080fd5b815181811115610f5a57610f5a610ef3565b8060051b604051601f19603f83011681018181108582111715610f7f57610f7f610ef3565b604052918252848201925083810185019188831115610f9d57600080fd5b938501935b82851015610fbb57845184529385019392850192610fa2565b98975050505050505050565b600082821015610fd957610fd9610e84565b50039056fea2646970667358221220b710d7c7c677b75314149fd95fbb1d3f8b374dfc19bfc28d80dc977ae9658a4364736f6c634300080d0033000000000000000000000000ae459ee7377fb9f67518047bba5482c2f096323600000000000000000000000088dec6df03c2c111efd4ad89cef2c0347034afc000000000000000000000000021be370d5312f44cb42ce377bc9b8a0cef1a4c830000000000000000000000000000000000000000000000000000000001dfe2000000000000000000000000002e14b53e2cb669f3a974ceaf6c735e134f3aa9bc

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061012c5760003560e01c80636c0b3e46116100ad578063dfe0503111610071578063dfe0503114610239578063f2b297cd1461024c578063f2fde38b1461025f578063f887ea4014610272578063fe32b1ea1461028557600080fd5b80636c0b3e46146101fc578063715018a6146102055780638da5cb5b1461020d578063c0d786551461021e578063d5b5340f1461023157600080fd5b8063343aad82116100f4578063343aad82146101a8578063445b3859146101bb57806349fa3b80146101ce5780635b9df3c3146101d65780636a326ab1146101e957600080fd5b80631939bbc1146101315780631b2c670014610146578063216d1c5814610162578063270247071461016a5780633013ce291461017d575b600080fd5b61014461013f366004610dc0565b6102a8565b005b61014f60055481565b6040519081526020015b60405180910390f35b61014f610398565b610144610178366004610df3565b61040a565b600154610190906001600160a01b031681565b6040516001600160a01b039091168152602001610159565b600354610190906001600160a01b031681565b6101446101c9366004610df3565b6104a6565b6101446105ac565b61014f6101e4366004610df3565b6106af565b6101446101f7366004610e0c565b61076a565b61014f60065481565b6101446107a7565b6000546001600160a01b0316610190565b61014461022c366004610e0c565b6107bb565b61014f6107f8565b600454610190906001600160a01b031681565b61014461025a366004610e27565b610821565b61014461026d366004610e0c565b610b0f565b600254610190906001600160a01b031681565b610298610293366004610df3565b610b85565b6040519015158152602001610159565b6102b0610c3f565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa1580156102f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031b9190610e49565b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018390529192509084169063a9059cbb906044016020604051808303816000875af115801561036e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103929190610e62565b50505050565b6003546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156103e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104059190610e49565b905090565b610412610c3f565b60648111156104685760405162461bcd60e51b815260206004820152601760248201527f63616e742067697665206d6f7265207468616e20312d3100000000000000000060448201526064015b60405180910390fd5b600581905560405181815242907fecaa50f493dea12bc53d8a2010b928fd6624f2f1ecfc6e10d3040600419cda0d906020015b60405180910390a250565b600081116104f65760405162461bcd60e51b815260206004820152601b60248201527f6e65656420746f20616464206174206c65617374203120464c4f570000000000604482015260640161045f565b6003546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303816000875af115801561054d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105719190610e62565b5061057a610c99565b427f3f2a7eec90b377537d640acdf78c4ffc072aec2431c1057ea33245c8f3255ce48260405161049b91815260200190565b6105b4610c3f565b6003546004805460405163095ea7b360e01b81526001600160a01b0391821692810192909252600060248301529091169063095ea7b3906044016020604051808303816000875af115801561060d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106319190610e62565b5060015460025460405163095ea7b360e01b81526001600160a01b0391821660048201526000602482015291169063095ea7b3906044015b6020604051808303816000875af1158015610688573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ac9190610e62565b50565b60025460015460035460405163da21423160e01b8152600481018590526001600160a01b0392831660248201529082166044820152600060648201819052928392169063da21423190608401602060405180830381865afa158015610718573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073c9190610e49565b90508060646005548361074f9190610e9a565b6107599190610eb9565b6107639190610edb565b9392505050565b610772610c3f565b6001600160a01b03811661078557600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6107af610c3f565b6107b96000610d54565b565b6107c3610c3f565b6001600160a01b0381166107d657600080fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b600080610803610398565b905060006005548260646108179190610e9a565b6107639190610eb9565b6000821161087d5760405162461bcd60e51b8152602060048201526024808201527f6e65656420746f206c6f636b206174206c656173742031207061796d656e745460448201526337b5b2b760e11b606482015260840161045f565b6000610887610398565b116108d45760405162461bcd60e51b815260206004820152601a60248201527f6e6f20657874726120464c4f5720666f7220626f6f7374696e67000000000000604482015260640161045f565b6001546040516323b872dd60e01b8152336004820152306024820152604481018490526001600160a01b03909116906323b872dd906064016020604051808303816000875af115801561092b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094f9190610e62565b508060000361095c575060015b6000610966610398565b6002546001546003546040516313dcfc5960e01b815260048101889052602481018790526001600160a01b0392831660448201529082166064820152600060848201523060a48201524260c482015292935016906313dcfc599060e4016000604051808303816000875af11580156109e2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a0a9190810190610f09565b506000610a15610398565b90506000610a238383610fc7565b9050600081606460055484610a389190610e9a565b610a429190610eb9565b610a4c9190610edb565b6004805460065460405163d4e54c3b60e01b815292830184905260248301523360448301529192506001600160a01b039091169063d4e54c3b906064016020604051808303816000875af1158015610aa8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acc9190610e49565b506040805182815233602082015242917fe1b931d2b8ee0a004219fe936a06ecb92204cde9fce14f9a62f6c698cf172535910160405180910390a2505050505050565b610b17610c3f565b6001600160a01b038116610b7c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161045f565b6106ac81610d54565b60025460015460035460405163da21423160e01b8152600481018590526001600160a01b0392831660248201529082166044820152600060648201819052928392169063da21423190608401602060405180830381865afa158015610bee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c129190610e49565b9050606460055482610c249190610e9a565b610c2e9190610eb9565b610c36610398565b10159392505050565b6000546001600160a01b031633146107b95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161045f565b6003546004805460405163095ea7b360e01b81526001600160a01b039182169281019290925260001960248301529091169063095ea7b3906044016020604051808303816000875af1158015610cf3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d179190610e62565b5060015460025460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b390604401610669565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b0381168114610dbb57600080fd5b919050565b60008060408385031215610dd357600080fd5b610ddc83610da4565b9150610dea60208401610da4565b90509250929050565b600060208284031215610e0557600080fd5b5035919050565b600060208284031215610e1e57600080fd5b61076382610da4565b60008060408385031215610e3a57600080fd5b50508035926020909101359150565b600060208284031215610e5b57600080fd5b5051919050565b600060208284031215610e7457600080fd5b8151801515811461076357600080fd5b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615610eb457610eb4610e84565b500290565b600082610ed657634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115610eee57610eee610e84565b500190565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215610f1c57600080fd5b825167ffffffffffffffff80821115610f3457600080fd5b818501915085601f830112610f4857600080fd5b815181811115610f5a57610f5a610ef3565b8060051b604051601f19603f83011681018181108582111715610f7f57610f7f610ef3565b604052918252848201925083810185019188831115610f9d57600080fd5b938501935b82851015610fbb57845184529385019392850192610fa2565b98975050505050505050565b600082821015610fd957610fd9610e84565b50039056fea2646970667358221220b710d7c7c677b75314149fd95fbb1d3f8b374dfc19bfc28d80dc977ae9658a4364736f6c634300080d0033

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

000000000000000000000000ae459ee7377fb9f67518047bba5482c2f096323600000000000000000000000088dec6df03c2c111efd4ad89cef2c0347034afc000000000000000000000000021be370d5312f44cb42ce377bc9b8a0cef1a4c830000000000000000000000000000000000000000000000000000000001dfe2000000000000000000000000002e14b53e2cb669f3a974ceaf6c735e134f3aa9bc

-----Decoded View---------------
Arg [0] : _voting_escrow (address): 0xAE459eE7377Fb9F67518047BBA5482C2F0963236
Arg [1] : _team (address): 0x88Dec6df03C2C111Efd4ad89Cef2c0347034AFC0
Arg [2] : _paymentToken (address): 0x21be370D5312f44cB42ce377BC9b8a0cEF1A4C83
Arg [3] : _maxLock (uint256): 31449600
Arg [4] : _router (address): 0x2E14B53E2cB669f3A974CeaF6C735e134F3Aa9BC

-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 000000000000000000000000ae459ee7377fb9f67518047bba5482c2f0963236
Arg [1] : 00000000000000000000000088dec6df03c2c111efd4ad89cef2c0347034afc0
Arg [2] : 00000000000000000000000021be370d5312f44cb42ce377bc9b8a0cef1a4c83
Arg [3] : 0000000000000000000000000000000000000000000000000000000001dfe200
Arg [4] : 0000000000000000000000002e14b53e2cb669f3a974ceaf6c735e134f3aa9bc


Deployed Bytecode Sourcemap

7725:3905:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11088:200;;;;;;:::i;:::-;;:::i;:::-;;7889:29;;;;;;;;;603:25:1;;;591:2;576:18;7889:29:0;;;;;;;;8571:114;;;:::i;9394:221::-;;;;;;:::i;:::-;;:::i;7766:27::-;;;;;-1:-1:-1;;;;;7766:27:0;;;;;;-1:-1:-1;;;;;988:32:1;;;970:51;;958:2;943:18;7766:27:0;824:203:1;7828:19:0;;;;;-1:-1:-1;;;;;7828:19:0;;;10817:265;;;;;;:::i;:::-;;:::i;11475:152::-;;;:::i;9144:242::-;;;;;;:::i;:::-;;:::i;9621:161::-;;;;;;:::i;:::-;;:::i;7932:22::-;;;;;;2649:103;;;:::i;2008:87::-;2054:7;2081:6;-1:-1:-1;;;;;2081:6:0;2008:87;;9788:131;;;;;;:::i;:::-;;:::i;8693:183::-;;;:::i;7854:28::-;;;;;-1:-1:-1;;;;;7854:28:0;;;9927:882;;;;;;:::i;:::-;;:::i;2907:201::-;;;;;;:::i;:::-;;:::i;7800:21::-;;;;;-1:-1:-1;;;;;7800:21:0;;;8884:252;;;;;;:::i;:::-;;:::i;:::-;;;1641:14:1;;1634:22;1616:41;;1604:2;1589:18;8884:252:0;1476:187:1;11088:200:0;1894:13;:11;:13::i;:::-;11194:39:::1;::::0;-1:-1:-1;;;11194:39:0;;11227:4:::1;11194:39;::::0;::::1;970:51:1::0;11177:14:0::1;::::0;-1:-1:-1;;;;;11194:24:0;::::1;::::0;::::1;::::0;943:18:1;;11194:39:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11244:36;::::0;-1:-1:-1;;;11244:36:0;;-1:-1:-1;;;;;2049:32:1;;;11244:36:0::1;::::0;::::1;2031:51:1::0;2098:18;;;2091:34;;;11177:56:0;;-1:-1:-1;11244:23:0;;::::1;::::0;::::1;::::0;2004:18:1;;11244:36:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11166:122;11088:200:::0;;:::o;8571:114::-;8647:4;;8640:37;;-1:-1:-1;;;8640:37:0;;8671:4;8640:37;;;970:51:1;8617:4:0;;-1:-1:-1;;;;;8647:4:0;;8640:22;;943:18:1;;8640:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8633:44;;8571:114;:::o;9394:221::-;1894:13;:11;:13::i;:::-;9478:3:::1;9469:5;:12;;9461:48;;;::::0;-1:-1:-1;;;9461:48:0;;2620:2:1;9461:48:0::1;::::0;::::1;2602:21:1::0;2659:2;2639:18;;;2632:30;2698:25;2678:18;;;2671:53;2741:18;;9461:48:0::1;;;;;;;;;9520:9;:17:::0;;;9557:44:::1;::::0;603:25:1;;;9574:15:0::1;::::0;9557:44:::1;::::0;591:2:1;576:18;9557:44:0::1;;;;;;;;9394:221:::0;:::o;10817:265::-;10890:1;10880:7;:11;10872:51;;;;-1:-1:-1;;;10872:51:0;;2972:2:1;10872:51:0;;;2954:21:1;3011:2;2991:18;;;2984:30;3050:29;3030:18;;;3023:57;3097:18;;10872:51:0;2770:351:1;10872:51:0;10941:4;;10934:61;;-1:-1:-1;;;10934:61:0;;10960:10;10934:61;;;3366:34:1;10980:4:0;3416:18:1;;;3409:43;3468:18;;;3461:34;;;-1:-1:-1;;;;;10941:4:0;;;;10934:25;;3301:18:1;;10934:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11006:17;:15;:17::i;:::-;11047:15;11039:33;11064:7;11039:33;;;;603:25:1;;591:2;576:18;;457:177;11475:152:0;1894:13;:11;:13::i;:::-;11538:4:::1;::::0;11552:13:::1;::::0;;11531:38:::1;::::0;-1:-1:-1;;;11531:38:0;;-1:-1:-1;;;;;11552:13:0;;::::1;11531:38:::0;;::::1;2031:51:1::0;;;;11538:4:0::1;2098:18:1::0;;;2091:34;11538:4:0;;::::1;::::0;11531:20:::1;::::0;2004:18:1;;11531:38:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11587:12:0::1;::::0;11609:6:::1;::::0;11580:39:::1;::::0;-1:-1:-1;;;11580:39:0;;-1:-1:-1;;;;;11609:6:0;;::::1;11580:39;::::0;::::1;2031:51:1::0;11587:12:0::1;2098:18:1::0;;;2091:34;11587:12:0;::::1;::::0;11580:28:::1;::::0;2004:18:1;;11580:39:0::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11475:152::o:0;9144:242::-;9263:6;;;9300:12;9314:4;;9255:71;;-1:-1:-1;;;9255:71:0;;;;;4018:25:1;;;-1:-1:-1;;;;;9300:12:0;;;4097:18:1;;;4090:43;9314:4:0;;;4149:18:1;;;4142:43;9218:7:0;4201:18:1;;;4194:50;;;9218:7:0;;;9263:6;;9255:28;;3990:19:1;;9255:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9238:88;;9372:6;9366:3;9353:9;;9344:6;:18;;;;:::i;:::-;:25;;;;:::i;:::-;:34;;;;:::i;:::-;9337:41;9144:242;-1:-1:-1;;;9144:242:0:o;9621:161::-;1894:13;:11;:13::i;:::-;-1:-1:-1;;;;;9707:27:0;::::1;9699:36;;;::::0;::::1;;9746:12;:28:::0;;-1:-1:-1;;;;;;9746:28:0::1;-1:-1:-1::0;;;;;9746:28:0;;;::::1;::::0;;;::::1;::::0;;9621:161::o;2649:103::-;1894:13;:11;:13::i;:::-;2714:30:::1;2741:1;2714:18;:30::i;:::-;2649:103::o:0;9788:131::-;1894:13;:11;:13::i;:::-;-1:-1:-1;;;;;9862:21:0;::::1;9854:30;;;::::0;::::1;;9895:6;:16:::0;;-1:-1:-1;;;;;;9895:16:0::1;-1:-1:-1::0;;;;;9895:16:0;;;::::1;::::0;;;::::1;::::0;;9788:131::o;8693:183::-;8743:4;8760:15;8778;:13;:15::i;:::-;8760:33;;8805:12;8836:9;;8820:7;8830:3;8820:13;;;;:::i;:::-;:25;;;;:::i;9927:882::-;10023:1;10013:7;:11;10005:60;;;;-1:-1:-1;;;10005:60:0;;5117:2:1;10005:60:0;;;5099:21:1;5156:2;5136:18;;;5129:30;5195:34;5175:18;;;5168:62;-1:-1:-1;;;5246:18:1;;;5239:34;5290:19;;10005:60:0;4915:400:1;10005:60:0;10102:1;10084:15;:13;:15::i;:::-;:19;10076:58;;;;-1:-1:-1;;;10076:58:0;;5522:2:1;10076:58:0;;;5504:21:1;5561:2;5541:18;;;5534:30;5600:28;5580:18;;;5573:56;5646:18;;10076:58:0;5320:350:1;10076:58:0;10152:12;;10145:69;;-1:-1:-1;;;10145:69:0;;10179:10;10145:69;;;3366:34:1;10199:4:0;3416:18:1;;;3409:43;3468:18;;;3461:34;;;-1:-1:-1;;;;;10152:12:0;;;;10145:33;;3301:18:1;;10145:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10231:7;10242:1;10231:12;10227:56;;-1:-1:-1;10270:1:0;10227:56;10295:18;10316:15;:13;:15::i;:::-;10350:6;;;10407:12;10421:4;;10342:123;;-1:-1:-1;;;10342:123:0;;;;;5984:25:1;;;6025:18;;;6018:34;;;-1:-1:-1;;;;;10407:12:0;;;6106:18:1;;;6099:43;10421:4:0;;;6158:18:1;;;6151:43;10350:6:0;6210:19:1;;;6203:51;10442:4:0;6270:19:1;;;6263:44;10449:15:0;6323:19:1;;;6316:35;10295:36:0;;-1:-1:-1;10350:6:0;;10342:46;;5956:19:1;;10342:123:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10342:123:0;;;;;;;;;;;;:::i;:::-;;10476:17;10496:15;:13;:15::i;:::-;10476:35;-1:-1:-1;10522:18:0;10543:22;10555:10;10476:35;10543:22;:::i;:::-;10522:43;;10578:20;10633:10;10627:3;10614:9;;10601:10;:22;;;;:::i;:::-;:29;;;;:::i;:::-;:42;;;;:::i;:::-;10668:13;;;10713:7;;10654:79;;-1:-1:-1;;;10654:79:0;;;;;7936:25:1;;;7977:18;;;7970:34;10722:10:0;8020:18:1;;;8013:60;10578:65:0;;-1:-1:-1;;;;;;10668:13:0;;;;10654:44;;7909:18:1;;10654:79:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;10751:50:0;;;8258:25:1;;;10790:10:0;8314:2:1;8299:18;;8292:60;10759:15:0;;10751:50;;8231:18:1;10751:50:0;;;;;;;9994:815;;;;9927:882;;:::o;2907:201::-;1894:13;:11;:13::i;:::-;-1:-1:-1;;;;;2996:22:0;::::1;2988:73;;;::::0;-1:-1:-1;;;2988:73:0;;8565:2:1;2988:73:0::1;::::0;::::1;8547:21:1::0;8604:2;8584:18;;;8577:30;8643:34;8623:18;;;8616:62;-1:-1:-1;;;8694:18:1;;;8687:36;8740:19;;2988:73:0::1;8363:402:1::0;2988:73:0::1;3072:28;3091:8;3072:18;:28::i;8884:252::-:0;9003:6;;;9040:12;9054:4;;8995:71;;-1:-1:-1;;;8995:71:0;;;;;4018:25:1;;;-1:-1:-1;;;;;9040:12:0;;;4097:18:1;;;4090:43;9054:4:0;;;4149:18:1;;;4142:43;8961:4:0;4201:18:1;;;4194:50;;;8961:4:0;;;9003:6;;8995:28;;3990:19:1;;8995:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8978:88;;9125:3;9112:9;;9103:6;:18;;;;:::i;:::-;:25;;;;:::i;:::-;9084:15;:13;:15::i;:::-;:44;;;8884:252;-1:-1:-1;;;8884:252:0:o;2173:132::-;2054:7;2081:6;-1:-1:-1;;;;;2081:6:0;795:10;2237:23;2229:68;;;;-1:-1:-1;;;2229:68:0;;8972:2:1;2229:68:0;;;8954:21:1;;;8991:18;;;8984:30;9050:34;9030:18;;;9023:62;9102:18;;2229:68:0;8770:356:1;11294:175:0;11348:4;;11362:13;;;11341:54;;-1:-1:-1;;;11341:54:0;;-1:-1:-1;;;;;11362:13:0;;;11341:54;;;2031:51:1;;;;-1:-1:-1;;2098:18:1;;;2091:34;11348:4:0;;;;11341:20;;2004:18:1;;11341:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;11413:12:0;;11435:6;;11406:55;;-1:-1:-1;;;11406:55:0;;-1:-1:-1;;;;;11435:6:0;;;11406:55;;;2031:51:1;-1:-1:-1;;2098:18:1;;;2091:34;11413:12:0;;;11406:28;;2004:18:1;;11406:55:0;1857:274:1;3268:191:0;3342:16;3361:6;;-1:-1:-1;;;;;3378:17:0;;;-1:-1:-1;;;;;;3378:17:0;;;;;;3411:40;;3361:6;;;;;;;3411:40;;3342:16;3411:40;3331:128;3268:191;:::o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:260::-;260:6;268;321:2;309:9;300:7;296:23;292:32;289:52;;;337:1;334;327:12;289:52;360:29;379:9;360:29;:::i;:::-;350:39;;408:38;442:2;431:9;427:18;408:38;:::i;:::-;398:48;;192:260;;;;;:::o;639:180::-;698:6;751:2;739:9;730:7;726:23;722:32;719:52;;;767:1;764;757:12;719:52;-1:-1:-1;790:23:1;;639:180;-1:-1:-1;639:180:1:o;1032:186::-;1091:6;1144:2;1132:9;1123:7;1119:23;1115:32;1112:52;;;1160:1;1157;1150:12;1112:52;1183:29;1202:9;1183:29;:::i;1223:248::-;1291:6;1299;1352:2;1340:9;1331:7;1327:23;1323:32;1320:52;;;1368:1;1365;1358:12;1320:52;-1:-1:-1;;1391:23:1;;;1461:2;1446:18;;;1433:32;;-1:-1:-1;1223:248:1:o;1668:184::-;1738:6;1791:2;1779:9;1770:7;1766:23;1762:32;1759:52;;;1807:1;1804;1797:12;1759:52;-1:-1:-1;1830:16:1;;1668:184;-1:-1:-1;1668:184:1:o;2136:277::-;2203:6;2256:2;2244:9;2235:7;2231:23;2227:32;2224:52;;;2272:1;2269;2262:12;2224:52;2304:9;2298:16;2357:5;2350:13;2343:21;2336:5;2333:32;2323:60;;2379:1;2376;2369:12;4255:127;4316:10;4311:3;4307:20;4304:1;4297:31;4347:4;4344:1;4337:15;4371:4;4368:1;4361:15;4387:168;4427:7;4493:1;4489;4485:6;4481:14;4478:1;4475:21;4470:1;4463:9;4456:17;4452:45;4449:71;;;4500:18;;:::i;:::-;-1:-1:-1;4540:9:1;;4387:168::o;4560:217::-;4600:1;4626;4616:132;;4670:10;4665:3;4661:20;4658:1;4651:31;4705:4;4702:1;4695:15;4733:4;4730:1;4723:15;4616:132;-1:-1:-1;4762:9:1;;4560:217::o;4782:128::-;4822:3;4853:1;4849:6;4846:1;4843:13;4840:39;;;4859:18;;:::i;:::-;-1:-1:-1;4895:9:1;;4782:128::o;6362:127::-;6423:10;6418:3;6414:20;6411:1;6404:31;6454:4;6451:1;6444:15;6478:4;6475:1;6468:15;6494:1105;6589:6;6620:2;6663;6651:9;6642:7;6638:23;6634:32;6631:52;;;6679:1;6676;6669:12;6631:52;6712:9;6706:16;6741:18;6782:2;6774:6;6771:14;6768:34;;;6798:1;6795;6788:12;6768:34;6836:6;6825:9;6821:22;6811:32;;6881:7;6874:4;6870:2;6866:13;6862:27;6852:55;;6903:1;6900;6893:12;6852:55;6932:2;6926:9;6954:2;6950;6947:10;6944:36;;;6960:18;;:::i;:::-;7006:2;7003:1;6999:10;7038:2;7032:9;7101:2;7097:7;7092:2;7088;7084:11;7080:25;7072:6;7068:38;7156:6;7144:10;7141:22;7136:2;7124:10;7121:18;7118:46;7115:72;;;7167:18;;:::i;:::-;7203:2;7196:22;7253:18;;;7287:15;;;;-1:-1:-1;7329:11:1;;;7325:20;;;7357:19;;;7354:39;;;7389:1;7386;7379:12;7354:39;7413:11;;;;7433:135;7449:6;7444:3;7441:15;7433:135;;;7515:10;;7503:23;;7466:12;;;;7546;;;;7433:135;;;7587:6;6494:1105;-1:-1:-1;;;;;;;;6494:1105:1:o;7604:125::-;7644:4;7672:1;7669;7666:8;7663:34;;;7677:18;;:::i;:::-;-1:-1:-1;7714:9:1;;7604:125::o

Swarm Source

ipfs://b710d7c7c677b75314149fd95fbb1d3f8b374dfc19bfc28d80dc977ae9658a43

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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