FTM Price: $0.98 (-2.25%)
Gas: 104 GWei

Contract

0x263a6dD1C3116347E7d4A89AefC73C6dB5d90576
 

Sponsored

Transaction Hash
Method
Block
From
To
Value
Deposit713064022023-11-24 23:12:57125 days ago1700867577IN
0x263a6dD1...dB5d90576
0 FTM0.10784814824.64056903
Claim677067862023-09-01 14:47:08209 days ago1693579628IN
0x263a6dD1...dB5d90576
0 FTM0.0032282246.1603557
Sweep Token676136452023-08-30 12:31:28211 days ago1693398688IN
0x263a6dD1...dB5d90576
0 FTM0.0038421563.58033588
Claim662490162023-07-24 12:14:44248 days ago1690200884IN
0x263a6dD1...dB5d90576
0 FTM0.630002339,008.3983444
Claim660093622023-07-18 17:02:21254 days ago1689699741IN
0x263a6dD1...dB5d90576
0 FTM0.0040413257.78687273
Claim655253672023-07-10 16:01:03262 days ago1689004863IN
0x263a6dD1...dB5d90576
0 FTM0.03587011512.9064992
Claim648093002023-06-28 20:58:30274 days ago1687985910IN
0x263a6dD1...dB5d90576
0 FTM0.0042038660.1110937
Claim643589102023-06-19 19:42:39283 days ago1687203759IN
0x263a6dD1...dB5d90576
0 FTM0.003869355.32711214
Claim641083482023-06-14 18:41:30288 days ago1686768090IN
0x263a6dD1...dB5d90576
0 FTM0.0047450167.84893666
Claim637796092023-06-08 15:09:22294 days ago1686236962IN
0x263a6dD1...dB5d90576
0 FTM0.0042526260.80823387
Claim632601062023-05-28 23:53:56305 days ago1685318036IN
0x263a6dD1...dB5d90576
0 FTM0.00764687109.3425941
Claim And Withdr...629202222023-05-23 19:01:49310 days ago1684868509IN
0x263a6dD1...dB5d90576
0 FTM0.094383031,188
Claim And Withdr...629201702023-05-23 19:00:52310 days ago1684868452IN
0x263a6dD1...dB5d90576
0 FTM0.150530131,204.48196408
Claim627399502023-05-20 12:32:56313 days ago1684585976IN
0x263a6dD1...dB5d90576
0 FTM0.00737775105.49448521
Claim623678602023-05-15 13:09:17318 days ago1684156157IN
0x263a6dD1...dB5d90576
0 FTM0.0067445296.43987698
Claim620608722023-05-11 21:25:58322 days ago1683840358IN
0x263a6dD1...dB5d90576
0 FTM0.01528707175.64286082
Claim617001092023-05-07 16:35:13326 days ago1683477313IN
0x263a6dD1...dB5d90576
0 FTM0.0067751196.87726208
Claim615473792023-05-05 17:05:30328 days ago1683306330IN
0x263a6dD1...dB5d90576
0 FTM0.01023973146.41791077
Claim612320892023-05-01 17:59:22332 days ago1682963962IN
0x263a6dD1...dB5d90576
0 FTM0.01569622224.44026241
Claim608571852023-04-26 20:38:25337 days ago1682541505IN
0x263a6dD1...dB5d90576
0 FTM0.057322819.64695161
Claim605649052023-04-22 21:03:28341 days ago1682197408IN
0x263a6dD1...dB5d90576
0 FTM0.02076091238.53528221
Claim604849692023-04-21 19:23:37342 days ago1682105017IN
0x263a6dD1...dB5d90576
0 FTM0.02353705336.55611699
Claim604731732023-04-21 15:56:24342 days ago1682092584IN
0x263a6dD1...dB5d90576
0 FTM0.01252396179.08012891
Claim602901502023-04-19 10:20:16344 days ago1681899616IN
0x263a6dD1...dB5d90576
0 FTM0.02141081306.15301738
Claim600224222023-04-15 22:33:59348 days ago1681598039IN
0x263a6dD1...dB5d90576
0 FTM0.00851684121.78234362
View all transactions

Latest 1 internal transaction

Parent Txn Hash Block From To Value
469062732022-09-14 2:40:27561 days ago1663123227  Contract Creation0 FTM
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TokenStaking

Compiler Version
v0.7.0+commit.9e61f92b

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at ftmscan.com on 2022-09-14
*/

// SPDX-License-Identifier: CC-BY-SA 4.0
//https://creativecommons.org/licenses/by-sa/4.0/

