More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 28 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Withdraw | 19499886 | 339 days ago | IN | 0 ETH | 0.00663751 | ||||
Emergency Withdr... | 18968280 | 414 days ago | IN | 0 ETH | 0.0024798 | ||||
Emergency Withdr... | 18849029 | 431 days ago | IN | 0 ETH | 0.01115635 | ||||
Emergency Withdr... | 18848575 | 431 days ago | IN | 0 ETH | 0.00759554 | ||||
Stake | 18812550 | 436 days ago | IN | 0 ETH | 0.018229 | ||||
Stake | 18803226 | 437 days ago | IN | 0 ETH | 0.00646921 | ||||
Stake | 18803214 | 437 days ago | IN | 0 ETH | 0.00682743 | ||||
Stake | 18802166 | 437 days ago | IN | 0 ETH | 0.00782936 | ||||
Stake | 18794536 | 438 days ago | IN | 0 ETH | 0.01048932 | ||||
Stake | 18789477 | 439 days ago | IN | 0 ETH | 0.00837795 | ||||
Stake | 18788271 | 439 days ago | IN | 0 ETH | 0.01490666 | ||||
Stake | 18784366 | 440 days ago | IN | 0 ETH | 0.01067509 | ||||
Stake | 18784022 | 440 days ago | IN | 0 ETH | 0.00942783 | ||||
Stake | 18784021 | 440 days ago | IN | 0 ETH | 0.00946891 | ||||
Stake | 18783982 | 440 days ago | IN | 0 ETH | 0.00913519 | ||||
Stake | 18783967 | 440 days ago | IN | 0 ETH | 0.00988026 | ||||
Stake | 18783955 | 440 days ago | IN | 0 ETH | 0.01028656 | ||||
Stake | 18783934 | 440 days ago | IN | 0 ETH | 0.00886227 | ||||
Stake | 18783922 | 440 days ago | IN | 0 ETH | 0.01017104 | ||||
Stake | 18780495 | 440 days ago | IN | 0 ETH | 0.01227537 | ||||
Stake | 18780052 | 440 days ago | IN | 0 ETH | 0.0134968 | ||||
Stake | 18779763 | 440 days ago | IN | 0 ETH | 0.01375832 | ||||
Stake | 18779379 | 441 days ago | IN | 0 ETH | 0.01206431 | ||||
Stake | 18779356 | 441 days ago | IN | 0 ETH | 0.0125733 | ||||
Stake | 18779352 | 441 days ago | IN | 0 ETH | 0.01320319 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
StakingContract
Compiler Version
v0.8.19+commit.7dd6d404
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.19; import "@openzeppelin/contracts/access/Ownable.sol"; interface IERC20 { function transfer( address recipient, uint256 amount ) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); function balanceOf(address account) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); } contract StakingContract is Ownable { IERC20 public token; struct Stake { uint256 amount; uint256 startTime; uint256 duration; uint256 rewardPercentage; bool active; uint256 claimedAmount; } uint256 public rewardPercentage30Days = 10; uint256 public rewardPercentage60Days = 25; uint256 public rewardPercentage90Days = 45; uint public paneltyPercentage = 5; mapping(address => Stake[]) public stakes; event Staked(address indexed user, uint256 amount, uint256 duration); event Withdrawn(address indexed user, uint256 amount); event EmergencyWithdrawn(address indexed user, uint256 amount); constructor(address _token) { token = IERC20(_token); } function stake(uint256 _amount, uint256 _duration) external { require( _duration == 30 || _duration == 60 || _duration == 90, "Invalid duration" ); uint256 rewardPercentage = 0; if (_duration == 30) { rewardPercentage = rewardPercentage30Days; } else if (_duration == 60) { rewardPercentage = rewardPercentage60Days; } else if (_duration == 90) { rewardPercentage = rewardPercentage90Days; } require( token.transferFrom(msg.sender, address(this), _amount), "Transfer failed" ); stakes[msg.sender].push( Stake({ amount: _amount, startTime: block.timestamp, duration: _duration * 1 days, rewardPercentage: rewardPercentage, active: true, claimedAmount: 0 }) ); emit Staked(msg.sender, _amount, _duration); } function calculateReward( address _user, uint256 _stakeIndex ) public view returns (uint256) { Stake memory userStake = stakes[_user][_stakeIndex]; uint256 timeElapsed = block.timestamp - userStake.startTime; uint256 duration = userStake.duration; if (!userStake.active) return 0; if (timeElapsed >= duration && userStake.active) { return (userStake.amount * userStake.rewardPercentage) / 100; } else { return (userStake.amount * userStake.rewardPercentage * timeElapsed) / (100 * userStake.duration); } } // Function for regular withdrawal (allowed after lock period) function withdraw(uint256 _stakeIndex) external { require(_stakeIndex < stakes[msg.sender].length, "Invalid stake index"); Stake storage userStake = stakes[msg.sender][_stakeIndex]; uint256 reward = calculateReward(msg.sender, _stakeIndex); uint256 timeElapsed = block.timestamp - userStake.startTime; require(reward > 0, "No rewards to claim yet"); require(timeElapsed >= userStake.duration, "Lock period not ended"); uint256 withdrawAmount = userStake.amount + reward; require(token.transfer(msg.sender, withdrawAmount), "Transfer failed"); userStake.active = false; userStake.claimedAmount = reward; emit Withdrawn(msg.sender, withdrawAmount); } // Function for emergency withdrawal (allowed before lock period ends) function emergencyWithdraw(uint256 _stakeIndex) external { require(_stakeIndex < stakes[msg.sender].length, "Invalid stake index"); Stake storage userStake = stakes[msg.sender][_stakeIndex]; uint256 reward = calculateReward(msg.sender, _stakeIndex); uint256 timeElapsed = block.timestamp - userStake.startTime; require(timeElapsed < userStake.duration, "Lock period ended"); uint256 penalty = ((userStake.amount + reward) * paneltyPercentage) / 100; uint256 withdrawAmount = userStake.amount + reward - penalty; require(token.transfer(msg.sender, withdrawAmount), "Transfer failed"); userStake.active = false; userStake.claimedAmount = reward; emit EmergencyWithdrawn(msg.sender, withdrawAmount); } function getStakesCount(address _user) external view returns (uint256) { return stakes[_user].length; } function getStakeDetails( address _user, uint256 _index ) external view returns ( uint256 amount, uint256 startTime, uint256 duration, uint256 rewardPercentage, bool active ) { Stake memory userStake = stakes[_user][_index]; return ( userStake.amount, userStake.startTime, userStake.duration, userStake.rewardPercentage, userStake.active ); } function ownerWithdrawTokens(uint256 _amount) external onlyOwner { require(token.transfer(msg.sender, _amount), "Transfer failed"); } function withdrawBep20Tokens( address _token, uint256 _amount ) external onlyOwner { IERC20(_token).transfer(msg.sender, _amount); } // Function for the contract owner to update reward percentages function updateRewardPercentages( uint256 _rewardPercentage30Days, uint256 _rewardPercentage60Days, uint256 _rewardPercentage90Days ) external onlyOwner { rewardPercentage30Days = _rewardPercentage30Days; rewardPercentage60Days = _rewardPercentage60Days; rewardPercentage90Days = _rewardPercentage90Days; } function changePaneltyAmount(uint _panelty) external onlyOwner { paneltyPercentage = _panelty; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol) pragma solidity ^0.8.0; import "../utils/Context.sol"; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.4) (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } function _contextSuffixLength() internal view virtual returns (uint256) { return 0; } }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"EmergencyWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"duration","type":"uint256"}],"name":"Staked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"uint256","name":"_stakeIndex","type":"uint256"}],"name":"calculateReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_panelty","type":"uint256"}],"name":"changePaneltyAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_stakeIndex","type":"uint256"}],"name":"emergencyWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"getStakeDetails","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"rewardPercentage","type":"uint256"},{"internalType":"bool","name":"active","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"getStakesCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"ownerWithdrawTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paneltyPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardPercentage30Days","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardPercentage60Days","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardPercentage90Days","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"_duration","type":"uint256"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"stakes","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"rewardPercentage","type":"uint256"},{"internalType":"bool","name":"active","type":"bool"},{"internalType":"uint256","name":"claimedAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_rewardPercentage30Days","type":"uint256"},{"internalType":"uint256","name":"_rewardPercentage60Days","type":"uint256"},{"internalType":"uint256","name":"_rewardPercentage90Days","type":"uint256"}],"name":"updateRewardPercentages","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_stakeIndex","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdrawBep20Tokens","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6080604052600a6002556019600355602d6004556005805534801561002357600080fd5b506040516110cf3803806110cf833981016040819052610042916100c0565b61004b33610070565b600180546001600160a01b0319166001600160a01b03929092169190911790556100f0565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100d257600080fd5b81516001600160a01b03811681146100e957600080fd5b9392505050565b610fd0806100ff6000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c8063715018a6116100ad578063d12cc91811610071578063d12cc918146102b1578063e68c34bc146102ba578063f2fde38b146102c3578063fc0c546a146102d6578063fe9bcf13146102e957600080fd5b8063715018a61461024b5780637b0472f0146102535780638da5cb5b14610266578063a608554d1461028b578063b43964b91461029e57600080fd5b80634c5acae9116100f45780634c5acae9146101b15780635312ea8e146101ba578063549b5bfc146101cd578063584b62a1146101f6578063609721201461023857600080fd5b80630f0a4fef1461012657806315c9c676146101685780631852e8d91461017d5780632e1a7d4d1461019e575b600080fd5b610139610134366004610e11565b6102f2565b6040805195865260208601949094529284019190915260608301521515608082015260a0015b60405180910390f35b61017b610176366004610e3b565b6103a9565b005b61019061018b366004610e11565b6103bf565b60405190815260200161015f565b61017b6101ac366004610e67565b6104df565b61019060035481565b61017b6101c8366004610e67565b610718565b6101906101db366004610e80565b6001600160a01b031660009081526006602052604090205490565b610209610204366004610e11565b610932565b6040805196875260208701959095529385019290925260608401521515608083015260a082015260c00161015f565b61017b610246366004610e67565b61098c565b61017b610a28565b61017b610261366004610ea2565b610a3c565b6000546001600160a01b03165b6040516001600160a01b03909116815260200161015f565b61017b610299366004610e11565b610c4a565b61017b6102ac366004610e67565b610cc8565b61019060045481565b61019060025481565b61017b6102d1366004610e80565b610cd5565b600154610273906001600160a01b031681565b61019060055481565b60008060008060008060066000896001600160a01b03166001600160a01b03168152602001908152602001600020878154811061033157610331610ec4565b60009182526020918290206040805160c081018252600693909302909101805480845260018201549484018590526002820154928401839052600382015460608501819052600483015460ff1615156080860181905260059093015460a0909501949094529c939b5090995090975095509350505050565b6103b1610d4b565b600292909255600355600455565b6001600160a01b03821660009081526006602052604081208054829190849081106103ec576103ec610ec4565b600091825260208083206040805160c081018252600690940290910180548452600181015492840183905260028101549184019190915260038101546060840152600481015460ff16151560808401526005015460a08301529092506104529042610ef0565b604083015160808401519192509061047057600093505050506104d9565b808210158015610481575082608001515b156104ad576060830151835160649161049991610f03565b6104a39190610f1a565b93505050506104d9565b60408301516104bd906064610f03565b6060840151845184916104cf91610f03565b6104999190610f03565b92915050565b3360009081526006602052604090205481106105385760405162461bcd60e51b8152602060048201526013602482015272092dcecc2d8d2c840e6e8c2d6ca40d2dcc8caf606b1b60448201526064015b60405180910390fd5b33600090815260066020526040812080548390811061055957610559610ec4565b90600052602060002090600602019050600061057533846103bf565b905060008260010154426105899190610ef0565b9050600082116105db5760405162461bcd60e51b815260206004820152601760248201527f4e6f207265776172647320746f20636c61696d20796574000000000000000000604482015260640161052f565b82600201548110156106275760405162461bcd60e51b8152602060048201526015602482015274131bd8dac81c195c9a5bd9081b9bdd08195b991959605a1b604482015260640161052f565b8254600090610637908490610f3c565b60015460405163a9059cbb60e01b8152336004820152602481018390529192506001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015610689573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ad9190610f4f565b6106c95760405162461bcd60e51b815260040161052f90610f71565b60048401805460ff191690556005840183905560405181815233907f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d59060200160405180910390a25050505050565b33600090815260066020526040902054811061076c5760405162461bcd60e51b8152602060048201526013602482015272092dcecc2d8d2c840e6e8c2d6ca40d2dcc8caf606b1b604482015260640161052f565b33600090815260066020526040812080548390811061078d5761078d610ec4565b9060005260206000209060060201905060006107a933846103bf565b905060008260010154426107bd9190610ef0565b9050826002015481106108065760405162461bcd60e51b8152602060048201526011602482015270131bd8dac81c195c9a5bd908195b991959607a1b604482015260640161052f565b6000606460055484866000015461081d9190610f3c565b6108279190610f03565b6108319190610f1a565b90506000818486600001546108469190610f3c565b6108509190610ef0565b60015460405163a9059cbb60e01b8152336004820152602481018390529192506001600160a01b03169063a9059cbb906044016020604051808303816000875af11580156108a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c69190610f4f565b6108e25760405162461bcd60e51b815260040161052f90610f71565b60048501805460ff191690556005850184905560405181815233907f2e39961a70a10f4d46383948095ac2752b3ee642a7c76aa827410aaff08c2e519060200160405180910390a2505050505050565b6006602052816000526040600020818154811061094e57600080fd5b600091825260209091206006909102018054600182015460028301546003840154600485015460059095015493965091945092909160ff9091169086565b610994610d4b565b60015460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303816000875af11580156109e5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a099190610f4f565b610a255760405162461bcd60e51b815260040161052f90610f71565b50565b610a30610d4b565b610a3a6000610da5565b565b80601e1480610a4b575080603c145b80610a56575080605a145b610a955760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b210323ab930ba34b7b760811b604482015260640161052f565b600081601e03610aa85750600254610ac6565b81603c03610ab95750600354610ac6565b81605a03610ac657506004545b6001546040516323b872dd60e01b8152336004820152306024820152604481018590526001600160a01b03909116906323b872dd906064016020604051808303816000875af1158015610b1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b419190610f4f565b610b5d5760405162461bcd60e51b815260040161052f90610f71565b33600090815260066020908152604091829020825160c0810184528681524292810192909252918101610b938562015180610f03565b8152602080820185905260016040808401829052600060609485018190528654808401885596815283902085516006909702019586558483015191860191909155838101516002860155918301516003850155608083015160048501805460ff191691151591909117905560a090920151600590930192909255815185815290810184905233917f1449c6dd7851abc30abf37f57715f492010519147cc2652fbc38202c18a6ee90910160405180910390a2505050565b610c52610d4b565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303816000875af1158015610c9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc39190610f4f565b505050565b610cd0610d4b565b600555565b610cdd610d4b565b6001600160a01b038116610d425760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161052f565b610a2581610da5565b6000546001600160a01b03163314610a3a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161052f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b0381168114610e0c57600080fd5b919050565b60008060408385031215610e2457600080fd5b610e2d83610df5565b946020939093013593505050565b600080600060608486031215610e5057600080fd5b505081359360208301359350604090920135919050565b600060208284031215610e7957600080fd5b5035919050565b600060208284031215610e9257600080fd5b610e9b82610df5565b9392505050565b60008060408385031215610eb557600080fd5b50508035926020909101359150565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b818103818111156104d9576104d9610eda565b80820281158282048414176104d9576104d9610eda565b600082610f3757634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156104d9576104d9610eda565b600060208284031215610f6157600080fd5b81518015158114610e9b57600080fd5b6020808252600f908201526e151c985b9cd9995c8819985a5b1959608a1b60408201526060019056fea26469706673582212209fef23cd1b1d2d52861b9f6075df67ea28c0ccbcf14eb2ae175dbdf075b8108364736f6c63430008130033000000000000000000000000393e888b031e000a258a3f646e3d8043c57a1f05
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101215760003560e01c8063715018a6116100ad578063d12cc91811610071578063d12cc918146102b1578063e68c34bc146102ba578063f2fde38b146102c3578063fc0c546a146102d6578063fe9bcf13146102e957600080fd5b8063715018a61461024b5780637b0472f0146102535780638da5cb5b14610266578063a608554d1461028b578063b43964b91461029e57600080fd5b80634c5acae9116100f45780634c5acae9146101b15780635312ea8e146101ba578063549b5bfc146101cd578063584b62a1146101f6578063609721201461023857600080fd5b80630f0a4fef1461012657806315c9c676146101685780631852e8d91461017d5780632e1a7d4d1461019e575b600080fd5b610139610134366004610e11565b6102f2565b6040805195865260208601949094529284019190915260608301521515608082015260a0015b60405180910390f35b61017b610176366004610e3b565b6103a9565b005b61019061018b366004610e11565b6103bf565b60405190815260200161015f565b61017b6101ac366004610e67565b6104df565b61019060035481565b61017b6101c8366004610e67565b610718565b6101906101db366004610e80565b6001600160a01b031660009081526006602052604090205490565b610209610204366004610e11565b610932565b6040805196875260208701959095529385019290925260608401521515608083015260a082015260c00161015f565b61017b610246366004610e67565b61098c565b61017b610a28565b61017b610261366004610ea2565b610a3c565b6000546001600160a01b03165b6040516001600160a01b03909116815260200161015f565b61017b610299366004610e11565b610c4a565b61017b6102ac366004610e67565b610cc8565b61019060045481565b61019060025481565b61017b6102d1366004610e80565b610cd5565b600154610273906001600160a01b031681565b61019060055481565b60008060008060008060066000896001600160a01b03166001600160a01b03168152602001908152602001600020878154811061033157610331610ec4565b60009182526020918290206040805160c081018252600693909302909101805480845260018201549484018590526002820154928401839052600382015460608501819052600483015460ff1615156080860181905260059093015460a0909501949094529c939b5090995090975095509350505050565b6103b1610d4b565b600292909255600355600455565b6001600160a01b03821660009081526006602052604081208054829190849081106103ec576103ec610ec4565b600091825260208083206040805160c081018252600690940290910180548452600181015492840183905260028101549184019190915260038101546060840152600481015460ff16151560808401526005015460a08301529092506104529042610ef0565b604083015160808401519192509061047057600093505050506104d9565b808210158015610481575082608001515b156104ad576060830151835160649161049991610f03565b6104a39190610f1a565b93505050506104d9565b60408301516104bd906064610f03565b6060840151845184916104cf91610f03565b6104999190610f03565b92915050565b3360009081526006602052604090205481106105385760405162461bcd60e51b8152602060048201526013602482015272092dcecc2d8d2c840e6e8c2d6ca40d2dcc8caf606b1b60448201526064015b60405180910390fd5b33600090815260066020526040812080548390811061055957610559610ec4565b90600052602060002090600602019050600061057533846103bf565b905060008260010154426105899190610ef0565b9050600082116105db5760405162461bcd60e51b815260206004820152601760248201527f4e6f207265776172647320746f20636c61696d20796574000000000000000000604482015260640161052f565b82600201548110156106275760405162461bcd60e51b8152602060048201526015602482015274131bd8dac81c195c9a5bd9081b9bdd08195b991959605a1b604482015260640161052f565b8254600090610637908490610f3c565b60015460405163a9059cbb60e01b8152336004820152602481018390529192506001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015610689573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ad9190610f4f565b6106c95760405162461bcd60e51b815260040161052f90610f71565b60048401805460ff191690556005840183905560405181815233907f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d59060200160405180910390a25050505050565b33600090815260066020526040902054811061076c5760405162461bcd60e51b8152602060048201526013602482015272092dcecc2d8d2c840e6e8c2d6ca40d2dcc8caf606b1b604482015260640161052f565b33600090815260066020526040812080548390811061078d5761078d610ec4565b9060005260206000209060060201905060006107a933846103bf565b905060008260010154426107bd9190610ef0565b9050826002015481106108065760405162461bcd60e51b8152602060048201526011602482015270131bd8dac81c195c9a5bd908195b991959607a1b604482015260640161052f565b6000606460055484866000015461081d9190610f3c565b6108279190610f03565b6108319190610f1a565b90506000818486600001546108469190610f3c565b6108509190610ef0565b60015460405163a9059cbb60e01b8152336004820152602481018390529192506001600160a01b03169063a9059cbb906044016020604051808303816000875af11580156108a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c69190610f4f565b6108e25760405162461bcd60e51b815260040161052f90610f71565b60048501805460ff191690556005850184905560405181815233907f2e39961a70a10f4d46383948095ac2752b3ee642a7c76aa827410aaff08c2e519060200160405180910390a2505050505050565b6006602052816000526040600020818154811061094e57600080fd5b600091825260209091206006909102018054600182015460028301546003840154600485015460059095015493965091945092909160ff9091169086565b610994610d4b565b60015460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303816000875af11580156109e5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a099190610f4f565b610a255760405162461bcd60e51b815260040161052f90610f71565b50565b610a30610d4b565b610a3a6000610da5565b565b80601e1480610a4b575080603c145b80610a56575080605a145b610a955760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b210323ab930ba34b7b760811b604482015260640161052f565b600081601e03610aa85750600254610ac6565b81603c03610ab95750600354610ac6565b81605a03610ac657506004545b6001546040516323b872dd60e01b8152336004820152306024820152604481018590526001600160a01b03909116906323b872dd906064016020604051808303816000875af1158015610b1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b419190610f4f565b610b5d5760405162461bcd60e51b815260040161052f90610f71565b33600090815260066020908152604091829020825160c0810184528681524292810192909252918101610b938562015180610f03565b8152602080820185905260016040808401829052600060609485018190528654808401885596815283902085516006909702019586558483015191860191909155838101516002860155918301516003850155608083015160048501805460ff191691151591909117905560a090920151600590930192909255815185815290810184905233917f1449c6dd7851abc30abf37f57715f492010519147cc2652fbc38202c18a6ee90910160405180910390a2505050565b610c52610d4b565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303816000875af1158015610c9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc39190610f4f565b505050565b610cd0610d4b565b600555565b610cdd610d4b565b6001600160a01b038116610d425760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161052f565b610a2581610da5565b6000546001600160a01b03163314610a3a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161052f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b0381168114610e0c57600080fd5b919050565b60008060408385031215610e2457600080fd5b610e2d83610df5565b946020939093013593505050565b600080600060608486031215610e5057600080fd5b505081359360208301359350604090920135919050565b600060208284031215610e7957600080fd5b5035919050565b600060208284031215610e9257600080fd5b610e9b82610df5565b9392505050565b60008060408385031215610eb557600080fd5b50508035926020909101359150565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b818103818111156104d9576104d9610eda565b80820281158282048414176104d9576104d9610eda565b600082610f3757634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156104d9576104d9610eda565b600060208284031215610f6157600080fd5b81518015158114610e9b57600080fd5b6020808252600f908201526e151c985b9cd9995c8819985a5b1959608a1b60408201526060019056fea26469706673582212209fef23cd1b1d2d52861b9f6075df67ea28c0ccbcf14eb2ae175dbdf075b8108364736f6c63430008130033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000393e888b031e000a258a3f646e3d8043c57a1f05
-----Decoded View---------------
Arg [0] : _token (address): 0x393e888B031E000a258A3F646E3D8043c57a1F05
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000393e888b031e000a258a3f646e3d8043c57a1f05
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.