Source Code
Latest 25 from a total of 66 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Notify Reward Am... | 21158469 | 389 days ago | IN | 0 ETH | 0.00069891 | ||||
| Notify Reward Am... | 21158464 | 389 days ago | IN | 0 ETH | 0.00069725 | ||||
| Claim Reward | 18421733 | 772 days ago | IN | 0 ETH | 0.00206604 | ||||
| Claim Reward | 18411606 | 773 days ago | IN | 0 ETH | 0.00111913 | ||||
| Claim Reward | 18411503 | 773 days ago | IN | 0 ETH | 0.00122794 | ||||
| Claim Reward | 18411492 | 773 days ago | IN | 0 ETH | 0.00091918 | ||||
| Redeem Reward | 18408681 | 774 days ago | IN | 0 ETH | 0.00059036 | ||||
| Redeem Reward | 18408574 | 774 days ago | IN | 0 ETH | 0.00059313 | ||||
| Claim Reward | 18408498 | 774 days ago | IN | 0 ETH | 0.00088714 | ||||
| Claim Reward | 18406952 | 774 days ago | IN | 0 ETH | 0.00105731 | ||||
| Claim Reward | 18406931 | 774 days ago | IN | 0 ETH | 0.00116018 | ||||
| Claim Reward | 18406878 | 774 days ago | IN | 0 ETH | 0.00118542 | ||||
| Claim Reward | 18406157 | 774 days ago | IN | 0 ETH | 0.00066739 | ||||
| Claim Reward | 18405992 | 774 days ago | IN | 0 ETH | 0.00062616 | ||||
| Claim Reward | 18405912 | 774 days ago | IN | 0 ETH | 0.001036 | ||||
| Claim Reward | 18405712 | 774 days ago | IN | 0 ETH | 0.00071742 | ||||
| Change Admin | 18405696 | 774 days ago | IN | 0 ETH | 0.0005353 | ||||
| Claim Reward | 18405428 | 774 days ago | IN | 0 ETH | 0.00071072 | ||||
| Claim Reward | 18405418 | 774 days ago | IN | 0 ETH | 0.00071637 | ||||
| Claim Reward | 18405303 | 774 days ago | IN | 0 ETH | 0.00070197 | ||||
| Claim Reward | 18405293 | 774 days ago | IN | 0 ETH | 0.00067668 | ||||
| Claim Reward | 18405227 | 774 days ago | IN | 0 ETH | 0.0005309 | ||||
| Claim Reward | 18404958 | 774 days ago | IN | 0 ETH | 0.00066545 | ||||
| Claim Reward | 18404952 | 774 days ago | IN | 0 ETH | 0.00056172 | ||||
| Claim Reward | 18404865 | 774 days ago | IN | 0 ETH | 0.00060769 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
VetMeClaim
Compiler Version
v0.8.21+commit.d9974bed
Optimization Enabled:
No 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 "./vetMeStake.sol";
library SafeMath {
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
assert(c / a == b);
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a / b;
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;
}
function ceil(uint256 a, uint256 m) internal pure returns (uint256) {
uint256 c = add(a,m);
uint256 d = sub(c,1);
return mul(div(d,m),m);
}
}
contract VetMeClaim is Ownable{
IERC20 public immutable rewardsToken;
uint public totalReward;
uint public totalForStake;
VetMeStaking vContract;
mapping(address => bool) public rewarded;
event Claimed(address sender, uint amount);
constructor(){
rewardsToken = IERC20(0xdAC17F958D2ee523a2206206994597C13D831ec7);
// totalForStake = _totalForStake;
vContract = VetMeStaking(0x64C59934A9700a957BE31410327E80B46dC0333d);
}
function notifyRewardAmount(uint _amount) external payable {
onlyOwner();
require(_amount > 0, "Amount must be greater than zero");
totalReward += _amount;
}
function claimReward() external{
require(vContract.balanceOf(_msgSender()) > 0,"You have no stake");
require(!rewarded[msg.sender], "Reward has been claimed");
uint256 roundValue = SafeMath.ceil(vContract.balanceOf(_msgSender()), 10000);
uint256 user_percentage = SafeMath.div(SafeMath.mul(roundValue, 10000), 151786855 * 10**9);
uint reward = (user_percentage * totalReward) / 10000;
rewarded[msg.sender] = true;
rewardsToken.transfer(msg.sender, reward);
emit Claimed(_msgSender(),reward);
}
function redeemReward() external{
require(totalReward > 0,"No reward in the contract");
onlyOwner();
rewardsToken.transfer(msg.sender,rewardsToken.balanceOf(address(this)));
totalReward = 0;
}
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;
interface IERC20 {
function decimals() external pure returns (uint8);
/**
* @dev Returns the amount of tokens in existence.
*/
function totalSupply() external view returns (uint256);
/**
* @dev Returns the amount of tokens owned by `account`.
*/
function balanceOf(address account) external view returns (uint256);
/**
* @dev Moves `amount` tokens from the caller's account to `recipient`.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transfer(address recipient, uint256 amount)
external
returns (bool);
/**
* @dev Returns the remaining number of tokens that `spender` will be
* allowed to spend on behalf of `owner` through {transferFrom}. This is
* zero by default.
*
* This value changes when {approve} or {transferFrom} are called.
*/
function allowance(address owner, address spender)
external
view
returns (uint256);
/**
* @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* IMPORTANT: Beware that changing an allowance with this method brings the risk
* that someone may use both the old and the new allowance by unfortunate
* transaction ordering. One possible solution to mitigate this race
* condition is to first reduce the spender's allowance to 0 and set the
* desired value afterwards:
* https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
*
* Emits an {Approval} event.
*/
function approve(address spender, uint256 amount) external returns (bool);
/**
* @dev Moves `amount` tokens from `sender` to `recipient` using the
* allowance mechanism. `amount` is then deducted from the caller's
* allowance.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transferFrom(
address sender,
address recipient,
uint256 amount
) external returns (bool);
/**
* @dev Emitted when `value` tokens are moved from one account (`from`) to
* another (`to`).
*
* Note that `value` may be zero.
*/
event Transfer(address indexed from, address indexed to, uint256 value);
/**
* @dev Emitted when the allowance of a `spender` for an `owner` is set by
* a call to {approve}. `value` is the new allowance.
*/
event Approval(
address indexed owner,
address indexed spender,
uint256 value
);
}
abstract contract Context {
function _msgSender() internal view virtual returns (address payable) {
return payable(msg.sender);
}
function _msgData() internal view virtual returns (bytes memory) {
// solhint-disable-next-line max-line-length
this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
return msg.data;
}
}
library HelperLib {
function notAddressZero(address addr) internal pure {
require(addr != address(0), "address_zero");
}
function getPercent(uint256 val, uint256 percentage)
internal
pure
returns (uint256)
{
return (val * percentage) / 100;
}
function getFractionPercent(uint256 amount, uint256 fraction)
internal
pure
returns (uint256)
{
return (amount * fraction) / 10_000;
}
}
abstract contract Ownable is Context {
uint256 public constant delay = 172800; // delay for admin change
address private admin;
address public pendingAdmin; // pending admin variable
uint256 public changeAdminDelay; // admin change delay variable
event ChangeAdmin(address sender, address newOwner);
event RejectPendingAdmin(address sender, address newOwner);
event AcceptPendingAdmin(address sender, address newOwner);
function onlyOwner() internal view {
require(_msgSender() == admin, "Ownable: caller is not the owner");
}
constructor() {
admin = _msgSender();
}
function _setOwner(address _owner) internal {
HelperLib.notAddressZero(_owner);
admin = _owner;
}
function changeAdmin(address _admin) external {
onlyOwner();
HelperLib.notAddressZero(_admin);
pendingAdmin = _admin;
changeAdminDelay = block.timestamp + delay;
emit ChangeAdmin(_msgSender(), pendingAdmin);
}
function rejectPendingAdmin() external {
onlyOwner();
if (pendingAdmin != address(0)) {
pendingAdmin = address(0);
changeAdminDelay = 0;
}
emit RejectPendingAdmin(_msgSender(), pendingAdmin);
}
function owner() public view returns (address) {
return admin;
}
function acceptPendingAdmin() external {
onlyOwner();
if (changeAdminDelay > 0 && pendingAdmin != address(0)) {
require(
block.timestamp > changeAdminDelay,
"Ownable: owner apply too early"
);
admin = pendingAdmin;
changeAdminDelay = 0;
pendingAdmin = address(0);
}
emit AcceptPendingAdmin(_msgSender(), admin);
}
}
contract VetMeStaking is Ownable{
IERC20 public immutable stakingToken;
IERC20 public immutable rewardsToken;
uint256 public constant w_delay = 172_800; // delay for withdraw for 48 hours
uint public duration;
uint public finishAt;
uint public totalReward;
uint public totalForStake;
mapping(address => uint) public withdraw_pending;
mapping(address => bool) public rewarded;
uint public totalSupply;
mapping(address => uint) public balanceOf;
event WithdrawRequst(address sender, uint amount);
event WithdrawRequstCancel(address sender);
event Withdraw(address sender, uint amount);
event Staked(address sender, uint amount);
event Claimed(address sender, uint amount);
constructor(address _stakingToken,address _rewardsToken,uint _totalForStake){
stakingToken = IERC20(_stakingToken);
rewardsToken = IERC20(_rewardsToken);
totalForStake = _totalForStake;
}
function setRewardsDuration(uint _duration) external {
onlyOwner();
require(finishAt > block.timestamp || finishAt == 0,"Reward duration has finished");
duration +=_duration;
finishAt = block.timestamp + _duration;
}
function notifyRewardAmount(uint _amount) external payable {
onlyOwner();
require(_amount > 0, "Amount must be greater than zero");
rewardsToken.transferFrom(msg.sender, address(this), _amount);
totalReward += _amount;
}
function stake(uint _amount) external {
require(_amount > 0, "Amount = 0");
require(duration > 0, "Staking not started");
require(block.timestamp < finishAt, "Staking period has ended");
stakingToken.transferFrom(msg.sender, address(this),_amount);
balanceOf[msg.sender]+= _amount;
totalSupply += _amount;
rewarded[msg.sender] = false;
emit Staked(_msgSender(), _amount);
}
function requestWithdraw() external {
require(balanceOf[_msgSender()] > 0,"You have no stake");
withdraw_pending[_msgSender()] = block.timestamp + w_delay;
emit WithdrawRequst(_msgSender(), block.timestamp + w_delay);
}
function cancelWithdrawRequest() external {
withdraw_pending[_msgSender()] = 0;
emit WithdrawRequstCancel(_msgSender());
}
function withdraw() external{
require(balanceOf[_msgSender()] > 0,"You have no stake");
require(withdraw_pending[_msgSender()] > 0,"You have no pending withdraw");
require(block.timestamp >= withdraw_pending[_msgSender()],"Withdraw pending.");
uint amount = balanceOf[(_msgSender())];
balanceOf[(_msgSender())] = 0;
totalSupply -= amount;
stakingToken.transfer((_msgSender()),amount);
withdraw_pending[_msgSender()] = 0;
emit Withdraw(_msgSender(),amount);
}
function claimReward() external{
require(balanceOf[_msgSender()] > 0,"You have no stake");
require(finishAt <= block.timestamp, "Staking period is not over");
require(!rewarded[msg.sender], "Reward has been claimed");
uint reward = ((balanceOf[_msgSender()] / totalForStake) * 100) * (totalReward / 100);
uint balance = balanceOf[_msgSender()];
rewarded[msg.sender] = true;
balanceOf[_msgSender()]= 0;
rewardsToken.transfer(msg.sender, reward);
stakingToken.transfer(msg.sender, balance);
totalReward -= reward;
emit Claimed(_msgSender(),reward);
}
function redeemReward() external{
require(totalReward > 0,"No reward in the contract");
onlyOwner();
rewardsToken.transfer(msg.sender,totalReward);
totalReward = 0;
finishAt=0;
duration=0;
}
function _min(uint x,uint y) private pure returns (uint){
return x <=y ? x : y;
}
}{
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"AcceptPendingAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"ChangeAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Claimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"RejectPendingAdmin","type":"event"},{"inputs":[],"name":"acceptPendingAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_admin","type":"address"}],"name":"changeAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"changeAdminDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"delay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"notifyRewardAmount","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"redeemReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rejectPendingAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewarded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardsToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalForStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]Contract Creation Code
60a060405234801561000f575f80fd5b5061001e6100fd60201b60201c565b5f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073dac17f958d2ee523a2206206994597c13d831ec773ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250507364c59934a9700a957be31410327e80b46dc0333d60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610104565b5f33905090565b60805161161a6101315f395f818161069f015281816106dc01528181610b840152610c65015261161a5ff3fe6080604052600436106100dc575f3560e01c8063741f76cd1161007e5780638f283970116100585780638f2839701461024c578063b1893f1714610274578063b88a802f1461029e578063d1af0c7d146102b4576100dc565b8063741f76cd146101e2578063750142e6146101f85780638da5cb5b14610222576100dc565b80633c6b16ab116100ba5780633c6b16ab146101705780634ebf0bcc1461018c5780636a42b8f8146101a2578063709920c1146101cc576100dc565b806326782247146100e05780632b777eff1461010a578063379f53e314610134575b5f80fd5b3480156100eb575f80fd5b506100f46102de565b6040516101019190610ebd565b60405180910390f35b348015610115575f80fd5b5061011e610303565b60405161012b9190610eee565b60405180910390f35b34801561013f575f80fd5b5061015a60048036038101906101559190610f35565b610309565b6040516101679190610f7a565b60405180910390f35b61018a60048036038101906101859190610fbd565b610326565b005b348015610197575f80fd5b506101a061038b565b005b3480156101ad575f80fd5b506101b6610492565b6040516101c39190610eee565b60405180910390f35b3480156101d7575f80fd5b506101e0610499565b005b3480156101ed575f80fd5b506101f6610651565b005b348015610203575f80fd5b5061020c6107d9565b6040516102199190610eee565b60405180910390f35b34801561022d575f80fd5b506102366107df565b6040516102439190610ebd565b60405180910390f35b348015610257575f80fd5b50610272600480360381019061026d9190610f35565b610806565b005b34801561027f575f80fd5b506102886108d0565b6040516102959190610eee565b60405180910390f35b3480156102a9575f80fd5b506102b26108d6565b005b3480156102bf575f80fd5b506102c8610c63565b6040516102d59190611043565b60405180910390f35b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b6006602052805f5260405f205f915054906101000a900460ff1681565b61032e610c87565b5f8111610370576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610367906110b6565b60405180910390fd5b8060035f8282546103819190611101565b9250508190555050565b610393610c87565b5f73ffffffffffffffffffffffffffffffffffffffff1660015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461042f575f60015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f6002819055505b7ff6e78b888697ff479ebf2bd530914c94038ef7a63da1fbb639bc6d40a169b136610458610d1d565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610488929190611154565b60405180910390a1565b6202a30081565b6104a1610c87565b5f6002541180156104ff57505f73ffffffffffffffffffffffffffffffffffffffff1660015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b156105f0576002544211610548576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053f906111c5565b60405180910390fd5b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f6002819055505f60015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b7ff33589017275da9766c166bb90ee92c785a1c4412558882d367fb50165f51855610619610d1d565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610647929190611154565b60405180910390a1565b5f60035411610695576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068c9061122d565b60405180910390fd5b61069d610c87565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb337f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016107339190610ebd565b602060405180830381865afa15801561074e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610772919061125f565b6040518363ffffffff1660e01b815260040161078f92919061128a565b6020604051808303815f875af11580156107ab573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107cf91906112db565b505f600381905550565b60035481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61080e610c87565b61081781610d24565b8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506202a300426108669190611101565b6002819055507fcf9b665e0639e0b81a8db37b60ac7ddf45aeb1b484e11adeb7dff4bf4a3a6258610895610d1d565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516108c5929190611154565b60405180910390a150565b60025481565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a0823161091c610d1d565b6040518263ffffffff1660e01b81526004016109389190611306565b602060405180830381865afa158015610953573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610977919061125f565b116109b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ae90611369565b60405180910390fd5b60065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610a41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a38906113d1565b60405180910390fd5b5f610aed60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231610a8a610d1d565b6040518263ffffffff1660e01b8152600401610aa69190611306565b602060405180830381865afa158015610ac1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ae5919061125f565b612710610d95565b90505f610b0d610aff83612710610dce565b67021b415725d94600610e13565b90505f61271060035483610b2191906113ef565b610b2b919061145d565b9050600160065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610bdd92919061128a565b6020604051808303815f875af1158015610bf9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c1d91906112db565b507fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a610c47610d1d565b82604051610c5692919061148d565b60405180910390a1505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610cc5610d1d565b73ffffffffffffffffffffffffffffffffffffffff1614610d1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d12906114fe565b60405180910390fd5b565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8990611566565b60405180910390fd5b50565b5f80610da18484610e2d565b90505f610daf826001610e58565b9050610dc4610dbe8286610e13565b85610dce565b9250505092915050565b5f808303610dde575f9050610e0d565b5f8284610deb91906113ef565b9050828482610dfa919061145d565b14610e0857610e07611584565b5b809150505b92915050565b5f808284610e21919061145d565b90508091505092915050565b5f808284610e3b9190611101565b905083811015610e4e57610e4d611584565b5b8091505092915050565b5f82821115610e6a57610e69611584565b5b8183610e7691906115b1565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610ea782610e7e565b9050919050565b610eb781610e9d565b82525050565b5f602082019050610ed05f830184610eae565b92915050565b5f819050919050565b610ee881610ed6565b82525050565b5f602082019050610f015f830184610edf565b92915050565b5f80fd5b610f1481610e9d565b8114610f1e575f80fd5b50565b5f81359050610f2f81610f0b565b92915050565b5f60208284031215610f4a57610f49610f07565b5b5f610f5784828501610f21565b91505092915050565b5f8115159050919050565b610f7481610f60565b82525050565b5f602082019050610f8d5f830184610f6b565b92915050565b610f9c81610ed6565b8114610fa6575f80fd5b50565b5f81359050610fb781610f93565b92915050565b5f60208284031215610fd257610fd1610f07565b5b5f610fdf84828501610fa9565b91505092915050565b5f819050919050565b5f61100b61100661100184610e7e565b610fe8565b610e7e565b9050919050565b5f61101c82610ff1565b9050919050565b5f61102d82611012565b9050919050565b61103d81611023565b82525050565b5f6020820190506110565f830184611034565b92915050565b5f82825260208201905092915050565b7f416d6f756e74206d7573742062652067726561746572207468616e207a65726f5f82015250565b5f6110a060208361105c565b91506110ab8261106c565b602082019050919050565b5f6020820190508181035f8301526110cd81611094565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61110b82610ed6565b915061111683610ed6565b925082820190508082111561112e5761112d6110d4565b5b92915050565b5f61113e82611012565b9050919050565b61114e81611134565b82525050565b5f6040820190506111675f830185611145565b6111746020830184610eae565b9392505050565b7f4f776e61626c653a206f776e6572206170706c7920746f6f206561726c7900005f82015250565b5f6111af601e8361105c565b91506111ba8261117b565b602082019050919050565b5f6020820190508181035f8301526111dc816111a3565b9050919050565b7f4e6f2072657761726420696e2074686520636f6e7472616374000000000000005f82015250565b5f61121760198361105c565b9150611222826111e3565b602082019050919050565b5f6020820190508181035f8301526112448161120b565b9050919050565b5f8151905061125981610f93565b92915050565b5f6020828403121561127457611273610f07565b5b5f6112818482850161124b565b91505092915050565b5f60408201905061129d5f830185610eae565b6112aa6020830184610edf565b9392505050565b6112ba81610f60565b81146112c4575f80fd5b50565b5f815190506112d5816112b1565b92915050565b5f602082840312156112f0576112ef610f07565b5b5f6112fd848285016112c7565b91505092915050565b5f6020820190506113195f830184611145565b92915050565b7f596f752068617665206e6f207374616b650000000000000000000000000000005f82015250565b5f61135360118361105c565b915061135e8261131f565b602082019050919050565b5f6020820190508181035f83015261138081611347565b9050919050565b7f52657761726420686173206265656e20636c61696d65640000000000000000005f82015250565b5f6113bb60178361105c565b91506113c682611387565b602082019050919050565b5f6020820190508181035f8301526113e8816113af565b9050919050565b5f6113f982610ed6565b915061140483610ed6565b925082820261141281610ed6565b91508282048414831517611429576114286110d4565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61146782610ed6565b915061147283610ed6565b92508261148257611481611430565b5b828204905092915050565b5f6040820190506114a05f830185611145565b6114ad6020830184610edf565b9392505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6114e860208361105c565b91506114f3826114b4565b602082019050919050565b5f6020820190508181035f830152611515816114dc565b9050919050565b7f616464726573735f7a65726f00000000000000000000000000000000000000005f82015250565b5f611550600c8361105c565b915061155b8261151c565b602082019050919050565b5f6020820190508181035f83015261157d81611544565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52600160045260245ffd5b5f6115bb82610ed6565b91506115c683610ed6565b92508282039050818111156115de576115dd6110d4565b5b9291505056fea2646970667358221220d2a4bfbf604c8c00c1f254ee06e319b9adcae1b1b831b243b3d29ea7f5d1dc6864736f6c63430008150033
Deployed Bytecode
0x6080604052600436106100dc575f3560e01c8063741f76cd1161007e5780638f283970116100585780638f2839701461024c578063b1893f1714610274578063b88a802f1461029e578063d1af0c7d146102b4576100dc565b8063741f76cd146101e2578063750142e6146101f85780638da5cb5b14610222576100dc565b80633c6b16ab116100ba5780633c6b16ab146101705780634ebf0bcc1461018c5780636a42b8f8146101a2578063709920c1146101cc576100dc565b806326782247146100e05780632b777eff1461010a578063379f53e314610134575b5f80fd5b3480156100eb575f80fd5b506100f46102de565b6040516101019190610ebd565b60405180910390f35b348015610115575f80fd5b5061011e610303565b60405161012b9190610eee565b60405180910390f35b34801561013f575f80fd5b5061015a60048036038101906101559190610f35565b610309565b6040516101679190610f7a565b60405180910390f35b61018a60048036038101906101859190610fbd565b610326565b005b348015610197575f80fd5b506101a061038b565b005b3480156101ad575f80fd5b506101b6610492565b6040516101c39190610eee565b60405180910390f35b3480156101d7575f80fd5b506101e0610499565b005b3480156101ed575f80fd5b506101f6610651565b005b348015610203575f80fd5b5061020c6107d9565b6040516102199190610eee565b60405180910390f35b34801561022d575f80fd5b506102366107df565b6040516102439190610ebd565b60405180910390f35b348015610257575f80fd5b50610272600480360381019061026d9190610f35565b610806565b005b34801561027f575f80fd5b506102886108d0565b6040516102959190610eee565b60405180910390f35b3480156102a9575f80fd5b506102b26108d6565b005b3480156102bf575f80fd5b506102c8610c63565b6040516102d59190611043565b60405180910390f35b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b6006602052805f5260405f205f915054906101000a900460ff1681565b61032e610c87565b5f8111610370576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610367906110b6565b60405180910390fd5b8060035f8282546103819190611101565b9250508190555050565b610393610c87565b5f73ffffffffffffffffffffffffffffffffffffffff1660015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461042f575f60015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f6002819055505b7ff6e78b888697ff479ebf2bd530914c94038ef7a63da1fbb639bc6d40a169b136610458610d1d565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610488929190611154565b60405180910390a1565b6202a30081565b6104a1610c87565b5f6002541180156104ff57505f73ffffffffffffffffffffffffffffffffffffffff1660015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b156105f0576002544211610548576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053f906111c5565b60405180910390fd5b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f6002819055505f60015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b7ff33589017275da9766c166bb90ee92c785a1c4412558882d367fb50165f51855610619610d1d565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610647929190611154565b60405180910390a1565b5f60035411610695576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068c9061122d565b60405180910390fd5b61069d610c87565b7f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec773ffffffffffffffffffffffffffffffffffffffff1663a9059cbb337f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec773ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016107339190610ebd565b602060405180830381865afa15801561074e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610772919061125f565b6040518363ffffffff1660e01b815260040161078f92919061128a565b6020604051808303815f875af11580156107ab573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107cf91906112db565b505f600381905550565b60035481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61080e610c87565b61081781610d24565b8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506202a300426108669190611101565b6002819055507fcf9b665e0639e0b81a8db37b60ac7ddf45aeb1b484e11adeb7dff4bf4a3a6258610895610d1d565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516108c5929190611154565b60405180910390a150565b60025481565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a0823161091c610d1d565b6040518263ffffffff1660e01b81526004016109389190611306565b602060405180830381865afa158015610953573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610977919061125f565b116109b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ae90611369565b60405180910390fd5b60065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610a41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a38906113d1565b60405180910390fd5b5f610aed60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231610a8a610d1d565b6040518263ffffffff1660e01b8152600401610aa69190611306565b602060405180830381865afa158015610ac1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ae5919061125f565b612710610d95565b90505f610b0d610aff83612710610dce565b67021b415725d94600610e13565b90505f61271060035483610b2191906113ef565b610b2b919061145d565b9050600160065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec773ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610bdd92919061128a565b6020604051808303815f875af1158015610bf9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c1d91906112db565b507fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a610c47610d1d565b82604051610c5692919061148d565b60405180910390a1505050565b7f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec781565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610cc5610d1d565b73ffffffffffffffffffffffffffffffffffffffff1614610d1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d12906114fe565b60405180910390fd5b565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8990611566565b60405180910390fd5b50565b5f80610da18484610e2d565b90505f610daf826001610e58565b9050610dc4610dbe8286610e13565b85610dce565b9250505092915050565b5f808303610dde575f9050610e0d565b5f8284610deb91906113ef565b9050828482610dfa919061145d565b14610e0857610e07611584565b5b809150505b92915050565b5f808284610e21919061145d565b90508091505092915050565b5f808284610e3b9190611101565b905083811015610e4e57610e4d611584565b5b8091505092915050565b5f82821115610e6a57610e69611584565b5b8183610e7691906115b1565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610ea782610e7e565b9050919050565b610eb781610e9d565b82525050565b5f602082019050610ed05f830184610eae565b92915050565b5f819050919050565b610ee881610ed6565b82525050565b5f602082019050610f015f830184610edf565b92915050565b5f80fd5b610f1481610e9d565b8114610f1e575f80fd5b50565b5f81359050610f2f81610f0b565b92915050565b5f60208284031215610f4a57610f49610f07565b5b5f610f5784828501610f21565b91505092915050565b5f8115159050919050565b610f7481610f60565b82525050565b5f602082019050610f8d5f830184610f6b565b92915050565b610f9c81610ed6565b8114610fa6575f80fd5b50565b5f81359050610fb781610f93565b92915050565b5f60208284031215610fd257610fd1610f07565b5b5f610fdf84828501610fa9565b91505092915050565b5f819050919050565b5f61100b61100661100184610e7e565b610fe8565b610e7e565b9050919050565b5f61101c82610ff1565b9050919050565b5f61102d82611012565b9050919050565b61103d81611023565b82525050565b5f6020820190506110565f830184611034565b92915050565b5f82825260208201905092915050565b7f416d6f756e74206d7573742062652067726561746572207468616e207a65726f5f82015250565b5f6110a060208361105c565b91506110ab8261106c565b602082019050919050565b5f6020820190508181035f8301526110cd81611094565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61110b82610ed6565b915061111683610ed6565b925082820190508082111561112e5761112d6110d4565b5b92915050565b5f61113e82611012565b9050919050565b61114e81611134565b82525050565b5f6040820190506111675f830185611145565b6111746020830184610eae565b9392505050565b7f4f776e61626c653a206f776e6572206170706c7920746f6f206561726c7900005f82015250565b5f6111af601e8361105c565b91506111ba8261117b565b602082019050919050565b5f6020820190508181035f8301526111dc816111a3565b9050919050565b7f4e6f2072657761726420696e2074686520636f6e7472616374000000000000005f82015250565b5f61121760198361105c565b9150611222826111e3565b602082019050919050565b5f6020820190508181035f8301526112448161120b565b9050919050565b5f8151905061125981610f93565b92915050565b5f6020828403121561127457611273610f07565b5b5f6112818482850161124b565b91505092915050565b5f60408201905061129d5f830185610eae565b6112aa6020830184610edf565b9392505050565b6112ba81610f60565b81146112c4575f80fd5b50565b5f815190506112d5816112b1565b92915050565b5f602082840312156112f0576112ef610f07565b5b5f6112fd848285016112c7565b91505092915050565b5f6020820190506113195f830184611145565b92915050565b7f596f752068617665206e6f207374616b650000000000000000000000000000005f82015250565b5f61135360118361105c565b915061135e8261131f565b602082019050919050565b5f6020820190508181035f83015261138081611347565b9050919050565b7f52657761726420686173206265656e20636c61696d65640000000000000000005f82015250565b5f6113bb60178361105c565b91506113c682611387565b602082019050919050565b5f6020820190508181035f8301526113e8816113af565b9050919050565b5f6113f982610ed6565b915061140483610ed6565b925082820261141281610ed6565b91508282048414831517611429576114286110d4565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61146782610ed6565b915061147283610ed6565b92508261148257611481611430565b5b828204905092915050565b5f6040820190506114a05f830185611145565b6114ad6020830184610edf565b9392505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6114e860208361105c565b91506114f3826114b4565b602082019050919050565b5f6020820190508181035f830152611515816114dc565b9050919050565b7f616464726573735f7a65726f00000000000000000000000000000000000000005f82015250565b5f611550600c8361105c565b915061155b8261151c565b602082019050919050565b5f6020820190508181035f83015261157d81611544565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52600160045260245ffd5b5f6115bb82610ed6565b91506115c683610ed6565b92508282039050818111156115de576115dd6110d4565b5b9291505056fea2646970667358221220d2a4bfbf604c8c00c1f254ee06e319b9adcae1b1b831b243b3d29ea7f5d1dc6864736f6c63430008150033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 100.00% | $3,157.65 | 0.00000000001 | <$0.000001 |
Loading...
Loading
Loading...
Loading
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.