// TL;DR: The creators of this contract (@LogETH) & (@jellyfantom) are not liable for any damages associated with using the following code
// This contract must be deployed with credits toward the original creators, @LogETH @jellyfantom .
// You must indicate if changes were made in a reasonable manner, but not in any way that suggests we endorse you or your use.
// If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.
// You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.
// This TL;DR is solely an explaination and is not a representation of the license.

// By deploying this contract, you agree to the license above and the terms and conditions that come with it.

pragma solidity >=0.7.0 <0.9.0;

contract TokenStaking{

//// This contract locks tokens for a period of time and then releases them with an additional reward.
//// THIS CONTRACT MUST BE IMMUNE TO/EXCLUDED FROM ANY FEE ON TRANSFER MECHANISMS. (Or else things will break)


//// Commissioned by spagetti#7777 on 5/17/2022

    // now to the code:

    // the constructor that activates when you deploy the contract, as you can see, it makes you the admin.

    constructor(){

        admin = msg.sender;
    }


//////////////////////////                                                          /////////////////////////
/////////////////////////                                                          //////////////////////////
////////////////////////            Variables that this contract has:             ///////////////////////////
///////////////////////                                                          ////////////////////////////
//////////////////////                                                          /////////////////////////////


//// The ERC20 Token and the reward token:

    ERC20 Token;
    ERC20 RewardToken;

//// All the Variables that this contract uses

    mapping(address => uint) LockTimestamp;
    mapping(address => bool) public Staked;
    mapping(address => uint) public StakedTokens;
    uint public totalStaked;
    uint public VaultReward;
    uint public LockingPeriod;
    uint public Limit;
    address admin;

//////////////////////////                                                              /////////////////////////
/////////////////////////                                                              //////////////////////////
////////////////////////             Visible functions this contract has:             ///////////////////////////
///////////////////////                                                              ////////////////////////////
//////////////////////                                                              /////////////////////////////


    // Functions that let the Admin of this contract change settings.

    function EditRewardToken(ERC20 WhatToken) public {

        require(msg.sender == admin, "You aren't the admin so you can't press this button");
        RewardToken = WhatToken;
    }

    function SetDepositToken(ERC20 WhatToken) public {

        require(msg.sender == admin, "You aren't the admin so you can't press this button");
        Token = WhatToken;
    }

    function EditLockingPeriod(uint HowManyBlocks) public {

        require(msg.sender == admin, "You aren't the admin so you can't press this button");
        LockingPeriod = HowManyBlocks; // Changes the token (DOES NOT RESET REWARDS)
    }

    // Enter in how many reward tokens should be given to 1 LP token per lock.

    function EditLockReward(uint HowManyTokens) public {

        require(msg.sender == admin, "You aren't the admin so you can't press this button");

        VaultReward = HowManyTokens; // Switches to the new reward percentage
    }

    function SweepToken(ERC20 TokenAddress) public {

        require(msg.sender == admin, "You aren't the admin so you can't press this button");
        require(TokenAddress != Token || TokenAddress != RewardToken, "You cannot sweep a token that is being used by the contract");
        TokenAddress.transfer(msg.sender, TokenAddress.balanceOf(address(this))); 
    }

    // The deposit button deposits your tokens into the vault.
    // WARNING: Depositing more resets the timer!!!

    function deposit(uint amount) public {

        Token.transferFrom(msg.sender, address(this), amount);

        Staked[msg.sender] = true;
        StakedTokens[msg.sender] += amount;
        LockTimestamp[msg.sender] = block.timestamp;
    }

    // The Claim Button opens the vault and gives out the rewards and your staked balance if you call claimAndWithdraw()

    function claim() public {

        require(Staked[msg.sender] = true, "You have not deposited anything yet");
        require(CalculateTime(msg.sender) > LockingPeriod, "Your Locking time has not finished yet.");

        RewardToken.transfer(msg.sender, CalculateReward(msg.sender));
        
        LockTimestamp[msg.sender] = block.timestamp;
    }

    function claimAndWithdraw() public {

        require(Staked[msg.sender] = true, "You have not deposited anything yet");
        require(CalculateTime(msg.sender) > LockingPeriod, "Your Locking time has not finished yet.");

        RewardToken.transfer(msg.sender, CalculateReward(msg.sender));
        Token.transfer(msg.sender, StakedTokens[msg.sender]);

        Staked[msg.sender] = false;
        StakedTokens[msg.sender] = 0;

    }

//////////////////////////                                                              /////////////////////////
/////////////////////////                                                              //////////////////////////
////////////////////////      Internal and external functions this contract has:      ///////////////////////////
///////////////////////                                                              ////////////////////////////
//////////////////////                                                              /////////////////////////////


    // (msg.sender SHOULD NOT be used/assumed in any of these functions.)
    // CalculateTime returns a uint with 18 decimals.
  
    function CalculateTime(address YourAddress) internal view returns (uint256){

        uint Time = (block.timestamp - LockTimestamp[YourAddress]);
        if(LockTimestamp[YourAddress] == block.timestamp){Time = 0;}

        return Time;
    }

    function CalculateReward(address Who) public view returns (uint){

        return (StakedTokens[Who]*VaultReward)/(10**RewardToken.decimals());
    }

//////////////////////////                                                              /////////////////////////
/////////////////////////                                                              //////////////////////////
////////////////////////                 Functions used for UI data                   ///////////////////////////
///////////////////////                                                              ////////////////////////////
//////////////////////                                                              /////////////////////////////


    
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//// Additional functions that are not part of the core functionality, if you add anything, please add it here ////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////

/*
    function something() public {

        blah blah blah blah;
    }
*/



}
    
