Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 20 from a total of 20 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Emergency Withdr... | 18307211 | 499 days ago | IN | 0 ETH | 0.00038002 | ||||
Harvest | 18305399 | 499 days ago | IN | 0 ETH | 0.00035036 | ||||
Stake | 18304127 | 499 days ago | IN | 0 ETH | 0.00099133 | ||||
Stake | 18303981 | 499 days ago | IN | 0 ETH | 0.00072341 | ||||
Stake | 18303123 | 500 days ago | IN | 0 ETH | 0.00071609 | ||||
Stake | 18300979 | 500 days ago | IN | 0 ETH | 0.00057422 | ||||
Harvest | 18300977 | 500 days ago | IN | 0 ETH | 0.00041976 | ||||
Harvest | 18300390 | 500 days ago | IN | 0 ETH | 0.00039032 | ||||
Harvest | 18300007 | 500 days ago | IN | 0 ETH | 0.00046254 | ||||
Stake | 18299989 | 500 days ago | IN | 0 ETH | 0.0009394 | ||||
Stake | 18299962 | 500 days ago | IN | 0 ETH | 0.00052109 | ||||
Harvest | 18299960 | 500 days ago | IN | 0 ETH | 0.0004619 | ||||
Stake | 18299935 | 500 days ago | IN | 0 ETH | 0.00075436 | ||||
Stake | 18299914 | 500 days ago | IN | 0 ETH | 0.00076031 | ||||
Stake | 18299877 | 500 days ago | IN | 0 ETH | 0.00045492 | ||||
Stake | 18299876 | 500 days ago | IN | 0 ETH | 0.0008548 | ||||
Stake | 18299858 | 500 days ago | IN | 0 ETH | 0.00070954 | ||||
Stake | 18299812 | 500 days ago | IN | 0 ETH | 0.00085909 | ||||
Harvest | 18299123 | 500 days ago | IN | 0 ETH | 0.00047379 | ||||
Stake | 18299086 | 500 days ago | IN | 0 ETH | 0.00113061 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
ElonGateStaking
Compiler Version
v0.8.18+commit.87f61d96
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer( address recipient, uint256 amount ) external returns (bool); function allowance( address owner, address spender ) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } contract ElonGateStaking is Ownable { IERC20 public elonGate = IERC20(0xcC6c4F450f1d4aeC71C46f240a6bD50c4E556B8A); uint256 public totalStaked; struct UserStake { uint256 totalAmount; uint256 lastClaimTime; uint256 stakingTime; } mapping(address => UserStake) public userStakes; uint256 public constant APY = 5000; uint256 public constant lockupPeriod = 3 days; constructor() { } function stake(uint256 _amount) external { require(_amount > 0, "Amount must be greater than 0"); UserStake storage user = userStakes[msg.sender]; if (user.stakingTime == 0) { user.stakingTime = block.timestamp; } else { uint256 rewards = calculateRewards(user); if (rewards > 0) { elonGate.transfer(msg.sender, rewards); } } elonGate.transferFrom(msg.sender, address(this), _amount); user.totalAmount += _amount; user.lastClaimTime = block.timestamp; totalStaked += _amount; } function harvest() external { UserStake storage user = userStakes[msg.sender]; require(user.stakingTime > 0, "You have not staked yet"); uint256 rewards = calculateRewards(user); user.lastClaimTime = block.timestamp; elonGate.transfer(msg.sender, rewards); } function withdraw() external { UserStake storage user = userStakes[msg.sender]; require(user.stakingTime > 0, "You have not staked yet"); require( block.timestamp >= user.stakingTime + lockupPeriod, "Lockup period has not ended yet" ); uint256 amountToWithdraw = user.totalAmount + calculateRewards(user); elonGate.transfer(msg.sender, amountToWithdraw); delete userStakes[msg.sender]; } function getReward(address _user) external view returns (uint256) { UserStake storage user = userStakes[_user]; if (user.stakingTime == 0) { return 0; } uint256 rewards = calculateRewards(user); return rewards; } function calculateRewards( UserStake storage user ) internal view returns (uint256) { uint256 currentTime = block.timestamp; uint256 lastClaimTime = user.lastClaimTime; if (currentTime <= lastClaimTime) { return 0; } uint256 timeDiff = currentTime - lastClaimTime; uint256 rewards = (user.totalAmount * APY * timeDiff) / (100 * 365 days); return rewards; } function emergencyWithdraw() external onlyOwner { elonGate.transfer(msg.sender, elonGate.balanceOf(address(this))); } }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"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":"APY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"elonGate","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emergencyWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"getReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"harvest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lockupPeriod","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalStaked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userStakes","outputs":[{"internalType":"uint256","name":"totalAmount","type":"uint256"},{"internalType":"uint256","name":"lastClaimTime","type":"uint256"},{"internalType":"uint256","name":"stakingTime","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6080604052600180546001600160a01b03191673cc6c4f450f1d4aec71c46f240a6bd50c4e556b8a17905534801561003657600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350610980806100876000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063a694fc3a11610071578063a694fc3a1461015e578063c00007b014610171578063ca9acc7514610184578063db2e21bc14610197578063ee947a7c1461019f578063ef8bd305146101a957600080fd5b80633ccfd60b146100b95780634641257d146100c3578063715018a6146100cb578063817b1cd2146100d35780638da5cb5b146100ef5780638da7ad2314610114575b600080fd5b6100c16101b2565b005b6100c1610322565b6100c161040a565b6100dc60025481565b6040519081526020015b60405180910390f35b6000546001600160a01b03165b6040516001600160a01b0390911681526020016100e6565b61014361012236600461084b565b60036020526000908152604090208054600182015460029092015490919083565b604080519384526020840192909252908201526060016100e6565b6100c161016c36600461087b565b6104ae565b6100dc61017f36600461084b565b610669565b6001546100fc906001600160a01b031681565b6100c16106a8565b6100dc6203f48081565b6100dc61138881565b33600090815260036020526040902060028101546102115760405162461bcd60e51b8152602060048201526017602482015276165bdd481a185d99481b9bdd081cdd185ad959081e595d604a1b60448201526064015b60405180910390fd5b6203f480816002015461022491906108aa565b4210156102735760405162461bcd60e51b815260206004820152601f60248201527f4c6f636b757020706572696f6420686173206e6f7420656e64656420796574006044820152606401610208565b600061027e826107ea565b825461028a91906108aa565b60015460405163a9059cbb60e01b8152336004820152602481018390529192506001600160a01b03169063a9059cbb906044016020604051808303816000875af11580156102dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061030091906108c3565b5050336000908152600360205260408120818155600181018290556002015550565b336000908152600360205260409020600281015461037c5760405162461bcd60e51b8152602060048201526017602482015276165bdd481a185d99481b9bdd081cdd185ad959081e595d604a1b6044820152606401610208565b6000610387826107ea565b426001848101919091555460405163a9059cbb60e01b8152336004820152602481018390529192506001600160a01b03169063a9059cbb906044016020604051808303816000875af11580156103e1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040591906108c3565b505050565b6000546001600160a01b031633146104645760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610208565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600081116104fe5760405162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606401610208565b3360009081526003602052604081206002810154909103610524574260028201556105b0565b600061052f826107ea565b905080156105ae5760015460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015610588573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ac91906108c3565b505b505b6001546040516323b872dd60e01b8152336004820152306024820152604481018490526001600160a01b03909116906323b872dd906064016020604051808303816000875af1158015610607573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062b91906108c3565b508181600001600082825461064091906108aa565b9091555050426001820155600280548391906000906106609084906108aa565b90915550505050565b6001600160a01b0381166000908152600360205260408120600281015482036106955750600092915050565b60006106a0826107ea565b949350505050565b6000546001600160a01b031633146107025760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610208565b6001546040516370a0823160e01b81523060048201526001600160a01b039091169063a9059cbb90339083906370a0823190602401602060405180830381865afa158015610754573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061077891906108e5565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156107c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e791906108c3565b50565b60018101546000904290808211610805575060009392505050565b600061081182846108fe565b9050600063bbf81e0082611388886000015461082d9190610911565b6108379190610911565b6108419190610928565b9695505050505050565b60006020828403121561085d57600080fd5b81356001600160a01b038116811461087457600080fd5b9392505050565b60006020828403121561088d57600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156108bd576108bd610894565b92915050565b6000602082840312156108d557600080fd5b8151801515811461087457600080fd5b6000602082840312156108f757600080fd5b5051919050565b818103818111156108bd576108bd610894565b80820281158282048414176108bd576108bd610894565b60008261094557634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220fee026d082eb29caa9a29693eb2239093765fe1e04908ff249cacd9b0b98d1a464736f6c63430008120033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100b45760003560e01c8063a694fc3a11610071578063a694fc3a1461015e578063c00007b014610171578063ca9acc7514610184578063db2e21bc14610197578063ee947a7c1461019f578063ef8bd305146101a957600080fd5b80633ccfd60b146100b95780634641257d146100c3578063715018a6146100cb578063817b1cd2146100d35780638da5cb5b146100ef5780638da7ad2314610114575b600080fd5b6100c16101b2565b005b6100c1610322565b6100c161040a565b6100dc60025481565b6040519081526020015b60405180910390f35b6000546001600160a01b03165b6040516001600160a01b0390911681526020016100e6565b61014361012236600461084b565b60036020526000908152604090208054600182015460029092015490919083565b604080519384526020840192909252908201526060016100e6565b6100c161016c36600461087b565b6104ae565b6100dc61017f36600461084b565b610669565b6001546100fc906001600160a01b031681565b6100c16106a8565b6100dc6203f48081565b6100dc61138881565b33600090815260036020526040902060028101546102115760405162461bcd60e51b8152602060048201526017602482015276165bdd481a185d99481b9bdd081cdd185ad959081e595d604a1b60448201526064015b60405180910390fd5b6203f480816002015461022491906108aa565b4210156102735760405162461bcd60e51b815260206004820152601f60248201527f4c6f636b757020706572696f6420686173206e6f7420656e64656420796574006044820152606401610208565b600061027e826107ea565b825461028a91906108aa565b60015460405163a9059cbb60e01b8152336004820152602481018390529192506001600160a01b03169063a9059cbb906044016020604051808303816000875af11580156102dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061030091906108c3565b5050336000908152600360205260408120818155600181018290556002015550565b336000908152600360205260409020600281015461037c5760405162461bcd60e51b8152602060048201526017602482015276165bdd481a185d99481b9bdd081cdd185ad959081e595d604a1b6044820152606401610208565b6000610387826107ea565b426001848101919091555460405163a9059cbb60e01b8152336004820152602481018390529192506001600160a01b03169063a9059cbb906044016020604051808303816000875af11580156103e1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040591906108c3565b505050565b6000546001600160a01b031633146104645760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610208565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600081116104fe5760405162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606401610208565b3360009081526003602052604081206002810154909103610524574260028201556105b0565b600061052f826107ea565b905080156105ae5760015460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015610588573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ac91906108c3565b505b505b6001546040516323b872dd60e01b8152336004820152306024820152604481018490526001600160a01b03909116906323b872dd906064016020604051808303816000875af1158015610607573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062b91906108c3565b508181600001600082825461064091906108aa565b9091555050426001820155600280548391906000906106609084906108aa565b90915550505050565b6001600160a01b0381166000908152600360205260408120600281015482036106955750600092915050565b60006106a0826107ea565b949350505050565b6000546001600160a01b031633146107025760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610208565b6001546040516370a0823160e01b81523060048201526001600160a01b039091169063a9059cbb90339083906370a0823190602401602060405180830381865afa158015610754573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061077891906108e5565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156107c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e791906108c3565b50565b60018101546000904290808211610805575060009392505050565b600061081182846108fe565b9050600063bbf81e0082611388886000015461082d9190610911565b6108379190610911565b6108419190610928565b9695505050505050565b60006020828403121561085d57600080fd5b81356001600160a01b038116811461087457600080fd5b9392505050565b60006020828403121561088d57600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156108bd576108bd610894565b92915050565b6000602082840312156108d557600080fd5b8151801515811461087457600080fd5b6000602082840312156108f757600080fd5b5051919050565b818103818111156108bd576108bd610894565b80820281158282048414176108bd576108bd610894565b60008261094557634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220fee026d082eb29caa9a29693eb2239093765fe1e04908ff249cacd9b0b98d1a464736f6c63430008120033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.