Contract 0x6e66725b5e79ce689a3b9a5178d188b93437f882

Contract Overview

Balance:
0 FTM

FTM Value:
$0.00

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xda03cbd2b2e3315528d8d422cbe0630a287f4607a569a33860ec6723ecdbcbbfLock Tokens192584662021-10-16 16:43:22256 days 18 mins ago0xf301911451e7fdb9900a65cb7acd6ded9e915a1d IN  0x6e66725b5e79ce689a3b9a5178d188b93437f8820 FTM0.041848028635
0x7bea67047b32407eac1c229a6d1d5f058a60e717d7f2f6879a89ad66ee5ee99aLock Tokens192583032021-10-16 16:41:06256 days 20 mins ago0xf301911451e7fdb9900a65cb7acd6ded9e915a1d IN  0x6e66725b5e79ce689a3b9a5178d188b93437f8820 FTM0.042826800527
0xc77289465b9cd5ff9a321dfcae8b749e36ba07a046a89a777d4342d45adf167dLock Tokens192582002021-10-16 16:39:31256 days 22 mins ago0xf301911451e7fdb9900a65cb7acd6ded9e915a1d IN  0x6e66725b5e79ce689a3b9a5178d188b93437f8820 FTM0.03805985749
0x285c1963ecebfdafce218ee91005da28e1ff16b7acdb02fede5ec13ce2f3d477Lock Tokens192581142021-10-16 16:37:49256 days 23 mins ago0xf301911451e7fdb9900a65cb7acd6ded9e915a1d IN  0x6e66725b5e79ce689a3b9a5178d188b93437f8820 FTM0.03556951729
0x783a8094d61e2e5dbcb8565dc41ebbdfb10f856da3543ad7c44a3bfb5d6e53cdLock Tokens192579182021-10-16 16:34:35256 days 27 mins ago0xf301911451e7fdb9900a65cb7acd6ded9e915a1d IN  0x6e66725b5e79ce689a3b9a5178d188b93437f8820 FTM0.037527566215
0x97bef6f9093ed921d6e6f6f5863cad2edbb95fec665d11d0b18c0455925bee12Lock Tokens192576782021-10-16 16:30:24256 days 31 mins ago0xf301911451e7fdb9900a65cb7acd6ded9e915a1d IN  0x6e66725b5e79ce689a3b9a5178d188b93437f8820 FTM0.028521614582
0x3158c1732ae04683c6bfd55d23fee7c95a7e9407707b54af157fb1a6916efe97Lock Tokens192482692021-10-16 13:45:33256 days 3 hrs ago0xf301911451e7fdb9900a65cb7acd6ded9e915a1d IN  0x6e66725b5e79ce689a3b9a5178d188b93437f8820 FTM0.0631425
0x3055f130ba784f264e0af580cbde037dbde456b5e4a86c48c937e5efac976b6dLock Tokens192482062021-10-16 13:44:01256 days 3 hrs ago0xf301911451e7fdb9900a65cb7acd6ded9e915a1d IN  0x6e66725b5e79ce689a3b9a5178d188b93437f8820 FTM0.0124040169
0x435ea8b5e24966595f98d39008e9678ad5b21cf6c06e89804e4a8414c9fc25f7Lock Tokens192480812021-10-16 13:41:19256 days 3 hrs ago0xf301911451e7fdb9900a65cb7acd6ded9e915a1d IN  0x6e66725b5e79ce689a3b9a5178d188b93437f8820 FTM0.00557154621
0xd6996800a97eacbb0d1404e980ebd64e33fc6da7c0a1638495599ac9b0ef05a5Lock Tokens192479692021-10-16 13:39:11256 days 3 hrs ago0xf301911451e7fdb9900a65cb7acd6ded9e915a1d IN  0x6e66725b5e79ce689a3b9a5178d188b93437f8820 FTM0.035215351007
0x2b32132276014126e938c8a882d0a00adda374b6ee64b220338ed9bd9caefb47Lock Tokens192478592021-10-16 13:36:18256 days 3 hrs ago0xf301911451e7fdb9900a65cb7acd6ded9e915a1d IN  0x6e66725b5e79ce689a3b9a5178d188b93437f8820 FTM0.0124040169
0xf91773e5878c7e48445807f6e62422bc130e5d9b0312bfe52295166671e4ae06Lock Tokens192474092021-10-16 13:28:27256 days 3 hrs ago0xf301911451e7fdb9900a65cb7acd6ded9e915a1d IN  0x6e66725b5e79ce689a3b9a5178d188b93437f8820 FTM0.02607818926
0xd82007796a86d1cd7c9b3aaa368c8ccdd120d5115ae790db96d885df96cda4d6Lock Tokens192471552021-10-16 13:23:20256 days 3 hrs ago0xf301911451e7fdb9900a65cb7acd6ded9e915a1d IN  0x6e66725b5e79ce689a3b9a5178d188b93437f8820 FTM0.1288805
0xfe496303615620aa3dceb86300c716eec4ed3e80a648de18bb39f047f5e13543Withdraw Tokens192466252021-10-16 13:12:00256 days 3 hrs ago0xf301911451e7fdb9900a65cb7acd6ded9e915a1d IN  0x6e66725b5e79ce689a3b9a5178d188b93437f8820 FTM0.0164646
0x429a07343308f54141640d7e5d69e5d382e6754f0fca334c1a6def8a97f75308Lock Tokens192463112021-10-16 13:05:36256 days 3 hrs ago0xf301911451e7fdb9900a65cb7acd6ded9e915a1d IN  0x6e66725b5e79ce689a3b9a5178d188b93437f8820 FTM0.0867708
0xc2d048741b18f1507fa6bb8f004e5ecc8407f910f7b878ca8dbece4747a09478Lock Tokens192457192021-10-16 12:53:33256 days 4 hrs ago0xf301911451e7fdb9900a65cb7acd6ded9e915a1d IN  0x6e66725b5e79ce689a3b9a5178d188b93437f8820 FTM0.004193752147
0x7ea71a2399427b51ea08e3aaceac979e866517bda35d012576d8fb71e5d814380x60806040192428852021-10-16 12:04:36256 days 4 hrs ago0xe2dca5be87a29dd426d9cfa38cc08681ff3a84e3 IN  Create: lockToken0 FTM0.134339096351
[ Download CSV Export 
Latest 1 internal transaction
Parent Txn Hash Block From To Value
0x7ea71a2399427b51ea08e3aaceac979e866517bda35d012576d8fb71e5d81438192428852021-10-16 12:04:36256 days 4 hrs ago 0xe2dca5be87a29dd426d9cfa38cc08681ff3a84e3  Contract Creation0 FTM
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
lockToken

Compiler Version
v0.4.26+commit.4563c3fc

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at FtmScan.com on 2021-10-16
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.4.16;

// this code is from https://team.finance/ by TrustSwap

/**
 * token contract functions
*/
contract Token {
    function balanceOf(address who) external view returns (uint256);
    function allowance(address owner, address spender) external view returns (uint256);
    function transfer(address to, uint256 value) external returns (bool);
    function approve(address spender, uint256 value) external returns (bool);
    function approveAndCall(address spender, uint tokens, bytes data) external returns (bool success);
    function transferFrom(address from, address to, uint256 value) external returns (bool);
}

library SafeMath {
  function mul(uint256 a, uint256 b) internal constant returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 c = a * b;
    require(c / a == b);
    return c;
  }

  function div(uint256 a, uint256 b) internal constant returns (uint256) {
    uint256 c = a / b;
    return c;
  }

  function sub(uint256 a, uint256 b) internal constant returns (uint256) {
    require(b <= a);
    return a - b;
  }

  function add(uint256 a, uint256 b) internal constant returns (uint256) {
    uint256 c = a + b;
    require(c >= a);
    return c;
  }

  function ceil(uint256 a, uint256 m) internal constant returns (uint256) {
    uint256 c = add(a,m);
    uint256 d = sub(c,1);
    return mul(div(d,m),m);
  }
}

