ETH Price: $3,509.21 (+2.70%)
Gas: 15 Gwei

Contract

0x7F358Da9B7472714C43B57ab7f351f7936c73A90
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw Token202519822024-07-07 3:34:5910 days ago1720323299IN
0x7F358Da9...936c73A90
0 ETH0.000510182.74392092
Stake Token200682932024-06-11 11:30:1135 days ago1718105411IN
0x7F358Da9...936c73A90
0 ETH0.0020555112.83727218
Stake Token196258822024-04-10 14:40:1197 days ago1712760011IN
0x7F358Da9...936c73A90
0 ETH0.0117048629.13165387
Withdraw Token182189162023-09-26 8:59:11294 days ago1695718751IN
0x7F358Da9...936c73A90
0 ETH0.0017668614.18792488
Stake Token182187852023-09-26 8:32:47294 days ago1695717167IN
0x7F358Da9...936c73A90
0 ETH0.0066488416.35262833
Withdraw Token182185762023-09-26 7:50:47294 days ago1695714647IN
0x7F358Da9...936c73A90
0 ETH0.000571578.9121295
Stake Token182184432023-09-26 7:24:11294 days ago1695713051IN
0x7F358Da9...936c73A90
0 ETH0.001704739.36562051
Withdraw Token182183192023-09-26 6:58:59294 days ago1695711539IN
0x7F358Da9...936c73A90
0 ETH0.000631048.10954023
Stake Token182181912023-09-26 6:33:11294 days ago1695709991IN
0x7F358Da9...936c73A90
0 ETH0.001684019.50232523
Withdraw Token175680692023-06-27 3:33:59386 days ago1687836839IN
0x7F358Da9...936c73A90
0 ETH0.0014266618.33400103
Stake Token175679392023-06-27 3:07:47386 days ago1687835267IN
0x7F358Da9...936c73A90
0 ETH0.0028766516.23201347
Withdraw Token175484342023-06-24 9:15:47388 days ago1687598147IN
0x7F358Da9...936c73A90
0 ETH0.0010862613.95954795
Stake Token175257372023-06-21 4:43:59392 days ago1687322639IN
0x7F358Da9...936c73A90
0 ETH0.0026153714.75769791
Withdraw Token174391892023-06-09 0:42:23404 days ago1686271343IN
0x7F358Da9...936c73A90
0 ETH0.0016847221.65034181
Stake Token174390612023-06-09 0:16:35404 days ago1686269795IN
0x7F358Da9...936c73A90
0 ETH0.0034878119.68060375
Withdraw Token173800072023-05-31 16:22:11412 days ago1685550131IN
0x7F358Da9...936c73A90
0 ETH0.0047670261.26102875
Stake Token173798812023-05-31 15:56:11412 days ago1685548571IN
0x7F358Da9...936c73A90
0 ETH0.0072029740.64400509
Withdraw Token169637182023-04-02 20:18:35471 days ago1680466715IN
0x7F358Da9...936c73A90
0 ETH0.0017090121.96248517
Stake Token169635882023-04-02 19:52:23471 days ago1680465143IN
0x7F358Da9...936c73A90
0 ETH0.0035628820.10417095
Withdraw Token169250812023-03-28 9:55:47476 days ago1679997347IN
0x7F358Da9...936c73A90
0 ETH0.0015429424.05777693
Stake Token169249492023-03-28 9:29:23476 days ago1679995763IN
0x7F358Da9...936c73A90
0 ETH0.0055651930.57448383
Withdraw Token168970282023-03-24 11:20:59480 days ago1679656859IN
0x7F358Da9...936c73A90
0 ETH0.0089296115.46084542
Stake Token168969032023-03-24 10:55:47480 days ago1679655347IN
0x7F358Da9...936c73A90
0 ETH0.0360708617.25142231
Withdraw Token168838532023-03-22 14:54:47482 days ago1679496887IN
0x7F358Da9...936c73A90
0 ETH0.0038515530.92800627
Stake Token168837202023-03-22 14:27:47482 days ago1679495267IN
0x7F358Da9...936c73A90
0 ETH0.0119955229.50260162
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
StakeValentine

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 9999999 runs