//////////////////////////                                                              /////////////////////////
/////////////////////////                                                              //////////////////////////
////////////////////////      Contracts that this contract uses, contractception!     ///////////////////////////
///////////////////////                                                              ////////////////////////////
//////////////////////                                                              /////////////////////////////

interface NFT{
    function transferFrom(address, address, uint256) external;
    function balanceOf(address) external returns (uint);
}
interface ERC20{
    function transferFrom(address, address, uint256) external;
    function transfer(address, uint256) external;
    function balanceOf(address) external view returns(uint);
    function decimals() external view returns (uint8);
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"Who","type":"address"}],"name":"CalculateReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"HowManyTokens","type":"uint256"}],"name":"EditLockReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"HowManyBlocks","type":"uint256"}],"name":"EditLockingPeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"WhatToken","type":"address"}],"name":"EditRewardToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"Limit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LockingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"WhatToken","type":"address"}],"name":"SetDepositToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"Staked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"StakedTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"TokenAddress","type":"address"}],"name":"SweepToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"VaultReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimAndWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalStaked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b5033600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506113c4806100616000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806387cb550211610097578063b6b55f2511610066578063b6b55f25146102ee578063d3da6ed51461031c578063e34e73d414610374578063ffd9cf5a146103b8576100f5565b806387cb55021461021a578063a3b112eb1461025e578063aead9e471461028c578063b4c7325914610296576100f5565b80634e71d92d116100d35780634e71d92d1461017a5780634f0575061461018457806377338642146101a2578063817b1cd2146101fc576100f5565b806335ce4c54146100fa5780633a2632cc1461013e5780634695aa441461015c575b600080fd5b61013c6004803603602081101561011057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103e6565b005b6101466106b7565b6040518082815260200191505060405180910390f35b6101646106bd565b6040518082815260200191505060405180910390f35b6101826106c3565b005b61018c6108ca565b6040518082815260200191505060405180910390f35b6101e4600480360360208110156101b857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108d0565b60405180821515815260200191505060405180910390f35b6102046108f0565b6040518082815260200191505060405180910390f35b61025c6004803603602081101561023057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108f6565b005b61028a6004803603602081101561027457600080fd5b81019080803590602001909291905050506109df565b005b610294610a8f565b005b6102d8600480360360208110156102ac57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610dd7565b6040518082815260200191505060405180910390f35b61031a6004803603602081101561030457600080fd5b8101908080359060200190929190505050610ed5565b005b61035e6004803603602081101561033257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611088565b6040518082815260200191505060405180910390f35b6103b66004803603602081101561038a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110a0565b005b6103e4600480360360208110156103ce57600080fd5b810190808035906020019092919050505061118a565b005b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461048c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806113126033913960400191505060405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415806105355750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b61058a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b8152602001806112d7603b913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561060e57600080fd5b505afa158015610622573d6000803e3d6000fd5b505050506040513d602081101561063857600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561069c57600080fd5b505af11580156106b0573d6000803e3d6000fd5b5050505050565b60065481565b60075481565b6001600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905561076f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061136c6023913960400191505060405180910390fd5b60075461077b3361123a565b116107d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806113456027913960400191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb3361081933610dd7565b6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561086c57600080fd5b505af1158015610880573d6000803e3d6000fd5b5050505042600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b60085481565b60036020528060005260406000206000915054906101000a900460ff1681565b60055481565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461099c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806113126033913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a85576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806113126033913960400191505060405180910390fd5b8060068190555050565b6001600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055610b3b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061136c6023913960400191505060405180910390fd5b600754610b473361123a565b11610b9d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806113456027913960400191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33610be533610dd7565b6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610c3857600080fd5b505af1158015610c4c573d6000803e3d6000fd5b5050505060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610d2057600080fd5b505af1158015610d34573d6000803e3d6000fd5b505050506000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610e4157600080fd5b505afa158015610e55573d6000803e3d6000fd5b505050506040513d6020811015610e6b57600080fd5b810190808051906020019092919050505060ff16600a0a600654600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540281610ecd57fe5b049050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b158015610f8457600080fd5b505af1158015610f98573d6000803e3d6000fd5b505050506001600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555042600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b60046020528060005260406000206000915090505481565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611146576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806113126033913960400191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611230576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806113126033913960400191505060405180910390fd5b8060078190555050565b600080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020544203905042600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156112cd57600090505b8091505091905056fe596f752063616e6e6f74207377656570206120746f6b656e2074686174206973206265696e6720757365642062792074686520636f6e7472616374596f75206172656e2774207468652061646d696e20736f20796f752063616e2774207072657373207468697320627574746f6e596f7572204c6f636b696e672074696d6520686173206e6f742066696e6973686564207965742e596f752068617665206e6f74206465706f736974656420616e797468696e6720796574a2646970667358221220fe7c0a77260c52b13fce4408646207cbf69a8419ed66dd2482679b6df045fd8064736f6c63430007000033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806387cb550211610097578063b6b55f2511610066578063b6b55f25146102ee578063d3da6ed51461031c578063e34e73d414610374578063ffd9cf5a146103b8576100f5565b806387cb55021461021a578063a3b112eb1461025e578063aead9e471461028c578063b4c7325914610296576100f5565b80634e71d92d116100d35780634e71d92d1461017a5780634f0575061461018457806377338642146101a2578063817b1cd2146101fc576100f5565b806335ce4c54146100fa5780633a2632cc1461013e5780634695aa441461015c575b600080fd5b61013c6004803603602081101561011057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103e6565b005b6101466106b7565b6040518082815260200191505060405180910390f35b6101646106bd565b6040518082815260200191505060405180910390f35b6101826106c3565b005b61018c6108ca565b6040518082815260200191505060405180910390f35b6101e4600480360360208110156101b857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108d0565b60405180821515815260200191505060405180910390f35b6102046108f0565b6040518082815260200191505060405180910390f35b61025c6004803603602081101561023057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108f6565b005b61028a6004803603602081101561027457600080fd5b81019080803590602001909291905050506109df565b005b610294610a8f565b005b6102d8600480360360208110156102ac57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610dd7565b6040518082815260200191505060405180910390f35b61031a6004803603602081101561030457600080fd5b8101908080359060200190929190505050610ed5565b005b61035e6004803603602081101561033257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611088565b6040518082815260200191505060405180910390f35b6103b66004803603602081101561038a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110a0565b005b6103e4600480360360208110156103ce57600080fd5b810190808035906020019092919050505061118a565b005b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461048c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806113126033913960400191505060405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415806105355750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b61058a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b8152602001806112d7603b913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561060e57600080fd5b505afa158015610622573d6000803e3d6000fd5b505050506040513d602081101561063857600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561069c57600080fd5b505af11580156106b0573d6000803e3d6000fd5b5050505050565b60065481565b60075481565b6001600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905561076f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061136c6023913960400191505060405180910390fd5b60075461077b3361123a565b116107d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806113456027913960400191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb3361081933610dd7565b6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561086c57600080fd5b505af1158015610880573d6000803e3d6000fd5b5050505042600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b60085481565b60036020528060005260406000206000915054906101000a900460ff1681565b60055481565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461099c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806113126033913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a85576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806113126033913960400191505060405180910390fd5b8060068190555050565b6001600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055610b3b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061136c6023913960400191505060405180910390fd5b600754610b473361123a565b11610b9d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806113456027913960400191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33610be533610dd7565b6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610c3857600080fd5b505af1158015610c4c573d6000803e3d6000fd5b5050505060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610d2057600080fd5b505af1158015610d34573d6000803e3d6000fd5b505050506000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610e4157600080fd5b505afa158015610e55573d6000803e3d6000fd5b505050506040513d6020811015610e6b57600080fd5b810190808051906020019092919050505060ff16600a0a600654600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540281610ecd57fe5b049050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b158015610f8457600080fd5b505af1158015610f98573d6000803e3d6000fd5b505050506001600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555042600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b60046020528060005260406000206000915090505481565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611146576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806113126033913960400191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611230576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806113126033913960400191505060405180910390fd5b8060078190555050565b600080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020544203905042600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156112cd57600090505b8091505091905056fe596f752063616e6e6f74207377656570206120746f6b656e2074686174206973206265696e6720757365642062792074686520636f6e7472616374596f75206172656e2774207468652061646d696e20736f20796f752063616e2774207072657373207468697320627574746f6e596f7572204c6f636b696e672074696d6520686173206e6f742066696e6973686564207965742e596f752068617665206e6f74206465706f736974656420616e797468696e6720796574a2646970667358221220fe7c0a77260c52b13fce4408646207cbf69a8419ed66dd2482679b6df045fd8064736f6c63430007000033

