More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 126 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Deposit | 12579256 | 1319 days ago | IN | 0 ETH | 0.00197744 | ||||
Transfer Any ERC... | 12400630 | 1346 days ago | IN | 0 ETH | 0.00652618 | ||||
Deposit | 12367417 | 1352 days ago | IN | 0 ETH | 0.01384208 | ||||
Withdraw | 12292044 | 1363 days ago | IN | 0 ETH | 0.00744602 | ||||
Withdraw | 12292020 | 1363 days ago | IN | 0 ETH | 0.01267702 | ||||
Claim Divs | 12289479 | 1364 days ago | IN | 0 ETH | 0.00259155 | ||||
Withdraw | 12289477 | 1364 days ago | IN | 0 ETH | 0.00952749 | ||||
Deposit | 12274402 | 1366 days ago | IN | 0 ETH | 0.00787031 | ||||
Deposit | 12274401 | 1366 days ago | IN | 0 ETH | 0.00811301 | ||||
Deposit | 12274400 | 1366 days ago | IN | 0 ETH | 0.02685313 | ||||
Deposit | 12222584 | 1374 days ago | IN | 0 ETH | 0.00968134 | ||||
Deposit | 12211427 | 1376 days ago | IN | 0 ETH | 0.0024829 | ||||
Deposit | 12211427 | 1376 days ago | IN | 0 ETH | 0.0024829 | ||||
Deposit | 12211427 | 1376 days ago | IN | 0 ETH | 0.0117267 | ||||
Withdraw | 12210400 | 1376 days ago | IN | 0 ETH | 0.01460823 | ||||
Deposit | 12210245 | 1376 days ago | IN | 0 ETH | 0.01668648 | ||||
Deposit | 12207451 | 1376 days ago | IN | 0 ETH | 0.01700395 | ||||
Withdraw | 12124510 | 1389 days ago | IN | 0 ETH | 0.02691388 | ||||
Deposit | 12004652 | 1407 days ago | IN | 0 ETH | 0.02181793 | ||||
Withdraw | 11936331 | 1418 days ago | IN | 0 ETH | 0.01254798 | ||||
Deposit | 11904701 | 1423 days ago | IN | 0 ETH | 0.02618299 | ||||
Withdraw | 11872004 | 1428 days ago | IN | 0 ETH | 0.01632886 | ||||
Deposit | 11852975 | 1431 days ago | IN | 0 ETH | 0.01805148 | ||||
Deposit | 11852975 | 1431 days ago | IN | 0 ETH | 0.00194391 | ||||
Deposit | 11852859 | 1431 days ago | IN | 0 ETH | 0.00207502 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
CarrotStake
Compiler Version
v0.6.12+commit.27d51765
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-12-27 */ /** ______ __ _____ __ __ / ____/___ _______________ / /_/ ___// /_____ _/ /_____ / / / __ `/ ___/ ___/ __ \/ __/\__ \/ __/ __ `/ //_/ _ \ / /___/ /_/ / / / / / /_/ / /_ ___/ / /_/ /_/ / ,< / __/ \____/\__,_/_/ /_/ \____/\__//____/\__/\__,_/_/|_|\___/ */ // SPDX-License-Identifier: MIT pragma solidity 0.6.12; library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a * b; assert(a == 0 || c / a == b); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } library EnumerableSet { struct Set { bytes32[] _values; mapping (bytes32 => uint256) _indexes; } function _add(Set storage set, bytes32 value) private returns (bool) { if (!_contains(set, value)) { set._values.push(value); set._indexes[value] = set._values.length; return true; } else { return false; } } function _remove(Set storage set, bytes32 value) private returns (bool) { // We read and store the value's index to prevent multiple reads from the same storage slot uint256 valueIndex = set._indexes[value]; if (valueIndex != 0) { // Equivalent to contains(set, value) uint256 toDeleteIndex = valueIndex - 1; uint256 lastIndex = set._values.length - 1; bytes32 lastvalue = set._values[lastIndex]; // Move the last value to the index where the value to delete is set._values[toDeleteIndex] = lastvalue; // Update the index for the moved value set._indexes[lastvalue] = toDeleteIndex + 1; // All indexes are 1-based // Delete the slot where the moved value was stored set._values.pop(); // Delete the index for the deleted slot delete set._indexes[value]; return true; } else { return false; } } /** * @dev Returns true if the value is in the set. O(1). */ function _contains(Set storage set, bytes32 value) private view returns (bool) { return set._indexes[value] != 0; } function _length(Set storage set) private view returns (uint256) { return set._values.length; } function _at(Set storage set, uint256 index) private view returns (bytes32) { require(set._values.length > index, "EnumerableSet: index out of bounds"); return set._values[index]; } // AddressSet struct AddressSet { Set _inner; } function add(AddressSet storage set, address value) internal returns (bool) { return _add(set._inner, bytes32(uint256(value))); } function remove(AddressSet storage set, address value) internal returns (bool) { return _remove(set._inner, bytes32(uint256(value))); } /** * @dev Returns true if the value is in the set. O(1). */ function contains(AddressSet storage set, address value) internal view returns (bool) { return _contains(set._inner, bytes32(uint256(value))); } /** * @dev Returns the number of values in the set. O(1). */ function length(AddressSet storage set) internal view returns (uint256) { return _length(set._inner); } function at(AddressSet storage set, uint256 index) internal view returns (address) { return address(uint256(_at(set._inner, index))); } // UintSet struct UintSet { Set _inner; } function add(UintSet storage set, uint256 value) internal returns (bool) { return _add(set._inner, bytes32(value)); } function remove(UintSet storage set, uint256 value) internal returns (bool) { return _remove(set._inner, bytes32(value)); } /** * @dev Returns true if the value is in the set. O(1). */ function contains(UintSet storage set, uint256 value) internal view returns (bool) { return _contains(set._inner, bytes32(value)); } function length(UintSet storage set) internal view returns (uint256) { return _length(set._inner); } function at(UintSet storage set, uint256 index) internal view returns (uint256) { return uint256(_at(set._inner, index)); } } contract Ownable { address public owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() public { owner = msg.sender; } modifier onlyOwner() { require(msg.sender == owner); _; } function transferOwnership(address newOwner) onlyOwner public { require(newOwner != address(0)); emit OwnershipTransferred(owner, newOwner); owner = newOwner; } } interface Token { function transferFrom(address, address, uint) external returns (bool); function transfer(address, uint) external returns (bool); } contract CarrotStake is Ownable { using SafeMath for uint; using EnumerableSet for EnumerableSet.AddressSet; event RewardsTransferred(address holder, uint amount); address public constant tokenAddress = 0xa08dE8f020644DCcd0071b3469b45B08De41C38b; // Carrot Governance token contract address // reward rate 395.00% per year uint public constant rewardRate = 39500; uint public constant rewardInterval = 365 days; // 7,57% per week // staking fee 1 % uint public constant stakingFeeRate = 100; // unstaking fee 0.5 % uint public constant unstakingFeeRate = 50; uint public constant unstakeTime = 1 seconds; // unstaking possible after 1 seconds uint public totalClaimedRewards = 0; EnumerableSet.AddressSet private holders; mapping (address => uint) public depositedTokens; mapping (address => uint) public stakingTime; mapping (address => uint) public lastClaimedTime; mapping (address => uint) public totalEarnedTokens; function updateAccount(address account) private { uint pendingDivs = getPendingDivs(account); if (pendingDivs > 0) { require(Token(tokenAddress).transfer(account, pendingDivs), "Could not transfer tokens."); totalEarnedTokens[account] = totalEarnedTokens[account].add(pendingDivs); totalClaimedRewards = totalClaimedRewards.add(pendingDivs); emit RewardsTransferred(account, pendingDivs); } lastClaimedTime[account] = now; } function getPendingDivs(address _holder) public view returns (uint) { if (!holders.contains(_holder)) return 0; if (depositedTokens[_holder] == 0) return 0; uint timeDiff = now.sub(lastClaimedTime[_holder]); uint stakedAmount = depositedTokens[_holder]; uint pendingDivs = stakedAmount .mul(rewardRate) .mul(timeDiff) .div(rewardInterval) .div(36e3); return pendingDivs; } function getNumberOfHolders() public view returns (uint) { return holders.length(); } function deposit(uint amountToStake) public { require(amountToStake > 0, "Cannot deposit 0 Tokens"); require(Token(tokenAddress).transferFrom(msg.sender, address(this), amountToStake), "Insufficient Token Allowance"); updateAccount(msg.sender); uint burnedAmount = amountToStake.div(1e2).mul(5); uint actualAmount = amountToStake.sub(burnedAmount); uint fee = actualAmount.mul(stakingFeeRate).div(1e4); uint amountAfterFee = actualAmount.sub(fee); require(Token(tokenAddress).transfer(owner, fee), "Could not transfer deposit fee."); depositedTokens[msg.sender] = depositedTokens[msg.sender].add(amountAfterFee); if (!holders.contains(msg.sender)) { holders.add(msg.sender); stakingTime[msg.sender] = now; } } function withdraw(uint amountToWithdraw) public { require(depositedTokens[msg.sender] >= amountToWithdraw, "Invalid amount to withdraw"); require(now.sub(stakingTime[msg.sender]) > unstakeTime, "You recently staked, please wait before withdrawing."); updateAccount(msg.sender); uint fee = amountToWithdraw.mul(unstakingFeeRate).div(1e4); uint amountAfterFee = amountToWithdraw.sub(fee); require(Token(tokenAddress).transfer(owner, fee), "Could not transfer withdraw fee."); require(Token(tokenAddress).transfer(msg.sender, amountAfterFee), "Could not transfer tokens."); depositedTokens[msg.sender] = depositedTokens[msg.sender].sub(amountToWithdraw); if (holders.contains(msg.sender) && depositedTokens[msg.sender] == 0) { holders.remove(msg.sender); } } function claimDivs() public { updateAccount(msg.sender); } uint private constant stakingAndCarrots = 1e25; //PoolSuplly generated from zero address function getStakingAndDAOAmount() public view returns (uint) { if (totalClaimedRewards >= stakingAndCarrots) { return 0; } uint remaining = stakingAndCarrots.sub(totalClaimedRewards); return remaining; } // function to allow admin to claim *other* ERC20 tokens sent to this contract (by mistake) function transferAnyERC20Tokens(address _tokenAddr, address _to, uint _amount) public onlyOwner { if (_tokenAddr == tokenAddress) { if (_amount > getStakingAndDAOAmount()) { revert(); } totalClaimedRewards = totalClaimedRewards.add(_amount); } Token(_tokenAddr).transfer(_to, _amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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":false,"internalType":"address","name":"holder","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"RewardsTransferred","type":"event"},{"inputs":[],"name":"claimDivs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountToStake","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"depositedTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNumberOfHolders","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_holder","type":"address"}],"name":"getPendingDivs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getStakingAndDAOAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lastClaimedTime","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":"rewardInterval","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakingFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"stakingTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalClaimedRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"totalEarnedTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddr","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"transferAnyERC20Tokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unstakeTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unstakingFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountToWithdraw","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6080604052600060015534801561001557600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611a62806100656000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c80639d76ea58116100ad578063d7e5274511610071578063d7e5274514610463578063d816c7d514610481578063dab301da1461049f578063f2fde38b146104bd578063f3f91fa0146105015761012c565b80639d76ea581461036d578063b6b55f25146103a1578063bec4de3f146103cf578063c326bf4f146103ed578063d578ceab146104455761012c565b80636270cd18116100f45780636270cd18146101fd5780636a395ccb146102555780637b0a47ee146102c35780638da5cb5b146102e157806398896d10146103155761012c565b806319aa70e7146101315780632e1a7d4d1461013b578063308feec314610169578063583d42fd146101875780635ef057be146101df575b600080fd5b610139610559565b005b6101676004803603602081101561015157600080fd5b8101908080359060200190929190505050610564565b005b610171610aa7565b6040518082815260200191505060405180910390f35b6101c96004803603602081101561019d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ab8565b6040518082815260200191505060405180910390f35b6101e7610ad0565b6040518082815260200191505060405180910390f35b61023f6004803603602081101561021357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ad5565b6040518082815260200191505060405180910390f35b6102c16004803603606081101561026b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610aed565b005b6102cb610c6f565b6040518082815260200191505060405180910390f35b6102e9610c75565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103576004803603602081101561032b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c99565b6040518082815260200191505060405180910390f35b610375610e08565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103cd600480360360208110156103b757600080fd5b8101908080359060200190929190505050610e20565b005b6103d76112d4565b6040518082815260200191505060405180910390f35b61042f6004803603602081101561040357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112dc565b6040518082815260200191505060405180910390f35b61044d6112f4565b6040518082815260200191505060405180910390f35b61046b6112fa565b6040518082815260200191505060405180910390f35b6104896112ff565b6040518082815260200191505060405180910390f35b6104a7611304565b6040518082815260200191505060405180910390f35b6104ff600480360360208110156104d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061134f565b005b6105436004803603602081101561051757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061149e565b6040518082815260200191505060405180910390f35b610562336114b6565b565b80600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610619576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f496e76616c696420616d6f756e7420746f20776974686472617700000000000081525060200191505060405180910390fd5b600161066d600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020544261174c90919063ffffffff16565b116106c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260348152602001806119f96034913960400191505060405180910390fd5b6106cc336114b6565b60006106f66127106106e860328561176390919063ffffffff16565b61179290919063ffffffff16565b9050600061070d828461174c90919063ffffffff16565b905073a08de8f020644dccd0071b3469b45b08de41c38b73ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156107b457600080fd5b505af11580156107c8573d6000803e3d6000fd5b505050506040513d60208110156107de57600080fd5b8101908080519060200190929190505050610861576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f436f756c64206e6f74207472616e73666572207769746864726177206665652e81525060200191505060405180910390fd5b73a08de8f020644dccd0071b3469b45b08de41c38b73ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156108e657600080fd5b505af11580156108fa573d6000803e3d6000fd5b505050506040513d602081101561091057600080fd5b8101908080519060200190929190505050610993576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f436f756c64206e6f74207472616e7366657220746f6b656e732e00000000000081525060200191505060405180910390fd5b6109e583600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461174c90919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a3c3360026117ab90919063ffffffff16565b8015610a8757506000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b15610aa257610aa03360026117db90919063ffffffff16565b505b505050565b6000610ab3600261180b565b905090565b60056020528060005260406000206000915090505481565b606481565b60076020528060005260406000206000915090505481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b4557600080fd5b73a08de8f020644dccd0071b3469b45b08de41c38b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610bbd57610b95611304565b811115610ba157600080fd5b610bb68160015461182090919063ffffffff16565b6001819055505b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610c2e57600080fd5b505af1158015610c42573d6000803e3d6000fd5b505050506040513d6020811015610c5857600080fd5b810190808051906020019092919050505050505050565b619a4c81565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610caf8260026117ab90919063ffffffff16565b610cbc5760009050610e03565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415610d0d5760009050610e03565b6000610d61600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020544261174c90919063ffffffff16565b90506000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000610dfa618ca0610dec6301e13380610dde87610dd0619a4c8961176390919063ffffffff16565b61176390919063ffffffff16565b61179290919063ffffffff16565b61179290919063ffffffff16565b90508093505050505b919050565b73a08de8f020644dccd0071b3469b45b08de41c38b81565b60008111610e96576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f43616e6e6f74206465706f736974203020546f6b656e7300000000000000000081525060200191505060405180910390fd5b73a08de8f020644dccd0071b3469b45b08de41c38b73ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015610f3957600080fd5b505af1158015610f4d573d6000803e3d6000fd5b505050506040513d6020811015610f6357600080fd5b8101908080519060200190929190505050610fe6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f496e73756666696369656e7420546f6b656e20416c6c6f77616e63650000000081525060200191505060405180910390fd5b610fef336114b6565b6000611018600561100a60648561179290919063ffffffff16565b61176390919063ffffffff16565b9050600061102f828461174c90919063ffffffff16565b9050600061105b61271061104d60648561176390919063ffffffff16565b61179290919063ffffffff16565b90506000611072828461174c90919063ffffffff16565b905073a08de8f020644dccd0071b3469b45b08de41c38b73ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561111957600080fd5b505af115801561112d573d6000803e3d6000fd5b505050506040513d602081101561114357600080fd5b81019080805190602001909291905050506111c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f436f756c64206e6f74207472616e73666572206465706f736974206665652e0081525060200191505060405180910390fd5b61121881600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461182090919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061126f3360026117ab90919063ffffffff16565b6112cd5761128733600261183c90919063ffffffff16565b5042600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5050505050565b6301e1338081565b60046020528060005260406000206000915090505481565b60015481565b600181565b603281565b60006a084595161401484a00000060015410611323576000905061134c565b60006113456001546a084595161401484a00000061174c90919063ffffffff16565b9050809150505b90565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113a757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156113e157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60066020528060005260406000206000915090505481565b60006114c182610c99565b905060008111156117045773a08de8f020644dccd0071b3469b45b08de41c38b73ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561155157600080fd5b505af1158015611565573d6000803e3d6000fd5b505050506040513d602081101561157b57600080fd5b81019080805190602001909291905050506115fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f436f756c64206e6f74207472616e7366657220746f6b656e732e00000000000081525060200191505060405180910390fd5b61165081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461182090919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116a88160015461182090919063ffffffff16565b6001819055507f586b2e63a21a7a4e1402e36f48ce10cb1ec94684fea254c186b76d1f98ecf1308282604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60008282111561175857fe5b818303905092915050565b6000808284029050600084148061178257508284828161177f57fe5b04145b61178857fe5b8091505092915050565b60008082848161179e57fe5b0490508091505092915050565b60006117d3836000018373ffffffffffffffffffffffffffffffffffffffff1660001b61186c565b905092915050565b6000611803836000018373ffffffffffffffffffffffffffffffffffffffff1660001b61188f565b905092915050565b600061181982600001611977565b9050919050565b60008082840190508381101561183257fe5b8091505092915050565b6000611864836000018373ffffffffffffffffffffffffffffffffffffffff1660001b611988565b905092915050565b600080836001016000848152602001908152602001600020541415905092915050565b6000808360010160008481526020019081526020016000205490506000811461196b57600060018203905060006001866000018054905003905060008660000182815481106118da57fe5b90600052602060002001549050808760000184815481106118f757fe5b906000526020600020018190555060018301876001016000838152602001908152602001600020819055508660000180548061192f57fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050611971565b60009150505b92915050565b600081600001805490509050919050565b6000611994838361186c565b6119ed5782600001829080600181540180825580915050600190039060005260206000200160009091909190915055826000018054905083600101600084815260200190815260200160002081905550600190506119f2565b600090505b9291505056fe596f7520726563656e746c79207374616b65642c20706c656173652077616974206265666f7265207769746864726177696e672ea26469706673582212209d55c0ea5a7644a897293f7b2010e66163b9d50019535f6a359d263f97de8ea364736f6c634300060c0033
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061012c5760003560e01c80639d76ea58116100ad578063d7e5274511610071578063d7e5274514610463578063d816c7d514610481578063dab301da1461049f578063f2fde38b146104bd578063f3f91fa0146105015761012c565b80639d76ea581461036d578063b6b55f25146103a1578063bec4de3f146103cf578063c326bf4f146103ed578063d578ceab146104455761012c565b80636270cd18116100f45780636270cd18146101fd5780636a395ccb146102555780637b0a47ee146102c35780638da5cb5b146102e157806398896d10146103155761012c565b806319aa70e7146101315780632e1a7d4d1461013b578063308feec314610169578063583d42fd146101875780635ef057be146101df575b600080fd5b610139610559565b005b6101676004803603602081101561015157600080fd5b8101908080359060200190929190505050610564565b005b610171610aa7565b6040518082815260200191505060405180910390f35b6101c96004803603602081101561019d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ab8565b6040518082815260200191505060405180910390f35b6101e7610ad0565b6040518082815260200191505060405180910390f35b61023f6004803603602081101561021357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ad5565b6040518082815260200191505060405180910390f35b6102c16004803603606081101561026b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610aed565b005b6102cb610c6f565b6040518082815260200191505060405180910390f35b6102e9610c75565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103576004803603602081101561032b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c99565b6040518082815260200191505060405180910390f35b610375610e08565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103cd600480360360208110156103b757600080fd5b8101908080359060200190929190505050610e20565b005b6103d76112d4565b6040518082815260200191505060405180910390f35b61042f6004803603602081101561040357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112dc565b6040518082815260200191505060405180910390f35b61044d6112f4565b6040518082815260200191505060405180910390f35b61046b6112fa565b6040518082815260200191505060405180910390f35b6104896112ff565b6040518082815260200191505060405180910390f35b6104a7611304565b6040518082815260200191505060405180910390f35b6104ff600480360360208110156104d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061134f565b005b6105436004803603602081101561051757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061149e565b6040518082815260200191505060405180910390f35b610562336114b6565b565b80600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610619576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f496e76616c696420616d6f756e7420746f20776974686472617700000000000081525060200191505060405180910390fd5b600161066d600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020544261174c90919063ffffffff16565b116106c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260348152602001806119f96034913960400191505060405180910390fd5b6106cc336114b6565b60006106f66127106106e860328561176390919063ffffffff16565b61179290919063ffffffff16565b9050600061070d828461174c90919063ffffffff16565b905073a08de8f020644dccd0071b3469b45b08de41c38b73ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156107b457600080fd5b505af11580156107c8573d6000803e3d6000fd5b505050506040513d60208110156107de57600080fd5b8101908080519060200190929190505050610861576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f436f756c64206e6f74207472616e73666572207769746864726177206665652e81525060200191505060405180910390fd5b73a08de8f020644dccd0071b3469b45b08de41c38b73ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156108e657600080fd5b505af11580156108fa573d6000803e3d6000fd5b505050506040513d602081101561091057600080fd5b8101908080519060200190929190505050610993576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f436f756c64206e6f74207472616e7366657220746f6b656e732e00000000000081525060200191505060405180910390fd5b6109e583600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461174c90919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a3c3360026117ab90919063ffffffff16565b8015610a8757506000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b15610aa257610aa03360026117db90919063ffffffff16565b505b505050565b6000610ab3600261180b565b905090565b60056020528060005260406000206000915090505481565b606481565b60076020528060005260406000206000915090505481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b4557600080fd5b73a08de8f020644dccd0071b3469b45b08de41c38b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610bbd57610b95611304565b811115610ba157600080fd5b610bb68160015461182090919063ffffffff16565b6001819055505b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610c2e57600080fd5b505af1158015610c42573d6000803e3d6000fd5b505050506040513d6020811015610c5857600080fd5b810190808051906020019092919050505050505050565b619a4c81565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610caf8260026117ab90919063ffffffff16565b610cbc5760009050610e03565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415610d0d5760009050610e03565b6000610d61600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020544261174c90919063ffffffff16565b90506000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000610dfa618ca0610dec6301e13380610dde87610dd0619a4c8961176390919063ffffffff16565b61176390919063ffffffff16565b61179290919063ffffffff16565b61179290919063ffffffff16565b90508093505050505b919050565b73a08de8f020644dccd0071b3469b45b08de41c38b81565b60008111610e96576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f43616e6e6f74206465706f736974203020546f6b656e7300000000000000000081525060200191505060405180910390fd5b73a08de8f020644dccd0071b3469b45b08de41c38b73ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015610f3957600080fd5b505af1158015610f4d573d6000803e3d6000fd5b505050506040513d6020811015610f6357600080fd5b8101908080519060200190929190505050610fe6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f496e73756666696369656e7420546f6b656e20416c6c6f77616e63650000000081525060200191505060405180910390fd5b610fef336114b6565b6000611018600561100a60648561179290919063ffffffff16565b61176390919063ffffffff16565b9050600061102f828461174c90919063ffffffff16565b9050600061105b61271061104d60648561176390919063ffffffff16565b61179290919063ffffffff16565b90506000611072828461174c90919063ffffffff16565b905073a08de8f020644dccd0071b3469b45b08de41c38b73ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561111957600080fd5b505af115801561112d573d6000803e3d6000fd5b505050506040513d602081101561114357600080fd5b81019080805190602001909291905050506111c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f436f756c64206e6f74207472616e73666572206465706f736974206665652e0081525060200191505060405180910390fd5b61121881600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461182090919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061126f3360026117ab90919063ffffffff16565b6112cd5761128733600261183c90919063ffffffff16565b5042600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5050505050565b6301e1338081565b60046020528060005260406000206000915090505481565b60015481565b600181565b603281565b60006a084595161401484a00000060015410611323576000905061134c565b60006113456001546a084595161401484a00000061174c90919063ffffffff16565b9050809150505b90565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113a757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156113e157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60066020528060005260406000206000915090505481565b60006114c182610c99565b905060008111156117045773a08de8f020644dccd0071b3469b45b08de41c38b73ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561155157600080fd5b505af1158015611565573d6000803e3d6000fd5b505050506040513d602081101561157b57600080fd5b81019080805190602001909291905050506115fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f436f756c64206e6f74207472616e7366657220746f6b656e732e00000000000081525060200191505060405180910390fd5b61165081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461182090919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116a88160015461182090919063ffffffff16565b6001819055507f586b2e63a21a7a4e1402e36f48ce10cb1ec94684fea254c186b76d1f98ecf1308282604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60008282111561175857fe5b818303905092915050565b6000808284029050600084148061178257508284828161177f57fe5b04145b61178857fe5b8091505092915050565b60008082848161179e57fe5b0490508091505092915050565b60006117d3836000018373ffffffffffffffffffffffffffffffffffffffff1660001b61186c565b905092915050565b6000611803836000018373ffffffffffffffffffffffffffffffffffffffff1660001b61188f565b905092915050565b600061181982600001611977565b9050919050565b60008082840190508381101561183257fe5b8091505092915050565b6000611864836000018373ffffffffffffffffffffffffffffffffffffffff1660001b611988565b905092915050565b600080836001016000848152602001908152602001600020541415905092915050565b6000808360010160008481526020019081526020016000205490506000811461196b57600060018203905060006001866000018054905003905060008660000182815481106118da57fe5b90600052602060002001549050808760000184815481106118f757fe5b906000526020600020018190555060018301876001016000838152602001908152602001600020819055508660000180548061192f57fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050611971565b60009150505b92915050565b600081600001805490509050919050565b6000611994838361186c565b6119ed5782600001829080600181540180825580915050600190039060005260206000200160009091909190915055826000018054905083600101600084815260200190815260200160002081905550600190506119f2565b600090505b9291505056fe596f7520726563656e746c79207374616b65642c20706c656173652077616974206265666f7265207769746864726177696e672ea26469706673582212209d55c0ea5a7644a897293f7b2010e66163b9d50019535f6a359d263f97de8ea364736f6c634300060c0033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 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.