Other Settings:
default evmVersion
File 1 of 3 : StakeValentine.sol
// SPDX-License-Identifier: UNLICENSED

// Crafted with ❤️ by [ @esawwh (1619058420), @dankazenoff, @rnaidenov (889528910) ] @ HOMA;

pragma solidity ^0.8.17;

import "@openzeppelin/contracts/access/Ownable.sol";

interface Valentine {
  function ownerOf(uint256 tokenId) external view returns (address);
  function transferFrom(address sender, address recipient, uint256 tokenId) external;    
  function balanceOf(address owner) external view returns (uint256);
}

contract StakeValentine is Ownable {
  Valentine private ValentineERC721;

  bool private canHoldersStake = false;
  uint256 private minimumStakeDurationInSeconds = 1800;

  struct StakeMetadata {
    uint256 tokenId;
    uint256 startTimestamp;
    uint256 minimumStakeDurationEndTimestamp;
    address stakedBy;
    bool active;
  }
  
  mapping(uint256 => StakeMetadata) public stakedTokens;
  mapping(address => bool) private canStakeAtAnyTime;

  event Staked(address indexed from, StakeMetadata stakedInfo);
  event Claimed(address indexed from, StakeMetadata stakedInfo);

  constructor(address _valentineAddress) {
    require(_valentineAddress != address(0), "Valentine to stake needs to have non-zero address.");                
    ValentineERC721 = Valentine(_valentineAddress);
  }

  function stakeToken(uint256[] calldata _tokenIds) external {
    require(canHoldersStake || canStakeAtAnyTime[msg.sender]);

    for (uint256 i = 0; i < _tokenIds.length; i++) {
      require(ValentineERC721.ownerOf(_tokenIds[i]) == msg.sender);

      StakeMetadata memory stakeInfo = StakeMetadata({                
        startTimestamp: block.timestamp,
        minimumStakeDurationEndTimestamp: block.timestamp + minimumStakeDurationInSeconds,
        stakedBy: msg.sender,
        tokenId: _tokenIds[i],
        active: true
      });

      stakedTokens[_tokenIds[i]] = stakeInfo;

      ValentineERC721.transferFrom(msg.sender, address(this), _tokenIds[i]);

      emit Staked(msg.sender, stakeInfo);
    }
  }    

  function withdrawToken(uint256[] calldata _tokenIds) external {
    for (uint256 i = 0; i < _tokenIds.length; i++) {
      StakeMetadata memory stakeInfo = stakedTokens[_tokenIds[i]];

      require(stakeInfo.active == true, "This token is not staked");
      require((stakeInfo.stakedBy == msg.sender && stakeInfo.minimumStakeDurationEndTimestamp < block.timestamp) 
      || msg.sender == owner());

      StakeMetadata memory defaultStakeInfo;
      stakedTokens[_tokenIds[i]] = defaultStakeInfo;

      ValentineERC721.transferFrom(address(this), stakeInfo.stakedBy, _tokenIds[i]);

      emit Claimed(stakeInfo.stakedBy, stakeInfo);
    }
  }

  function setCanStakeAtAnyTime(address[] calldata _addresses, bool[] calldata _can) external onlyOwner {
    for (uint256 i = 0; i < _addresses.length; i++) {
      canStakeAtAnyTime[_addresses[i]] = _can[i];
    }
  }

  function getCanStakeAtAnyTime(address[] calldata _addresses) external view returns (bool[] memory) {
    bool[] memory returnedArray = new bool[](_addresses.length);

    for (uint256 i = 0; i < _addresses.length; i++) {
      returnedArray[i] = canStakeAtAnyTime[_addresses[i]];
    }

    return returnedArray;
  }

  function setCanHoldersStake(bool _can) external onlyOwner {
    canHoldersStake = _can;
  }

  function getCanHoldersStake() external view returns (bool) {
    return canHoldersStake;
  }

  function setMinimumStakeDuration(uint256 _durationInSeconds) external onlyOwner {
    minimumStakeDurationInSeconds = _durationInSeconds;
  }

  function getMinimumStakeDuration() external view returns (uint256) {
    return minimumStakeDurationInSeconds;
  }

  function getStakedTokens(uint256[] calldata _tokenIds) external view returns (StakeMetadata[] memory) {
    StakeMetadata[] memory returnedArray = new StakeMetadata[](_tokenIds.length);

    for (uint256 i = 0; i < _tokenIds.length; i++) {
      returnedArray[i] = stakedTokens[_tokenIds[i]];
    }

    return returnedArray;
  }
}