Deployed Bytecode Sourcemap

965:6948:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4058:370;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2336:23;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2366:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4935:360;;;:::i;:::-;;2398:17;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2210:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2306:23;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3291:181;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3814:236;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5303:450;;;:::i;:::-;;6730:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4555:248;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2255:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3096:187;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3480:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4058:370;4140:5;;;;;;;;;;;4126:19;;:10;:19;;;4118:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4236:5;;;;;;;;;;4220:21;;:12;:21;;;;:52;;;;4261:11;;;;;;;;;;;4245:27;;:12;:27;;;;4220:52;4212:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4347:12;:21;;;4369:10;4381:12;:22;;;4412:4;4381:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4347:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4058:370;:::o;2336:23::-;;;;:::o;2366:25::-;;;;:::o;4935:360::-;5001:4;4980:6;:18;4987:10;4980:18;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;4972:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5092:13;;5064:25;5078:10;5064:13;:25::i;:::-;:41;5056:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5162:11;;;;;;;;;;;:20;;;5183:10;5195:27;5211:10;5195:15;:27::i;:::-;5162:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5272:15;5244:13;:25;5258:10;5244:25;;;;;;;;;;;;;;;:43;;;;4935:360::o;2398:17::-;;;;:::o;2210:38::-;;;;;;;;;;;;;;;;;;;;;;:::o;2306:23::-;;;;:::o;3291:181::-;3375:5;;;;;;;;;;;3361:19;;:10;:19;;;3353:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3455:9;3447:5;;:17;;;;;;;;;;;;;;;;;;3291:181;:::o;3814:236::-;3900:5;;;;;;;;;;;3886:19;;:10;:19;;;3878:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3988:13;3974:11;:27;;;;3814:236;:::o;5303:450::-;5380:4;5359:6;:18;5366:10;5359:18;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;5351:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5471:13;;5443:25;5457:10;5443:13;:25::i;:::-;:41;5435:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5541:11;;;;;;;;;;;:20;;;5562:10;5574:27;5590:10;5574:15;:27::i;:::-;5541:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5613:5;;;;;;;;;;:14;;;5628:10;5640:12;:24;5653:10;5640:24;;;;;;;;;;;;;;;;5613:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5699:5;5678:6;:18;5685:10;5678:18;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;5742:1;5715:12;:24;5728:10;5715:24;;;;;;;;;;;;;;;:28;;;;5303:450::o;6730:152::-;6789:4;6851:11;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6847:26;;:2;:26;6833:11;;6815:12;:17;6828:3;6815:17;;;;;;;;;;;;;;;;:29;6814:60;;;;;;6807:67;;6730:152;;;:::o;4555:248::-;4605:5;;;;;;;;;;:18;;;4624:10;4644:4;4651:6;4605:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4692:4;4671:6;:18;4678:10;4671:18;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;4735:6;4707:12;:24;4720:10;4707:24;;;;;;;;;;;;;;;;:34;;;;;;;;;;;4780:15;4752:13;:25;4766:10;4752:25;;;;;;;;;;;;;;;:43;;;;4555:248;:::o;2255:44::-;;;;;;;;;;;;;;;;;:::o;3096:187::-;3180:5;;;;;;;;;;;3166:19;;:10;:19;;;3158:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3266:9;3252:11;;:23;;;;;;;;;;;;;;;;;;3096:187;:::o;3480:244::-;3569:5;;;;;;;;;;;3555:19;;:10;:19;;;3547:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3657:13;3641;:29;;;;3480:244;:::o;6474:248::-;6541:7;6562:9;6593:13;:26;6607:11;6593:26;;;;;;;;;;;;;;;;6575:15;:44;6562:58;;6664:15;6634:13;:26;6648:11;6634:26;;;;;;;;;;;;;;;;:45;6631:60;;;6688:1;6681:8;;6631:60;6710:4;6703:11;;;6474:248;;;:::o

Swarm Source

ipfs://fe7c0a77260c52b13fce4408646207cbf69a8419ed66dd2482679b6df045fd80

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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.