contract owned {
        address public owner;

        function owned() public {
            owner = msg.sender;
        }

        modifier onlyOwner {
            require(msg.sender == owner);
            _;
        }

        function transferOwnership(address newOwner) onlyOwner public {
            owner = newOwner;
        }
}

contract lockToken is owned{
    using SafeMath for uint256;
    
    /*
     * deposit vars
    */
    struct Items {
        address tokenAddress;
        address withdrawalAddress;
        uint256 tokenAmount;
        uint256 unlockTime;
        bool withdrawn;
    }
    
    uint256 public depositId;
    uint256[] public allDepositIds;
    mapping (address => uint256[]) public depositsByWithdrawalAddress;
    mapping (uint256 => Items) public lockedToken;
    mapping (address => mapping(address => uint256)) public walletTokenBalance;
    
    event LogWithdrawal(address SentToAddress, uint256 AmountTransferred);
    
    /**
     *lock tokens
    */
    function lockTokens(address _tokenAddress, address _withdrawalAddress, uint256 _amount, uint256 _unlockTime) public returns (uint256 _id) {
        require(_amount > 0);
        require(_unlockTime < 10000000000);
        
        //update balance in address
        walletTokenBalance[_tokenAddress][_withdrawalAddress] = walletTokenBalance[_tokenAddress][_withdrawalAddress].add(_amount);
        
        _id = ++depositId;
        lockedToken[_id].tokenAddress = _tokenAddress;
        lockedToken[_id].withdrawalAddress = _withdrawalAddress;
        lockedToken[_id].tokenAmount = _amount;
        lockedToken[_id].unlockTime = _unlockTime;
        lockedToken[_id].withdrawn = false;
        
        allDepositIds.push(_id);
        depositsByWithdrawalAddress[_withdrawalAddress].push(_id);
        
        // transfer tokens into contract
        require(Token(_tokenAddress).transferFrom(msg.sender, this, _amount));
    }
    
    /**
     *Create multiple locks
    */
    function createMultipleLocks(address _tokenAddress, address _withdrawalAddress, uint256[] _amounts, uint256[] _unlockTimes) public returns (uint256 _id) {
        require(_amounts.length > 0);
        require(_amounts.length == _unlockTimes.length);
        
        uint256 i;
        for(i=0; i<_amounts.length; i++){
            require(_amounts[i] > 0);
            require(_unlockTimes[i] < 10000000000);
            
            //update balance in address
            walletTokenBalance[_tokenAddress][_withdrawalAddress] = walletTokenBalance[_tokenAddress][_withdrawalAddress].add(_amounts[i]);
            
            _id = ++depositId;
            lockedToken[_id].tokenAddress = _tokenAddress;
            lockedToken[_id].withdrawalAddress = _withdrawalAddress;
            lockedToken[_id].tokenAmount = _amounts[i];
            lockedToken[_id].unlockTime = _unlockTimes[i];
            lockedToken[_id].withdrawn = false;
            
            allDepositIds.push(_id);
            depositsByWithdrawalAddress[_withdrawalAddress].push(_id);
            
            //transfer tokens into contract
            require(Token(_tokenAddress).transferFrom(msg.sender, this, _amounts[i]));
        }
    }
    
    /**
     *Extend lock Duration
    */
    function extendLockDuration(uint256 _id, uint256 _unlockTime) public {
        require(_unlockTime < 10000000000);
        require(_unlockTime > lockedToken[_id].unlockTime);
        require(!lockedToken[_id].withdrawn);
        require(msg.sender == lockedToken[_id].withdrawalAddress);
        
        //set new unlock time
        lockedToken[_id].unlockTime = _unlockTime;
    }
    
    /**
     *transfer locked tokens
    */
    function transferLocks(uint256 _id, address _receiverAddress) public {
        require(!lockedToken[_id].withdrawn);
        require(msg.sender == lockedToken[_id].withdrawalAddress);
        
        //decrease sender's token balance
        walletTokenBalance[lockedToken[_id].tokenAddress][msg.sender] = walletTokenBalance[lockedToken[_id].tokenAddress][msg.sender].sub(lockedToken[_id].tokenAmount);
        
        //increase receiver's token balance
        walletTokenBalance[lockedToken[_id].tokenAddress][_receiverAddress] = walletTokenBalance[lockedToken[_id].tokenAddress][_receiverAddress].add(lockedToken[_id].tokenAmount);
        
        //remove this id from sender address
        uint256 j;
        uint256 arrLength = depositsByWithdrawalAddress[lockedToken[_id].withdrawalAddress].length;
        for (j=0; j<arrLength; j++) {
            if (depositsByWithdrawalAddress[lockedToken[_id].withdrawalAddress][j] == _id) {
                depositsByWithdrawalAddress[lockedToken[_id].withdrawalAddress][j] = depositsByWithdrawalAddress[lockedToken[_id].withdrawalAddress][arrLength - 1];
                depositsByWithdrawalAddress[lockedToken[_id].withdrawalAddress].length--;
                break;
            }
        }
        
        //Assign this id to receiver address
        lockedToken[_id].withdrawalAddress = _receiverAddress;
        depositsByWithdrawalAddress[_receiverAddress].push(_id);
    }
    
    /**
     *withdraw tokens
    */
    function withdrawTokens(uint256 _id) public {
        require(block.timestamp >= lockedToken[_id].unlockTime);
        require(msg.sender == lockedToken[_id].withdrawalAddress);
        require(!lockedToken[_id].withdrawn);
        
        
        lockedToken[_id].withdrawn = true;
        
        //update balance in address
        walletTokenBalance[lockedToken[_id].tokenAddress][msg.sender] = walletTokenBalance[lockedToken[_id].tokenAddress][msg.sender].sub(lockedToken[_id].tokenAmount);
        
        //remove this id from this address
        uint256 j;
        uint256 arrLength = depositsByWithdrawalAddress[lockedToken[_id].withdrawalAddress].length;
        for (j=0; j<arrLength; j++) {
            if (depositsByWithdrawalAddress[lockedToken[_id].withdrawalAddress][j] == _id) {
                depositsByWithdrawalAddress[lockedToken[_id].withdrawalAddress][j] = depositsByWithdrawalAddress[lockedToken[_id].withdrawalAddress][arrLength - 1];
                depositsByWithdrawalAddress[lockedToken[_id].withdrawalAddress].length--;
                break;
            }
        }
        
        // transfer tokens to wallet address
        require(Token(lockedToken[_id].tokenAddress).transfer(msg.sender, lockedToken[_id].tokenAmount));
        LogWithdrawal(msg.sender, lockedToken[_id].tokenAmount);
    }

     /*get total token balance in contract*/
    function getTotalTokenBalance(address _tokenAddress) view public returns (uint256)
    {
       return Token(_tokenAddress).balanceOf(this);
    }
    
    /*get total token balance by address*/
    function getTokenBalanceByAddress(address _tokenAddress, address _walletAddress) view public returns (uint256)
    {
       return walletTokenBalance[_tokenAddress][_walletAddress];
    }
    
    /*get allDepositIds*/
    function getAllDepositIds() view public returns (uint256[])
    {
        return allDepositIds;
    }
    
    /*get getDepositDetails*/
    function getDepositDetails(uint256 _id) view public returns (address _tokenAddress, address _withdrawalAddress, uint256 _tokenAmount, uint256 _unlockTime, bool _withdrawn)
    {
        return(lockedToken[_id].tokenAddress,lockedToken[_id].withdrawalAddress,lockedToken[_id].tokenAmount,
        lockedToken[_id].unlockTime,lockedToken[_id].withdrawn);
    }
    
    /*get DepositsByWithdrawalAddress*/
    function getDepositsByWithdrawalAddress(address _withdrawalAddress) view public returns (uint256[])
    {
        return depositsByWithdrawalAddress[_withdrawalAddress];
    }
    
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_tokenAddress","type":"address"},{"name":"_withdrawalAddress","type":"address"},{"name":"_amounts","type":"uint256[]"},{"name":"_unlockTimes","type":"uint256[]"}],"name":"createMultipleLocks","outputs":[{"name":"_id","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_withdrawalAddress","type":"address"}],"name":"getDepositsByWithdrawalAddress","outputs":[{"name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"}],"name":"withdrawTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tokenAddress","type":"address"},{"name":"_walletAddress","type":"address"}],"name":"getTokenBalanceByAddress","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_receiverAddress","type":"address"}],"name":"transferLocks","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"depositsByWithdrawalAddress","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getAllDepositIds","outputs":[{"name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_unlockTime","type":"uint256"}],"name":"extendLockDuration","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokenAddress","type":"address"},{"name":"_withdrawalAddress","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_unlockTime","type":"uint256"}],"name":"lockTokens","outputs":[{"name":"_id","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_id","type":"uint256"}],"name":"getDepositDetails","outputs":[{"name":"_tokenAddress","type":"address"},{"name":"_withdrawalAddress","type":"address"},{"name":"_tokenAmount","type":"uint256"},{"name":"_unlockTime","type":"uint256"},{"name":"_withdrawn","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"depositId","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenAddress","type":"address"}],"name":"getTotalTokenBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"walletTokenBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"lockedToken","outputs":[{"name":"tokenAddress","type":"address"},{"name":"withdrawalAddress","type":"address"},{"name":"tokenAmount","type":"uint256"},{"name":"unlockTime","type":"uint256"},{"name":"withdrawn","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"allDepositIds","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":false,"name":"SentToAddress","type":"address"},{"indexed":false,"name":"AmountTransferred","type":"uint256"}],"name":"LogWithdrawal","type":"event"}]