File 2 of 3 : Ownable.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.7.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 anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing 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);
    }
}

File 3 of 3 : Context.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (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;
    }
}

Settings
{
  "viaIR": true,
  "optimizer": {
    "enabled": true,
    "runs": 9999999,
    "details": {
      "peephole": true,
      "inliner": true,
      "jumpdestRemover": true,
      "orderLiterals": true,
      "deduplicate": false,
      "cse": true,
      "constantOptimizer": true,
      "yul": true,
      "yulDetails": {
        "stackAllocation": true
      }
    }
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_valentineAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"startTimestamp","type":"uint256"},{"internalType":"uint256","name":"minimumStakeDurationEndTimestamp","type":"uint256"},{"internalType":"address","name":"stakedBy","type":"address"},{"internalType":"bool","name":"active","type":"bool"}],"indexed":false,"internalType":"struct StakeValentine.StakeMetadata","name":"stakedInfo","type":"tuple"}],"name":"Claimed","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":"from","type":"address"},{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"startTimestamp","type":"uint256"},{"internalType":"uint256","name":"minimumStakeDurationEndTimestamp","type":"uint256"},{"internalType":"address","name":"stakedBy","type":"address"},{"internalType":"bool","name":"active","type":"bool"}],"indexed":false,"internalType":"struct StakeValentine.StakeMetadata","name":"stakedInfo","type":"tuple"}],"name":"Staked","type":"event"},{"inputs":[],"name":"getCanHoldersStake","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addresses","type":"address[]"}],"name":"getCanStakeAtAnyTime","outputs":[{"internalType":"bool[]","name":"","type":"bool[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMinimumStakeDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"}],"name":"getStakedTokens","outputs":[{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"startTimestamp","type":"uint256"},{"internalType":"uint256","name":"minimumStakeDurationEndTimestamp","type":"uint256"},{"internalType":"address","name":"stakedBy","type":"address"},{"internalType":"bool","name":"active","type":"bool"}],"internalType":"struct StakeValentine.StakeMetadata[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_can","type":"bool"}],"name":"setCanHoldersStake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addresses","type":"address[]"},{"internalType":"bool[]","name":"_can","type":"bool[]"}],"name":"setCanStakeAtAnyTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_durationInSeconds","type":"uint256"}],"name":"setMinimumStakeDuration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"}],"name":"stakeToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"stakedTokens","outputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"startTimestamp","type":"uint256"},{"internalType":"uint256","name":"minimumStakeDurationEndTimestamp","type":"uint256"},{"internalType":"address","name":"stakedBy","type":"address"},{"internalType":"bool","name":"active","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"}],"name":"withdrawToken","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60803461013b57601f61158138819003918201601f19168301916001600160401b038311848410176101255780849260209460405283398101031261012057516001600160a01b038082169182900361011b576000543360018060a01b0319821617600055604051913391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a36001549061070860025582156100be57506001600160a81b0319161760015560405161144090816101418239f35b62461bcd60e51b815260206004820152603260248201527f56616c656e74696e6520746f207374616b65206e6565647320746f2068617665604482015271103737b716bd32b9379030b2323932b9b99760711b6064820152608490fd5b600080fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c8063161de19d14610fb65780631fcfda5d14610f70578063392cb1c214610f275780633bfd6d3d14610e8a5780636472537e14610d37578063715018a614610c915780637f44e057146108b25780638da5cb5b14610856578063b72e4cfe146104c2578063ba1caeac146102d7578063bae5d80814610289578063c0788555146101f05763f2fde38b146100ab57600080fd5b346101eb5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101e65760043573ffffffffffffffffffffffffffffffffffffffff8082168092036101e157610104611117565b811561015d57600054827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b600080fd5b600080fd5b600080fd5b346102845760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027f57600435600052600360205260a0604060002060ff81549160018101549060036002820154910154916040519485526020850152604084015273ffffffffffffffffffffffffffffffffffffffff81166060840152831c1615156080820152f35b600080fd5b600080fd5b346102d25760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102cd57602060ff60015460a01c166040519015158152f35b600080fd5b600080fd5b346104bd576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104b85760043567ffffffffffffffff81116104b3576103279036906004016110d7565b919061033283611380565b9261034060405194856112bf565b8084527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061036d82611380565b018360005b82811061049d5750505060005b81811061041057604080518581528651818701819052878701928201908760005b8281106103ad5784840385f35b9091928260a0826104016001948a516080809180518452602081015160208501526040810151604085015273ffffffffffffffffffffffffffffffffffffffff606082015116606085015201511515910152565b019601910194929190946103a0565b8061041f6104989284866111f2565b35600052600380865260ff6040600020916040519261043d84611231565b8054845260018101548985015260028101546040850152015473ffffffffffffffffffffffffffffffffffffffff8116606084015260a01c161515608082015261048782886113c7565b5261049281876113c7565b50611196565b61037f565b6104a561132f565b828289010152018490610372565b600080fd5b600080fd5b600080fd5b34610851576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261084c5760043567ffffffffffffffff8111610847576105129036906004016110d7565b909160019182549060ff60a092831c168015610830575b1561082b5760005b81811061053a57005b73ffffffffffffffffffffffffffffffffffffffff8086541661055e83858a6111f2565b3586604051809381937f6352211e000000000000000000000000000000000000000000000000000000008352600483015260249485915afa90811561081f576000916107df575b5082339116036107da57600280544201918242116107ad5750829189859489886106a0956105d58e9a83876111f2565b35956040519a8b976105e689611231565b885261060e8b868a019542875260408b01948552608060608c019b338d520199848b526111f2565b3560005260038095526040600020938c51855551908401555190820155019251167fffffffffffffffffffffffff00000000000000000000000000000000000000008354161782555115157fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff0000000000000000000000000000000000000000835492151560a01b169116179055565b865416916106af82858a6111f2565b3592803b156107a8576040517f23b872dd00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101949094526000908490606490829084905af192831561079c576107889361078d575b5061075e60405180926080809180518452602081015160208501526040810151604085015273ffffffffffffffffffffffffffffffffffffffff606082015116606085015201511515910152565b7f82147c0ad9a9426cd9acb5a3f64c346d69861e81b022b426df615bd42546284c853392a2611196565b610531565b6107969061127c565b88610710565b6040513d6000823e3d90fd5b600080fd5b7f4e487b710000000000000000000000000000000000000000000000000000000060005260116004526000fd5b600080fd5b90508681813d8311610818575b6107f681836112bf565b810103126108135751828116810361080e57896105a5565b600080fd5b600080fd5b503d6107ec565b6040513d6000823e3d90fd5b600080fd5b50336000526004835260ff60406000205416610529565b600080fd5b600080fd5b600080fd5b346108ad5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126108a857602073ffffffffffffffffffffffffffffffffffffffff60005416604051908152f35b600080fd5b600080fd5b34610c8c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610c875760043567ffffffffffffffff8111610c82576109019036906004016110d7565b9060005b82811061090e57005b6109198184846111f2565b35600052600360205260406000209060405161093481611231565b8254815260018301546020820152600360029384810154604084015201549260ff60609473ffffffffffffffffffffffffffffffffffffffff81168685015260a01c161515906001608092808486015203610c24573373ffffffffffffffffffffffffffffffffffffffff86850151161480610c17575b8015610bf6575b15610bf157610a849160036109c561132f565b926109d1878b8b6111f2565b35600052816020526040600020908451825560208501516001830155604085015190820155019173ffffffffffffffffffffffffffffffffffffffff87820151167fffffffffffffffffffffffff0000000000000000000000000000000000000000845416178355015115157fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff0000000000000000000000000000000000000000835492151560a01b169116179055565b73ffffffffffffffffffffffffffffffffffffffff600154169273ffffffffffffffffffffffffffffffffffffffff8183015116610ac38488886111f2565b35853b15610bec576040517f23b872dd00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9290921660248301526044820152936000908590606490829084905af1938415610be05773ffffffffffffffffffffffffffffffffffffffff7f585c2073f695011f64639d21bf25249e86a959782aec9ae44b629114a078b19b9260a092610bcc97610bd1575b508401511692610bc660405180926080809180518452602081015160208501526040810151604085015273ffffffffffffffffffffffffffffffffffffffff606082015116606085015201511515910152565ba2611196565b610905565b610bda9061127c565b89610b73565b6040513d6000823e3d90fd5b600080fd5b600080fd5b5073ffffffffffffffffffffffffffffffffffffffff6000541633146109b2565b50604083015142116109ab565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f5468697320746f6b656e206973206e6f74207374616b656400000000000000006044820152fd5b600080fd5b600080fd5b600080fd5b34610d325760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610d2d57610cc8611117565b600073ffffffffffffffffffffffffffffffffffffffff81547fffffffffffffffffffffffff000000000000000000000000000000000000000081168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b600080fd5b600080fd5b34610e85576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610e805760043567ffffffffffffffff8111610e7b57610d879036906004016110d7565b90610d9182611380565b90610d9f60405192836112bf565b828252610dab83611380565b927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858401940136853760005b818110610e255750505090604051928392818401908285525180915260408401929160005b828110610e0c57505050500390f35b8351151585528695509381019392810192600101610dfd565b8073ffffffffffffffffffffffffffffffffffffffff610e51610e4c610e769486886111f2565b61135a565b166000526004875260ff60406000205416610e6c82876113c7565b9015159052611196565b610dd8565b600080fd5b600080fd5b600080fd5b34610f225760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610f1d57600435801515809103610f1857610ece611117565b7fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff00000000000000000000000000000000000000006001549260a01b16911617600155600080f35b600080fd5b600080fd5b600080fd5b34610f6b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610f6657610f5e611117565b600435600255005b600080fd5b600080fd5b34610fb15760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610fac576020600254604051908152f35b600080fd5b600080fd5b346110d25760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126110cd5767ffffffffffffffff6004358181116110c8576110069036906004016110d7565b90916024359081116110c3576110209036906004016110d7565b61102b929192611117565b60005b82811061103757005b6110428183866111f2565b35908115158092036110be576110b99173ffffffffffffffffffffffffffffffffffffffff61107a61107584888b6111f2565b61135a565b16600052600460205260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008354169116179055611196565b61102e565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b9181601f840112156111125782359167ffffffffffffffff831161110d576020808501948460051b01011161110857565b600080fd5b600080fd5b600080fd5b73ffffffffffffffffffffffffffffffffffffffff60005416330361113857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146111c35760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b91908110156112025760051b0190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60a0810190811067ffffffffffffffff82111761124d57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff811161129057604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761130057604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519061133c82611231565b60006080838281528260208201528260408201528260608201520152565b3573ffffffffffffffffffffffffffffffffffffffff8116810361137b5790565b600080fd5b67ffffffffffffffff81116113985760051b60200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b80518210156113db5760209160051b010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea26469706673582212202396b51b136688a0cb66817da61d93f79a71fb28c030af7294b22f7b529d182a64736f6c634300081100330000000000000000000000006c869a43a9d362ef870d75dae56a01887578421d

Deployed Bytecode

0x6080604052600436101561001257600080fd5b60003560e01c8063161de19d14610fb65780631fcfda5d14610f70578063392cb1c214610f275780633bfd6d3d14610e8a5780636472537e14610d37578063715018a614610c915780637f44e057146108b25780638da5cb5b14610856578063b72e4cfe146104c2578063ba1caeac146102d7578063bae5d80814610289578063c0788555146101f05763f2fde38b146100ab57600080fd5b346101eb5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101e65760043573ffffffffffffffffffffffffffffffffffffffff8082168092036101e157610104611117565b811561015d57600054827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b600080fd5b600080fd5b600080fd5b346102845760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027f57600435600052600360205260a0604060002060ff81549160018101549060036002820154910154916040519485526020850152604084015273ffffffffffffffffffffffffffffffffffffffff81166060840152831c1615156080820152f35b600080fd5b600080fd5b346102d25760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102cd57602060ff60015460a01c166040519015158152f35b600080fd5b600080fd5b346104bd576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104b85760043567ffffffffffffffff81116104b3576103279036906004016110d7565b919061033283611380565b9261034060405194856112bf565b8084527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061036d82611380565b018360005b82811061049d5750505060005b81811061041057604080518581528651818701819052878701928201908760005b8281106103ad5784840385f35b9091928260a0826104016001948a516080809180518452602081015160208501526040810151604085015273ffffffffffffffffffffffffffffffffffffffff606082015116606085015201511515910152565b019601910194929190946103a0565b8061041f6104989284866111f2565b35600052600380865260ff6040600020916040519261043d84611231565b8054845260018101548985015260028101546040850152015473ffffffffffffffffffffffffffffffffffffffff8116606084015260a01c161515608082015261048782886113c7565b5261049281876113c7565b50611196565b61037f565b6104a561132f565b828289010152018490610372565b600080fd5b600080fd5b600080fd5b34610851576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261084c5760043567ffffffffffffffff8111610847576105129036906004016110d7565b909160019182549060ff60a092831c168015610830575b1561082b5760005b81811061053a57005b73ffffffffffffffffffffffffffffffffffffffff8086541661055e83858a6111f2565b3586604051809381937f6352211e000000000000000000000000000000000000000000000000000000008352600483015260249485915afa90811561081f576000916107df575b5082339116036107da57600280544201918242116107ad5750829189859489886106a0956105d58e9a83876111f2565b35956040519a8b976105e689611231565b885261060e8b868a019542875260408b01948552608060608c019b338d520199848b526111f2565b3560005260038095526040600020938c51855551908401555190820155019251167fffffffffffffffffffffffff00000000000000000000000000000000000000008354161782555115157fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff0000000000000000000000000000000000000000835492151560a01b169116179055565b865416916106af82858a6111f2565b3592803b156107a8576040517f23b872dd00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101949094526000908490606490829084905af192831561079c576107889361078d575b5061075e60405180926080809180518452602081015160208501526040810151604085015273ffffffffffffffffffffffffffffffffffffffff606082015116606085015201511515910152565b7f82147c0ad9a9426cd9acb5a3f64c346d69861e81b022b426df615bd42546284c853392a2611196565b610531565b6107969061127c565b88610710565b6040513d6000823e3d90fd5b600080fd5b7f4e487b710000000000000000000000000000000000000000000000000000000060005260116004526000fd5b600080fd5b90508681813d8311610818575b6107f681836112bf565b810103126108135751828116810361080e57896105a5565b600080fd5b600080fd5b503d6107ec565b6040513d6000823e3d90fd5b600080fd5b50336000526004835260ff60406000205416610529565b600080fd5b600080fd5b600080fd5b346108ad5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126108a857602073ffffffffffffffffffffffffffffffffffffffff60005416604051908152f35b600080fd5b600080fd5b34610c8c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610c875760043567ffffffffffffffff8111610c82576109019036906004016110d7565b9060005b82811061090e57005b6109198184846111f2565b35600052600360205260406000209060405161093481611231565b8254815260018301546020820152600360029384810154604084015201549260ff60609473ffffffffffffffffffffffffffffffffffffffff81168685015260a01c161515906001608092808486015203610c24573373ffffffffffffffffffffffffffffffffffffffff86850151161480610c17575b8015610bf6575b15610bf157610a849160036109c561132f565b926109d1878b8b6111f2565b35600052816020526040600020908451825560208501516001830155604085015190820155019173ffffffffffffffffffffffffffffffffffffffff87820151167fffffffffffffffffffffffff0000000000000000000000000000000000000000845416178355015115157fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff0000000000000000000000000000000000000000835492151560a01b169116179055565b73ffffffffffffffffffffffffffffffffffffffff600154169273ffffffffffffffffffffffffffffffffffffffff8183015116610ac38488886111f2565b35853b15610bec576040517f23b872dd00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9290921660248301526044820152936000908590606490829084905af1938415610be05773ffffffffffffffffffffffffffffffffffffffff7f585c2073f695011f64639d21bf25249e86a959782aec9ae44b629114a078b19b9260a092610bcc97610bd1575b508401511692610bc660405180926080809180518452602081015160208501526040810151604085015273ffffffffffffffffffffffffffffffffffffffff606082015116606085015201511515910152565ba2611196565b610905565b610bda9061127c565b89610b73565b6040513d6000823e3d90fd5b600080fd5b600080fd5b5073ffffffffffffffffffffffffffffffffffffffff6000541633146109b2565b50604083015142116109ab565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f5468697320746f6b656e206973206e6f74207374616b656400000000000000006044820152fd5b600080fd5b600080fd5b600080fd5b34610d325760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610d2d57610cc8611117565b600073ffffffffffffffffffffffffffffffffffffffff81547fffffffffffffffffffffffff000000000000000000000000000000000000000081168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b600080fd5b600080fd5b34610e85576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610e805760043567ffffffffffffffff8111610e7b57610d879036906004016110d7565b90610d9182611380565b90610d9f60405192836112bf565b828252610dab83611380565b927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858401940136853760005b818110610e255750505090604051928392818401908285525180915260408401929160005b828110610e0c57505050500390f35b8351151585528695509381019392810192600101610dfd565b8073ffffffffffffffffffffffffffffffffffffffff610e51610e4c610e769486886111f2565b61135a565b166000526004875260ff60406000205416610e6c82876113c7565b9015159052611196565b610dd8565b600080fd5b600080fd5b600080fd5b34610f225760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610f1d57600435801515809103610f1857610ece611117565b7fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff00000000000000000000000000000000000000006001549260a01b16911617600155600080f35b600080fd5b600080fd5b600080fd5b34610f6b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610f6657610f5e611117565b600435600255005b600080fd5b600080fd5b34610fb15760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610fac576020600254604051908152f35b600080fd5b600080fd5b346110d25760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126110cd5767ffffffffffffffff6004358181116110c8576110069036906004016110d7565b90916024359081116110c3576110209036906004016110d7565b61102b929192611117565b60005b82811061103757005b6110428183866111f2565b35908115158092036110be576110b99173ffffffffffffffffffffffffffffffffffffffff61107a61107584888b6111f2565b61135a565b16600052600460205260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008354169116179055611196565b61102e565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b9181601f840112156111125782359167ffffffffffffffff831161110d576020808501948460051b01011161110857565b600080fd5b600080fd5b600080fd5b73ffffffffffffffffffffffffffffffffffffffff60005416330361113857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146111c35760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b91908110156112025760051b0190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60a0810190811067ffffffffffffffff82111761124d57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff811161129057604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761130057604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519061133c82611231565b60006080838281528260208201528260408201528260608201520152565b3573ffffffffffffffffffffffffffffffffffffffff8116810361137b5790565b600080fd5b67ffffffffffffffff81116113985760051b60200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b80518210156113db5760209160051b010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea26469706673582212202396b51b136688a0cb66817da61d93f79a71fb28c030af7294b22f7b529d182a64736f6c63430008110033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000006c869a43a9d362ef870d75dae56a01887578421d

-----Decoded View---------------
Arg [0] : _valentineAddress (address): 0x6C869A43A9D362eF870d75daE56A01887578421d

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000006c869a43a9d362ef870d75dae56a01887578421d


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.