608060405260008054600160a060020a03191633179055611283806100256000396000f3006080604052600436106100f05763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166303a29adf81146100f55780630bd59ad3146101ab578063315a095d1461021c578063347c80ba146102365780634c5f7f541461025d578063530680d8146102815780636ba03924146102a557806376704de0146102ba5780637d533c1e146102d5578063890db72f146103025780638da5cb5b146103535780639852099c14610384578063adad19bd14610399578063b9e7df1c146103ba578063bb941cff146103e1578063c9028aff146103f9578063f2fde38b14610411575b600080fd5b34801561010157600080fd5b506040805160206004604435818101358381028086018501909652808552610199958335600160a060020a039081169660248035909216963696956064959294930192829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a9989019892975090820195509350839250850190849080828437509497506104329650505050505050565b60408051918252519081900360200190f35b3480156101b757600080fd5b506101cc600160a060020a0360043516610701565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156102085781810151838201526020016101f0565b505050509050019250505060405180910390f35b34801561022857600080fd5b5061023460043561076d565b005b34801561024257600080fd5b50610199600160a060020a0360043581169060243516610a8a565b34801561026957600080fd5b50610234600435600160a060020a0360243516610ab5565b34801561028d57600080fd5b50610199600160a060020a0360043516602435610d5b565b3480156102b157600080fd5b506101cc610d8b565b3480156102c657600080fd5b50610234600435602435610de4565b3480156102e157600080fd5b50610199600160a060020a0360043581169060243516604435606435610e6d565b34801561030e57600080fd5b5061031a600435611034565b60408051600160a060020a0396871681529490951660208501528385019290925260608301521515608082015290519081900360a00190f35b34801561035f57600080fd5b50610368611076565b60408051600160a060020a039092168252519081900360200190f35b34801561039057600080fd5b50610199611085565b3480156103a557600080fd5b50610199600160a060020a036004351661108b565b3480156103c657600080fd5b50610199600160a060020a0360043581169060243516611121565b3480156103ed57600080fd5b5061031a60043561113e565b34801561040557600080fd5b5061019960043561117d565b34801561041d57600080fd5b50610234600160a060020a036004351661119c565b6000806000845111151561044557600080fd5b825184511461045357600080fd5b5060005b83518110156106f8576000848281518110151561047057fe5b602090810290910101511161048457600080fd5b6402540be400838281518110151561049857fe5b60209081029091010151106104ac57600080fd5b6104fa84828151811015156104bd57fe5b6020908102909101810151600160a060020a03808a166000908152600584526040808220928b16825291909352909120549063ffffffff6111e216565b600160a060020a038088166000818152600560209081526040808320948b1680845294825280832095909555600180548101808255808452600490925294909120805473ffffffffffffffffffffffffffffffffffffffff19908116909317815590930180549091169091179055845190925084908290811061057957fe5b60209081029091018101516000848152600490925260409091206002015582518390829081106105a557fe5b6020908102909101810151600084815260048084526040808320600380820195909555909101805460ff191690556002805460018181019092557f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01879055600160a060020a03808b1684529385529082208054918201815582529290209091018390558451908716906323b872dd903390309088908690811061064557fe5b6020908102909101810151604080517c010000000000000000000000000000000000000000000000000000000063ffffffff8816028152600160a060020a03958616600482015293909416602484015260448301529151606480830193928290030181600087803b1580156106b957600080fd5b505af11580156106cd573d6000803e3d6000fd5b505050506040513d60208110156106e357600080fd5b505115156106f057600080fd5b600101610457565b50949350505050565b600160a060020a03811660009081526003602090815260409182902080548351818402810184019094528084526060939283018282801561076157602002820191906000526020600020905b81548152602001906001019080831161074d575b50505050509050919050565b600081815260046020526040812060030154819042101561078d57600080fd5b600083815260046020526040902060010154600160a060020a031633146107b357600080fd5b6000838152600460208190526040909120015460ff16156107d357600080fd5b6000838152600460208181526040808420928301805460ff1916600117905560028301549254600160a060020a0316845260058252808420338552909152909120546108249163ffffffff6111fb16565b60008481526004602090815260408083208054600160a060020a03908116855260058452828520338652845282852095909555600101549093168252600390529081205490925090505b8082101561098457600083815260046020908152604080832060010154600160a060020a03168352600390915290208054849190849081106108ac57fe5b9060005260206000200154141561097957600083815260046020908152604080832060010154600160a060020a0316835260039091529020805460001983019081106108f457fe5b600091825260208083209091015485835260048252604080842060010154600160a060020a031684526003909252912080548490811061093057fe5b600091825260208083209091019290925584815260048252604080822060010154600160a060020a03168252600390925220805490610973906000198301611210565b50610984565b60019091019061086e565b6000838152600460208181526040808420805460029091015482517fa9059cbb000000000000000000000000000000000000000000000000000000008152339581019590955260248501529051600160a060020a039091169363a9059cbb936044808201949392918390030190829087803b158015610a0257600080fd5b505af1158015610a16573d6000803e3d6000fd5b505050506040513d6020811015610a2c57600080fd5b50511515610a3957600080fd5b6000838152600460209081526040918290206002015482513381529182015281517fb4214c8c54fc7442f36d3682f59aebaf09358a4431835b30efb29d52cf9e1e91929181900390910190a1505050565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b600082815260046020819052604082200154819060ff1615610ad657600080fd5b600084815260046020526040902060010154600160a060020a03163314610afc57600080fd5b600084815260046020908152604080832060028101549054600160a060020a031684526005835281842033855290925290912054610b3f9163ffffffff6111fb16565b60008581526004602090815260408083208054600160a060020a03908116855260058085528386203387528552838620969096556002820154915481168552948352818420948816845293909152902054610b9f9163ffffffff6111e216565b60008581526004602090815260408083208054600160a060020a039081168552600584528285208982168652845282852095909555600101549093168252600390529081205490925090505b80821015610d0157600084815260046020908152604080832060010154600160a060020a0316835260039091529020805485919084908110610c2957fe5b90600052602060002001541415610cf657600084815260046020908152604080832060010154600160a060020a031683526003909152902080546000198301908110610c7157fe5b600091825260208083209091015486835260048252604080842060010154600160a060020a0316845260039092529120805484908110610cad57fe5b600091825260208083209091019290925585815260048252604080822060010154600160a060020a03168252600390925220805490610cf0906000198301611210565b50610d01565b600190910190610beb565b5050600082815260046020908152604080832060019081018054600160a060020a0390961673ffffffffffffffffffffffffffffffffffffffff199096168617905593835260038252822080549384018155825290200155565b600360205281600052604060002081815481101515610d7657fe5b90600052602060002001600091509150505481565b60606002805480602002602001604051908101604052809291908181526020018280548015610dd957602002820191906000526020600020905b815481526020019060010190808311610dc5575b505050505090505b90565b6402540be4008110610df557600080fd5b6000828152600460205260409020600301548111610e1257600080fd5b6000828152600460208190526040909120015460ff1615610e3257600080fd5b600082815260046020526040902060010154600160a060020a03163314610e5857600080fd5b60009182526004602052604090912060030155565b6000808311610e7b57600080fd5b6402540be4008210610e8c57600080fd5b600160a060020a03808616600090815260056020908152604080832093881683529290522054610ec2908463ffffffff6111e216565b600160a060020a038087166000818152600560209081526040808320948a16808452948252808320959095556001805481018082558084526004808452878520805473ffffffffffffffffffffffffffffffffffffffff199081168817825581850180549091168917905560028082018d905560038083018d9055918301805460ff1916905580548086019091557f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0183905596855295835286842080549283018155845282842090910181905585517f23b872dd000000000000000000000000000000000000000000000000000000008152339581019590955230602486015260448501899052945194955091936323b872dd9360648082019493918390030190829087803b158015610ff557600080fd5b505af1158015611009573d6000803e3d6000fd5b505050506040513d602081101561101f57600080fd5b5051151561102c57600080fd5b949350505050565b600090815260046020819052604090912080546001820154600283015460038401549390940154600160a060020a03928316959290911693929160ff90911690565b600054600160a060020a031681565b60015481565b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600091600160a060020a038416916370a082319160248082019260209290919082900301818787803b1580156110ef57600080fd5b505af1158015611103573d6000803e3d6000fd5b505050506040513d602081101561111957600080fd5b505192915050565b600560209081526000928352604080842090915290825290205481565b600460208190526000918252604090912080546001820154600283015460038401549390940154600160a060020a039283169492909116929060ff1685565b600280548290811061118b57fe5b600091825260209091200154905081565b600054600160a060020a031633146111b357600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000828201838110156111f457600080fd5b9392505050565b60008282111561120a57600080fd5b50900390565b81548183558181111561123457600083815260209020611234918101908301611239565b505050565b610de191905b80821115611253576000815560010161123f565b50905600a165627a7a7230582097b074efe888a1f062f1d5fe4351d6c3c8e69e11fd9cb939d23f85ea58bb2ae90029

Deployed ByteCode Sourcemap

1818:7553:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3519:1243;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3519:1243:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3519:1243:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3519:1243:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3519:1243:0;;;;-1:-1:-1;3519:1243:0;-1:-1:-1;3519:1243:0;;-1:-1:-1;3519:1243:0;;;;;;;;;-1:-1:-1;3519:1243:0;;-1:-1:-1;3519:1243:0;;-1:-1:-1;;;;;;;3519:1243:0;;;;;;;;;;;;;;;;;9184:178;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9184:178:0;-1:-1:-1;;;;;9184:178:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;9184:178:0;;;;;;;;;;;;;;;;;6776:1358;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6776:1358:0;;;;;;;8393:190;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8393:190:0;-1:-1:-1;;;;;8393:190:0;;;;;;;;;;5269:1455;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5269:1455:0;;;-1:-1:-1;;;;;5269:1455:0;;;;;2180:65;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2180:65:0;-1:-1:-1;;;;;2180:65:0;;;;;;;8622:104;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8622:104:0;;;;4819:391;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4819:391:0;;;;;;;2509:952;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2509:952:0;-1:-1:-1;;;;;2509:952:0;;;;;;;;;;;;;;8769:362;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8769:362:0;;;;;;;;;-1:-1:-1;;;;;8769:362:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1490:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1490:20:0;;;;;;;;-1:-1:-1;;;;;1490:20:0;;;;;;;;;;;;;;2112:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2112:24:0;;;;8188:149;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8188:149:0;-1:-1:-1;;;;;8188:149:0;;;;;2304:74;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2304:74:0;-1:-1:-1;;;;;2304:74:0;;;;;;;;;;2252:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2252:45:0;;;;;2143:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2143:30:0;;;;;1706:105;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1706:105:0;-1:-1:-1;;;;;1706:105:0;;;;;3519:1243;3659:11;3790:9;3709:1;3691:8;:15;:19;3683:28;;;;;;;;3749:19;;3730:15;;:38;3722:47;;;;;;-1:-1:-1;3816:1:0;3810:945;3821:8;:15;3819:1;:17;3810:945;;;3879:1;3865:8;3874:1;3865:11;;;;;;;;;;;;;;;;;;;:15;3857:24;;;;;;3922:11;3904:12;3917:1;3904:15;;;;;;;;;;;;;;;;;;;:29;3896:38;;;;;;4060:70;4118:8;4127:1;4118:11;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4060:33:0;;;;;;;:18;:33;;;;;;:53;;;;;;;;;;;;;;:70;:57;:70;:::i;:::-;-1:-1:-1;;;;;4004:33:0;;;;;;;:18;:33;;;;;;;;:53;;;;;;;;;;;;:126;;;;4167:9;4165:11;;;;;;;4191:16;;;:11;:16;;;;;;;:45;;-1:-1:-1;;4191:45:0;;;;;;;;4251:34;;;:55;;;;;;;;;;4352:11;;4165;;-1:-1:-1;4352:8:0;;4361:1;;4352:11;;;;;;;;;;;;;;;;4321:16;;;;:11;:16;;;;;;;:28;;:42;4408:15;;:12;;4421:1;;4408:15;;;;;;;;;;;;;;;;4378:16;;;;:11;:16;;;;;;;:27;;;;:45;;;;4438:26;;;:34;;-1:-1:-1;;4438:34:0;;;4501:13;27:10:-1;;4438:34:0;23:18:-1;;;45:23;;;4501::0;;;;;-1:-1:-1;;;;;4539:47:0;;;;;;;;;;;27:10:-1;;23:18;;;45:23;;4539:57:0;;;;;;;;;;;4730:11;;4678:33;;;;;;4712:10;;4724:4;;4730:8;;4739:1;;4730:11;;;;;;;;;;;;;;;;4678:64;;;;;;;;;;-1:-1:-1;;;;;4678:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;4730:11;4678:64;;;;;-1:-1:-1;4678:64:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;4678:64:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4678:64:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4678:64:0;4670:73;;;;;;;;3838:3;;3810:945;;;3519:1243;;;;;;;:::o;9184:178::-;-1:-1:-1;;;;;9307:47:0;;;;;;:27;:47;;;;;;;;;9300:54;;;;;;;;;;;;;;;;;9273:9;;9300:54;;;9307:47;9300:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9184:178;;;:::o;6776:1358::-;7347:9;6858:16;;;:11;:16;;;;;:27;;;7347:9;;6839:15;:46;;6831:55;;;;;;6919:16;;;;:11;:16;;;;;:34;;;-1:-1:-1;;;;;6919:34:0;6905:10;:48;6897:57;;;;;;6974:16;;;;:11;:16;;;;;;;;:26;;;;6973:27;6965:36;;;;;;7032:16;;;;:11;:16;;;;;;;;:26;;;:33;;-1:-1:-1;;7032:33:0;7061:4;7032:33;;;7253:28;;;;7206:29;;-1:-1:-1;;;;;7206:29:0;7187:49;;:18;:49;;;;;7237:10;7187:61;;;;;;;;;:95;;;:65;:95;:::i;:::-;7123:49;7142:16;;;:11;:16;;;;;;;;:29;;-1:-1:-1;;;;;7142:29:0;;;7123:49;;:18;:49;;;;;7173:10;7123:61;;;;;;;:159;;;;7142:29;7415:34;;;;;7387:63;;:27;:63;;;;;:70;7123:49;;-1:-1:-1;7387:70:0;-1:-1:-1;7468:430:0;7480:9;7478:1;:11;7468:430;;;7515:63;7543:16;;;:11;:16;;;;;;;;:34;;;-1:-1:-1;;;;;7543:34:0;7515:63;;:27;:63;;;;;:66;;7585:3;;7515:63;7579:1;;7515:66;;;;;;;;;;;;;;:73;7511:376;;;7678:63;7706:16;;;:11;:16;;;;;;;;:34;;;-1:-1:-1;;;;;7706:34:0;7678:63;;:27;:63;;;;;:78;;-1:-1:-1;;7742:13:0;;;7678:78;;;;;;;;;;;;;;;;;;7637:16;;;:11;:16;;;;;;:34;;;-1:-1:-1;;;;;7637:34:0;7609:63;;:27;:63;;;;;:66;;7673:1;;7609:66;;;;;;;;;;;;;;;;;:147;;;;7803:16;;;:11;:16;;;;;;:34;;;-1:-1:-1;;;;;7803:34:0;7775:63;;:27;:63;;;;:72;;;;;-1:-1:-1;;7775:72:0;;;:::i;:::-;;7866:5;;7511:376;7491:3;;;;;7468:430;;;7978:16;;;;:11;:16;;;;;;;;:29;;8030:28;;;;;7972:87;;;;;8018:10;7972:87;;;;;;;;;;;;;-1:-1:-1;;;;;7978:29:0;;;;7972:45;;:87;;;;;7978:16;7972:87;;;;;;;;;7978:29;7972:87;;;5:2:-1;;;;30:1;27;20:12;5:2;7972:87:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7972:87:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7972:87:0;7964:96;;;;;;;;8097:16;;;;:11;:16;;;;;;;;;:28;;;8071:55;;8085:10;8071:55;;;;;;;;;;;;;;;;;;;6776:1358;;;:::o;8393:190::-;-1:-1:-1;;;;;8526:33:0;;;8495:7;8526:33;;;:18;:33;;;;;;;;:49;;;;;;;;;;;;;8393:190::o;5269:1455::-;5980:9;5358:16;;;:11;:16;;;;;;;:26;;5980:9;;5358:26;;5357:27;5349:36;;;;;;5418:16;;;;:11;:16;;;;;:34;;;-1:-1:-1;;;;;5418:34:0;5404:10;:48;5396:57;;;;;;5647:16;;;;:11;:16;;;;;;;;:28;;;;5600:29;;-1:-1:-1;;;;;5600:29:0;5581:49;;:18;:49;;;;;5631:10;5581:61;;;;;;;;;:95;;;:65;:95;:::i;:::-;5517:49;5536:16;;;:11;:16;;;;;;;;:29;;-1:-1:-1;;;;;5536:29:0;;;5517:49;;:18;:49;;;;;;5567:10;5517:61;;;;;;;:159;;;;5884:28;;;;5831:29;;;;5812:49;;;;;;;;:67;;;;;;;;;;;;:101;;;:71;:101;:::i;:::-;5742:49;5761:16;;;:11;:16;;;;;;;;:29;;-1:-1:-1;;;;;5761:29:0;;;5742:49;;:18;:49;;;;;:67;;;;;;;;;;:171;;;;5761:29;6048:34;;;;;6020:63;;:27;:63;;;;;:70;5742:49;;-1:-1:-1;6020:70:0;-1:-1:-1;6101:430:0;6113:9;6111:1;:11;6101:430;;;6148:63;6176:16;;;:11;:16;;;;;;;;:34;;;-1:-1:-1;;;;;6176:34:0;6148:63;;:27;:63;;;;;:66;;6218:3;;6148:63;6212:1;;6148:66;;;;;;;;;;;;;;:73;6144:376;;;6311:63;6339:16;;;:11;:16;;;;;;;;:34;;;-1:-1:-1;;;;;6339:34:0;6311:63;;:27;:63;;;;;:78;;-1:-1:-1;;6375:13:0;;;6311:78;;;;;;;;;;;;;;;;;;6270:16;;;:11;:16;;;;;;:34;;;-1:-1:-1;;;;;6270:34:0;6242:63;;:27;:63;;;;;:66;;6306:1;;6242:66;;;;;;;;;;;;;;;;;:147;;;;6436:16;;;:11;:16;;;;;;:34;;;-1:-1:-1;;;;;6436:34:0;6408:63;;:27;:63;;;;:72;;;;;-1:-1:-1;;6408:72:0;;;:::i;:::-;;6499:5;;6144:376;6124:3;;;;;6101:430;;;-1:-1:-1;;6597:16:0;;;;:11;:16;;;;;;;;:34;;;;:53;;-1:-1:-1;;;;;6597:53:0;;;-1:-1:-1;;6597:53:0;;;;;;;6661:45;;;:27;:45;;;;27:10:-1;;23:18;;;45:23;;6661:55:0;;;;;;5269:1455::o;2180:65::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8622:104::-;8671:9;8705:13;8698:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8622:104;;:::o;4819:391::-;4921:11;4907:25;;4899:34;;;;;;4966:16;;;;:11;:16;;;;;:27;;;4952:41;;4944:50;;;;;;5014:16;;;;:11;:16;;;;;;;;:26;;;;5013:27;5005:36;;;;;;5074:16;;;;:11;:16;;;;;:34;;;-1:-1:-1;;;;;5074:34:0;5060:10;:48;5052:57;;;;;;5161:16;;;;:11;:16;;;;;;:27;;:41;4819:391::o;2509:952::-;2634:11;2666;;;2658:20;;;;;;2711:11;2697:25;;2689:34;;;;;;-1:-1:-1;;;;;2837:33:0;;;;;;;:18;:33;;;;;;;;:53;;;;;;;;;;:66;;2895:7;2837:66;:57;:66;:::i;:::-;-1:-1:-1;;;;;2781:33:0;;;;;;;:18;:33;;;;;;;;:53;;;;;;;;;;;;:122;;;;2932:9;2930:11;;;;;;;2952:16;;;:11;:16;;;;;;:45;;-1:-1:-1;;2952:45:0;;;;;;;3008:34;;;:55;;;;;;;;;3074:28;;;;:38;;;3123:27;;;;:41;;;3175:26;;;:34;;-1:-1:-1;;3175:34:0;;;27:10:-1;;23:18;;;45:23;;;3230::0;;;;;3264:47;;;;;;;;;27:10:-1;;23:18;;;45:23;;3264:57:0;;;;;;;;;;;3392:60;;;;;3426:10;3392:60;;;;;;;3438:4;3392:60;;;;;;;;;;;;2930:11;;-1:-1:-1;2781:33:0;;3392;;:60;;;;;2781:33;3392:60;;;;;;;;2781:33;3392:60;;;5:2:-1;;;;30:1;27;20:12;5:2;3392:60:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3392:60:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3392:60:0;3384:69;;;;;;;;2509:952;;;;;;:::o;8769:362::-;8830:21;8964:16;;;:11;:16;;;;;;;;:29;;;8994:34;;;9029:28;;;;9068:27;;;;9096:26;;;;;-1:-1:-1;;;;;8964:29:0;;;;8994:34;;;;;9029:28;9068:27;9096:26;;;;;8769:362::o;1490:20::-;;;-1:-1:-1;;;;;1490:20:0;;:::o;2112:24::-;;;;:::o;8188:149::-;8293:36;;;;;;8324:4;8293:36;;;;;;8262:7;;-1:-1:-1;;;;;8293:30:0;;;;;:36;;;;;;;;;;;;;;;8262:7;8293:30;:36;;;5:2:-1;;;;30:1;27;20:12;5:2;8293:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8293:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8293:36:0;;8188:149;-1:-1:-1;;8188:149:0:o;2304:74::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;2252:45::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2252:45:0;;;;;;;;;;;;;:::o;2143:30::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2143:30:0;:::o;1706:105::-;1660:5;;-1:-1:-1;;;;;1660:5:0;1646:10;:19;1638:28;;;;;;1783:5;:16;;-1:-1:-1;;1783:16:0;-1:-1:-1;;;;;1783:16:0;;;;;;;;;;1706:105::o;1152:138::-;1214:7;1242:5;;;1262:6;;;;1254:15;;;;;;1283:1;1152:138;-1:-1:-1;;;1152:138:0:o;1028:118::-;1090:7;1114:6;;;;1106:15;;;;;;-1:-1:-1;1135:5:0;;;1028:118::o;1818:7553::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;

Swarm Source

bzzr://97b074efe888a1f062f1d5fe4351d6c3c8e69e11fd9cb939d23f85ea58bb2ae9
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Validator ID :
0 FTM

Amount Staked
0

Amount Delegated
0

Staking Total
0

Staking Start Epoch
0

Staking Start Time
0

Proof of Importance
0

Origination Score
0

Validation Score
0

Active
0

Online
0

Downtime
0 s
Address Amount claimed Rewards Created On Epoch Created On
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.