ETH Price: $2,599.56 (+0.33%)
Gas: 1 Gwei

Contract

0x699Aa89DF17A2B3CF975FF0b036A3799EA3A7123
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Purchase Cycle187710732023-12-12 15:43:35242 days ago1702395815IN
0x699Aa89D...9EA3A7123
0 ETH0.0049800761.70258493
Purchase Cycle185324802023-11-09 6:03:59275 days ago1699509839IN
0x699Aa89D...9EA3A7123
0 ETH0.0022273627.59684148
Purchase Cycle178437672023-08-04 19:41:35371 days ago1691178095IN
0x699Aa89D...9EA3A7123
0 ETH0.0022748418.94045734
Purchase Cycle177135352023-07-17 14:20:35390 days ago1689603635IN
0x699Aa89D...9EA3A7123
0 ETH0.0022854728.31672608
Purchase Cycle177045642023-07-16 8:07:35391 days ago1689494855IN
0x699Aa89D...9EA3A7123
0 ETH0.001974217.18026269
Purchase Cycle176528652023-07-09 1:22:35398 days ago1688865755IN
0x699Aa89D...9EA3A7123
0 ETH0.0011699114.49505268
Purchase Cycle174418792023-06-09 9:46:47428 days ago1686304007IN
0x699Aa89D...9EA3A7123
0 ETH0.0015334218.99891766
Purchase Cycle172373362023-05-11 13:13:47457 days ago1683810827IN
0x699Aa89D...9EA3A7123
0 ETH0.0089797111.25745645
Purchase Cycle172373282023-05-11 13:12:11457 days ago1683810731IN
0x699Aa89D...9EA3A7123
0 ETH0.00933599115.67185649
Purchase Cycle171547732023-04-29 22:41:11468 days ago1682808071IN
0x699Aa89D...9EA3A7123
0 ETH0.0027022833.48102482
Purchase Cycle171382332023-04-27 14:53:59471 days ago1682607239IN
0x699Aa89D...9EA3A7123
0 ETH0.003526130.68554834
Purchase Cycle171235152023-04-25 13:17:23473 days ago1682428643IN
0x699Aa89D...9EA3A7123
0 ETH0.0059103849.2101178
Purchase Cycle171223202023-04-25 9:14:59473 days ago1682414099IN
0x699Aa89D...9EA3A7123
0 ETH0.0027511534.08645353
Purchase Cycle171055202023-04-23 0:42:23475 days ago1682210543IN
0x699Aa89D...9EA3A7123
0 ETH0.0035948944.54038096
Purchase Cycle170586902023-04-16 9:52:47482 days ago1681638767IN
0x699Aa89D...9EA3A7123
0 ETH0.0028627623.83550639
Purchase Cycle170393802023-04-13 15:33:11485 days ago1681399991IN
0x699Aa89D...9EA3A7123
0 ETH0.0033962729.55573259
Purchase Cycle170373112023-04-13 7:52:35485 days ago1681372355IN
0x699Aa89D...9EA3A7123
0 ETH0.0022267127.5887892
Purchase Cycle170338642023-04-12 19:03:11486 days ago1681326191IN
0x699Aa89D...9EA3A7123
0 ETH0.0027639134.24455808
Purchase Cycle170332132023-04-12 16:50:23486 days ago1681318223IN
0x699Aa89D...9EA3A7123
0 ETH0.0025957432.16096451
Purchase Cycle170237382023-04-11 8:41:23487 days ago1681202483IN
0x699Aa89D...9EA3A7123
0 ETH0.0022514719.59324695
Purchase Cycle170230802023-04-11 6:27:11487 days ago1681194431IN
0x699Aa89D...9EA3A7123
0 ETH0.0024735621.52592593
Purchase Cycle170214832023-04-11 1:00:59487 days ago1681174859IN
0x699Aa89D...9EA3A7123
0 ETH0.0024813330.7434285
Purchase Cycle169978422023-04-07 16:38:35491 days ago1680885515IN
0x699Aa89D...9EA3A7123
0 ETH0.0028051434.75544705
Purchase Cycle169843332023-04-05 18:27:23493 days ago1680719243IN
0x699Aa89D...9EA3A7123
0 ETH0.0046039438.33266811
Purchase Cycle169834212023-04-05 15:19:35493 days ago1680707975IN
0x699Aa89D...9EA3A7123
0 ETH0.0056012248.74400037
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:
PLTNMPaymentProcessor

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 1500 runs

Other Settings:
byzantium EvmVersion
File 1 of 3 : pltnmpaymentprocessor.sol
/*
Simple Prepaid Subscription Management Contract using ERC20
2022 Platinum Labs
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@&&&%%%%%%%%%%%###########((@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@&&&&&&&&&&&&%%%%%%%%%%%%########@@@@@@@@@@@@@@@(((((((@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@&&&&&&&&&&&%%%%%%%%%%%%%%###&@@@@@@@&&&&@@@@@@@@((((((((((((@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@&&&&&&&&&&&%%@@@@@@@@@@@@@@@@@@@&&&&&&&&&@@@@@@@@((((((((((((((@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@&&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@&&&&&@@@@@&&&&&&&&&&&&(((((((((((((((((@@@@@@@@@@@@@@@@@@
@@@@@@@@@&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@&&&&&@@@@@@@@@&&&&&&&&&&&&&@(((((((((((((((((@@@@@@@@@@@@@@
@@@@@@@@&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@&&&&&@@@@@@@@@@@@@@@&&&&&&&&&&&&@@@@(((((((((((((((@@@@@@@@@@@
@@@@@@@@&&&&&&&@@@@@@@@@@@@@@@@@@@@@&&&&&@@@@@@@@@@@@@@@@@@@&&&&&&%%%%%%%@@@@(((((((((((((((@@@@@@@@
@@@@@@@@&&&&&&&@@@@@@@@@@@@@@&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@&&&&%%%%%%%%@@@@@(((((((((((((((@@@@@
@@@@@@@@@&&&&&&&@@@@@@@&&&&&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&%%%%%%%#@@@@(((((((((((((((@@@
@@@@@@@@@@&&&&&&&@@@@&&&&&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&########@@@@((((((((((((((@@
@@@@@@@@@@@&&&&&&&&@@@@&&&&&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%&########@@@@@@@((((((((((((((@
@@@@@@@@@@@@@@&&&&&&&@@@@@&&&&&&%%%%%%&@@@@@@@@@@@@@@@@@@@@@@@%%%%%########@@@@@@@@@@@((((((((((((((
@@@@@@@@@@@@@@@@&&&&&&&&@@@@%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@#############@@@@@@@@@@@@@((((((((((((((
@@@@@@@@@@@@@@@@@@@&&&&&&&&@@@@%%%%%%%%%%%%@@@@@@@@@@@@@@%#########(((@@@@@@@@@@@@@@@(((((((((((((((
@@@@@@@@@@@@@@@@@@@@@@@&&&&&&&&&@%%%##########@@@@@@@@@#####((((((((@@@@@@@@@@@@@@@(((((((((((((((((
@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&&&&&##########@@@@@((((((((((((@@@@@@@@@@@@@@%(((((((((((((((((((@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&&&&&&&&%((((((((((((((((@@@@@@@@@@((((((((((((((((((((((((@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&&&&&&&&%%%%%%%%%%%%%##########((((((((((((((((((((((((@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&&&&&&&%%%%%%%%%%%%%##########((((((((((((((((((&@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&%%%%%%%%%%%##########((((((((((((((@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@/////@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 */

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;

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

interface IERC20 {
    function transfer(address to, uint256 value) external returns (bool);

    function approve(address spender, uint256 value) external returns (bool);

    function transferFrom(
        address from,
        address to,
        uint256 value
    ) external returns (bool);

    function totalSupply() external view returns (uint256);

    function balanceOf(address who) external view returns (uint256);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function mint(address to, uint256 amount) external;

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

contract PLTNMPaymentProcessor is Ownable {
    IERC20 public token;
    uint256 public cyclePrice;
    uint256 public cycleIntervalUntilValidForRenewal;
    uint256 public renewableTimeBeforeExpiry;
    address private pltnmDepositoryWallet;

    string public productName;

    mapping(address => uint256) public cycleRenewableTimeStamp;
    mapping(address => uint256) public expiryForAddress;

    constructor() {
        productName = "PLATINUM MINTER ACCESS";
        cyclePrice = 150 * 10**18;
        cycleIntervalUntilValidForRenewal = 5 days;
        renewableTimeBeforeExpiry = 2 days;
        pltnmDepositoryWallet = msg.sender;
        token = IERC20(0xe83341b9D5Cc95f0E0D6b94Ed4820C0F191C51BA);
    }

    function setProductName(string memory _name) external onlyOwner {
        productName = _name;
    }

    function setTokenAddress(address _token) external onlyOwner {
        token = IERC20(_token);
    }

    function setDepositoryWallet(address _address) external onlyOwner {
        pltnmDepositoryWallet = _address;
    }

    function setCyclePrice(uint256 _price) external onlyOwner {
        cyclePrice = _price;
    }

    function setCycleInterVal(uint256 _interval) external onlyOwner {
        cycleIntervalUntilValidForRenewal = _interval;
    }

    function setTimeFromRenewableToExpiry(uint256 _renewableTimeToExpiry)
        external
        onlyOwner
    {
        renewableTimeBeforeExpiry = _renewableTimeToExpiry;
    }

    function getContractTotalSupply() external view returns (uint256) {
        return token.totalSupply();
    }

    function purchaseCycle() external {
        require(
            token.allowance(msg.sender, address(this)) > cyclePrice,
            "You have not approved the required amount on the token contract"
        );
        require(
            block.timestamp > cycleRenewableTimeStamp[msg.sender],
            "You have not yet reached renewal time"
        );
        require(
            token.balanceOf(msg.sender) > cyclePrice,
            "You do not have enough $PLTNM"
        );

        //burn the token
        token.transferFrom(msg.sender, pltnmDepositoryWallet, cyclePrice);

        if (expiryForAddress[msg.sender] < block.timestamp) {
            expiryForAddress[msg.sender] = block.timestamp;
        }

        if (expiryForAddress[msg.sender] == 0) {
            expiryForAddress[msg.sender] = block.timestamp;
        }

        if (cycleRenewableTimeStamp[msg.sender] < block.timestamp) {
            cycleRenewableTimeStamp[msg.sender] = block.timestamp;
        }

        if (cycleRenewableTimeStamp[msg.sender] == 0) {
            cycleRenewableTimeStamp[msg.sender] = block.timestamp;
        }

        cycleRenewableTimeStamp[
            msg.sender
        ] += cycleIntervalUntilValidForRenewal;
        expiryForAddress[msg.sender] =
            cycleRenewableTimeStamp[msg.sender] +
            renewableTimeBeforeExpiry;
    }

    //for third party control
    function purchaseCycleFor(address _address) external {
        require(
            token.allowance(_address, address(this)) > cyclePrice,
            "Address has not approved the required amount on the token contract"
        );
        require(
            block.timestamp > cycleRenewableTimeStamp[_address],
            "Address has not yet reached renewal time"
        );
        require(
            token.balanceOf(_address) > cyclePrice,
            "Address does not have enough $PLTNM"
        );

        //burn the token
        token.transferFrom(_address, pltnmDepositoryWallet, cyclePrice);

        if (expiryForAddress[_address] < block.timestamp) {
            expiryForAddress[_address] = block.timestamp;
        }

        if (expiryForAddress[_address] == 0) {
            expiryForAddress[_address] = block.timestamp;
        }

        if (cycleRenewableTimeStamp[_address] < block.timestamp) {
            cycleRenewableTimeStamp[_address] = block.timestamp;
        }

        if (cycleRenewableTimeStamp[_address] == 0) {
            cycleRenewableTimeStamp[_address] = block.timestamp;
        }

        cycleRenewableTimeStamp[_address] += cycleIntervalUntilValidForRenewal;
        expiryForAddress[_address] =
            cycleRenewableTimeStamp[_address] +
            renewableTimeBeforeExpiry;
    }
}

File 2 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;
    }
}

File 3 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);
    }
}

Settings
{
  "remappings": [],
  "optimizer": {
    "enabled": true,
    "runs": 1500
  },
  "evmVersion": "byzantium",
  "libraries": {},
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"cycleIntervalUntilValidForRenewal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cyclePrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"cycleRenewableTimeStamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"expiryForAddress","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getContractTotalSupply","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":"productName","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"purchaseCycle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"purchaseCycleFor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renewableTimeBeforeExpiry","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_interval","type":"uint256"}],"name":"setCycleInterVal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_price","type":"uint256"}],"name":"setCyclePrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"setDepositoryWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_name","type":"string"}],"name":"setProductName","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_renewableTimeToExpiry","type":"uint256"}],"name":"setTimeFromRenewableToExpiry","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"setTokenAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b506200003862000029640100000000620000d1810204565b640100000000620000d5810204565b60408051808201909152601681527f504c4154494e554d204d494e544552204143434553530000000000000000000060208201526006906200007b9082620001fc565b50680821ab0d4414980000600255620697806003556202a30060045560058054600160a060020a031990811633179091556001805490911673e83341b9d5cc95f0e0d6b94ed4820c0f191c51ba179055620002cf565b3390565b60008054600160a060020a03838116600160a060020a0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6002810460018216806200016957607f821691505b602082108103620001a3577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115620001f7576000818152602081206020601f86010481016020861015620001d25750805b6020601f860104820191505b81811015620001f357828155600101620001de565b5050505b505050565b815167ffffffffffffffff81111562000219576200021962000125565b62000231816200022a845462000154565b84620001a9565b602080601f8311600181146200026d5760008415620002505750858301515b60028086026008870290910a6000190419821617865550620001f3565b600085815260208120601f198616915b828110156200029e578886015182559484019460019091019084016200027d565b5085821015620002bf57878501516008601f88160260020a60001904191681555b5050505050600202600101905550565b61147880620002df6000396000f3fe608060405234801561001057600080fd5b506004361061016e576000357c010000000000000000000000000000000000000000000000000000000090048063910943fe116100ea578063d5dbf8d21161009e578063f2fde38b11610083578063f2fde38b146102c1578063f852d3fc146102d4578063fc0c546a146102e757600080fd5b8063d5dbf8d21461029b578063ef458fea146102ae57600080fd5b8063ab2f99dc116100cf578063ab2f99dc14610276578063ab856cb61461027f578063b0284d731461029257600080fd5b8063910943fe146102665780639eda36101461026e57600080fd5b8063607aed5211610141578063715018a611610126578063715018a61461020a5780637f7650eb146102125780638da5cb5b1461022757600080fd5b8063607aed52146101d757806362e83b96146101ea57600080fd5b806326a4e8d21461017357806336c0af391461018857806355c52dec146101bb5780635d2fd960146101c4575b600080fd5b6101866101813660046110db565b610307565b005b6101a86101963660046110db565b60076020526000908152604090205481565b6040519081526020015b60405180910390f35b6101a860035481565b6101866101d2366004611118565b61034b565b6101866101e5366004611118565b610358565b6101a86101f83660046110db565b60086020526000908152604090205481565b610186610365565b61021a610379565b6040516101b29190611131565b60005473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101b2565b610186610407565b6101a8610874565b6101a860025481565b61018661028d3660046110db565b61090d565b6101a860045481565b6101866102a9366004611118565b610ed0565b6101866102bc3660046111ae565b610edd565b6101866102cf3660046110db565b610ef5565b6101866102e23660046110db565b610fac565b6001546102419073ffffffffffffffffffffffffffffffffffffffff1681565b61030f610ff0565b6001805473ffffffffffffffffffffffffffffffffffffffff191673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610353610ff0565b600255565b610360610ff0565b600455565b61036d610ff0565b6103776000611071565b565b600680546103869061125f565b80601f01602080910402602001604051908101604052809291908181526020018280546103b29061125f565b80156103ff5780601f106103d4576101008083540402835291602001916103ff565b820191906000526020600020905b8154815290600101906020018083116103e257829003601f168201915b505050505081565b6002546001546040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815233600482015230602482015273ffffffffffffffffffffffffffffffffffffffff9091169063dd62ed3e90604401602060405180830381865afa15801561047e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a291906112b2565b11610534576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f596f752068617665206e6f7420617070726f766564207468652072657175697260448201527f656420616d6f756e74206f6e2074686520746f6b656e20636f6e74726163740060648201526084015b60405180910390fd5b3360009081526007602052604090205442116105d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f596f752068617665206e6f742079657420726561636865642072656e6577616c60448201527f2074696d65000000000000000000000000000000000000000000000000000000606482015260840161052b565b6002546001546040517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff909116906370a0823190602401602060405180830381865afa158015610643573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066791906112b2565b116106ce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f596f7520646f206e6f74206861766520656e6f7567682024504c544e4d000000604482015260640161052b565b6001546005546002546040517f23b872dd00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff928316602482015260448101919091529116906323b872dd906064016020604051808303816000875af1158015610753573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061077791906112cb565b50336000908152600860205260409020544211156107a2573360009081526008602052604090204290555b3360009081526008602052604081205490036107cb573360009081526008602052604090204290555b336000908152600760205260409020544211156107f5573360009081526007602052604090204290555b33600090815260076020526040812054900361081e573360009081526007602052604090204290555b60035433600090815260076020526040812080549091906108409084906112ed565b90915550506004543360009081526007602052604090205461086291906112ed565b33600090815260086020526040902055565b600154604080517f18160ddd000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916318160ddd9160048083019260209291908290030181865afa1580156108e4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090891906112b2565b905090565b6002546001546040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301523060248301529091169063dd62ed3e90604401602060405180830381865afa158015610986573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109aa91906112b2565b11610a5d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604260248201527f4164647265737320686173206e6f7420617070726f766564207468652072657160448201527f756972656420616d6f756e74206f6e2074686520746f6b656e20636f6e74726160648201527f6374000000000000000000000000000000000000000000000000000000000000608482015260a40161052b565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600760205260409020544211610b11576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4164647265737320686173206e6f742079657420726561636865642072656e6560448201527f77616c2074696d65000000000000000000000000000000000000000000000000606482015260840161052b565b6002546001546040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152909116906370a0823190602401602060405180830381865afa158015610b84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba891906112b2565b11610c35576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4164647265737320646f6573206e6f74206861766520656e6f7567682024504c60448201527f544e4d0000000000000000000000000000000000000000000000000000000000606482015260840161052b565b6001546005546002546040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152928316602482015260448101919091529116906323b872dd906064016020604051808303816000875af1158015610cbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ce091906112cb565b5073ffffffffffffffffffffffffffffffffffffffff8116600090815260086020526040902054421115610d375773ffffffffffffffffffffffffffffffffffffffff811660009081526008602052604090204290555b73ffffffffffffffffffffffffffffffffffffffff81166000908152600860205260408120549003610d8c5773ffffffffffffffffffffffffffffffffffffffff811660009081526008602052604090204290555b73ffffffffffffffffffffffffffffffffffffffff8116600090815260076020526040902054421115610de25773ffffffffffffffffffffffffffffffffffffffff811660009081526007602052604090204290555b73ffffffffffffffffffffffffffffffffffffffff81166000908152600760205260408120549003610e375773ffffffffffffffffffffffffffffffffffffffff811660009081526007602052604090204290555b60035473ffffffffffffffffffffffffffffffffffffffff821660009081526007602052604081208054909190610e6f9084906112ed565b909155505060045473ffffffffffffffffffffffffffffffffffffffff8216600090815260076020526040902054610ea791906112ed565b73ffffffffffffffffffffffffffffffffffffffff909116600090815260086020526040902055565b610ed8610ff0565b600355565b610ee5610ff0565b6006610ef1828261137c565b5050565b610efd610ff0565b73ffffffffffffffffffffffffffffffffffffffff8116610fa0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161052b565b610fa981611071565b50565b610fb4610ff0565b6005805473ffffffffffffffffffffffffffffffffffffffff191673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60005473ffffffffffffffffffffffffffffffffffffffff163314610377576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161052b565b6000805473ffffffffffffffffffffffffffffffffffffffff83811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156110ed57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461111157600080fd5b9392505050565b60006020828403121561112a57600080fd5b5035919050565b600060208083528351808285015260005b8181101561115e57858101830151858201604001528201611142565b506000604082860101526040601f19601f8301168501019250505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602082840312156111c057600080fd5b813567ffffffffffffffff808211156111d857600080fd5b818401915084601f8301126111ec57600080fd5b8135818111156111fe576111fe61117f565b604051601f8201601f19908116603f011681019083821181831017156112265761122661117f565b8160405282815287602084870101111561123f57600080fd5b826020860160208301376000928101602001929092525095945050505050565b60028104600182168061127357607f821691505b6020821081036112ac577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000602082840312156112c457600080fd5b5051919050565b6000602082840312156112dd57600080fd5b8151801515811461111157600080fd5b80820180821115611327577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b92915050565b601f821115611377576000818152602081206020601f860104810160208610156113545750805b6020601f860104820191505b8181101561137357828155600101611360565b5050505b505050565b815167ffffffffffffffff8111156113965761139661117f565b6113aa816113a4845461125f565b8461132d565b602080601f8311600181146113e357600084156113c75750858301515b60028086026008870290910a6000190419821617865550611373565b600085815260208120601f198616915b82811015611412578886015182559484019460019091019084016113f3565b508582101561143257878501516008601f88160260020a60001904191681555b505050505060020260010190555056fea26469706673582212200db5a89c87e089b1542069305c0454d889cff9b800be44f545894aac56d54c1764736f6c63430008110033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061016e576000357c010000000000000000000000000000000000000000000000000000000090048063910943fe116100ea578063d5dbf8d21161009e578063f2fde38b11610083578063f2fde38b146102c1578063f852d3fc146102d4578063fc0c546a146102e757600080fd5b8063d5dbf8d21461029b578063ef458fea146102ae57600080fd5b8063ab2f99dc116100cf578063ab2f99dc14610276578063ab856cb61461027f578063b0284d731461029257600080fd5b8063910943fe146102665780639eda36101461026e57600080fd5b8063607aed5211610141578063715018a611610126578063715018a61461020a5780637f7650eb146102125780638da5cb5b1461022757600080fd5b8063607aed52146101d757806362e83b96146101ea57600080fd5b806326a4e8d21461017357806336c0af391461018857806355c52dec146101bb5780635d2fd960146101c4575b600080fd5b6101866101813660046110db565b610307565b005b6101a86101963660046110db565b60076020526000908152604090205481565b6040519081526020015b60405180910390f35b6101a860035481565b6101866101d2366004611118565b61034b565b6101866101e5366004611118565b610358565b6101a86101f83660046110db565b60086020526000908152604090205481565b610186610365565b61021a610379565b6040516101b29190611131565b60005473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101b2565b610186610407565b6101a8610874565b6101a860025481565b61018661028d3660046110db565b61090d565b6101a860045481565b6101866102a9366004611118565b610ed0565b6101866102bc3660046111ae565b610edd565b6101866102cf3660046110db565b610ef5565b6101866102e23660046110db565b610fac565b6001546102419073ffffffffffffffffffffffffffffffffffffffff1681565b61030f610ff0565b6001805473ffffffffffffffffffffffffffffffffffffffff191673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610353610ff0565b600255565b610360610ff0565b600455565b61036d610ff0565b6103776000611071565b565b600680546103869061125f565b80601f01602080910402602001604051908101604052809291908181526020018280546103b29061125f565b80156103ff5780601f106103d4576101008083540402835291602001916103ff565b820191906000526020600020905b8154815290600101906020018083116103e257829003601f168201915b505050505081565b6002546001546040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815233600482015230602482015273ffffffffffffffffffffffffffffffffffffffff9091169063dd62ed3e90604401602060405180830381865afa15801561047e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a291906112b2565b11610534576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f596f752068617665206e6f7420617070726f766564207468652072657175697260448201527f656420616d6f756e74206f6e2074686520746f6b656e20636f6e74726163740060648201526084015b60405180910390fd5b3360009081526007602052604090205442116105d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f596f752068617665206e6f742079657420726561636865642072656e6577616c60448201527f2074696d65000000000000000000000000000000000000000000000000000000606482015260840161052b565b6002546001546040517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff909116906370a0823190602401602060405180830381865afa158015610643573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066791906112b2565b116106ce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f596f7520646f206e6f74206861766520656e6f7567682024504c544e4d000000604482015260640161052b565b6001546005546002546040517f23b872dd00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff928316602482015260448101919091529116906323b872dd906064016020604051808303816000875af1158015610753573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061077791906112cb565b50336000908152600860205260409020544211156107a2573360009081526008602052604090204290555b3360009081526008602052604081205490036107cb573360009081526008602052604090204290555b336000908152600760205260409020544211156107f5573360009081526007602052604090204290555b33600090815260076020526040812054900361081e573360009081526007602052604090204290555b60035433600090815260076020526040812080549091906108409084906112ed565b90915550506004543360009081526007602052604090205461086291906112ed565b33600090815260086020526040902055565b600154604080517f18160ddd000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916318160ddd9160048083019260209291908290030181865afa1580156108e4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090891906112b2565b905090565b6002546001546040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301523060248301529091169063dd62ed3e90604401602060405180830381865afa158015610986573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109aa91906112b2565b11610a5d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604260248201527f4164647265737320686173206e6f7420617070726f766564207468652072657160448201527f756972656420616d6f756e74206f6e2074686520746f6b656e20636f6e74726160648201527f6374000000000000000000000000000000000000000000000000000000000000608482015260a40161052b565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600760205260409020544211610b11576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4164647265737320686173206e6f742079657420726561636865642072656e6560448201527f77616c2074696d65000000000000000000000000000000000000000000000000606482015260840161052b565b6002546001546040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152909116906370a0823190602401602060405180830381865afa158015610b84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba891906112b2565b11610c35576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4164647265737320646f6573206e6f74206861766520656e6f7567682024504c60448201527f544e4d0000000000000000000000000000000000000000000000000000000000606482015260840161052b565b6001546005546002546040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152928316602482015260448101919091529116906323b872dd906064016020604051808303816000875af1158015610cbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ce091906112cb565b5073ffffffffffffffffffffffffffffffffffffffff8116600090815260086020526040902054421115610d375773ffffffffffffffffffffffffffffffffffffffff811660009081526008602052604090204290555b73ffffffffffffffffffffffffffffffffffffffff81166000908152600860205260408120549003610d8c5773ffffffffffffffffffffffffffffffffffffffff811660009081526008602052604090204290555b73ffffffffffffffffffffffffffffffffffffffff8116600090815260076020526040902054421115610de25773ffffffffffffffffffffffffffffffffffffffff811660009081526007602052604090204290555b73ffffffffffffffffffffffffffffffffffffffff81166000908152600760205260408120549003610e375773ffffffffffffffffffffffffffffffffffffffff811660009081526007602052604090204290555b60035473ffffffffffffffffffffffffffffffffffffffff821660009081526007602052604081208054909190610e6f9084906112ed565b909155505060045473ffffffffffffffffffffffffffffffffffffffff8216600090815260076020526040902054610ea791906112ed565b73ffffffffffffffffffffffffffffffffffffffff909116600090815260086020526040902055565b610ed8610ff0565b600355565b610ee5610ff0565b6006610ef1828261137c565b5050565b610efd610ff0565b73ffffffffffffffffffffffffffffffffffffffff8116610fa0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161052b565b610fa981611071565b50565b610fb4610ff0565b6005805473ffffffffffffffffffffffffffffffffffffffff191673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60005473ffffffffffffffffffffffffffffffffffffffff163314610377576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161052b565b6000805473ffffffffffffffffffffffffffffffffffffffff83811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156110ed57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461111157600080fd5b9392505050565b60006020828403121561112a57600080fd5b5035919050565b600060208083528351808285015260005b8181101561115e57858101830151858201604001528201611142565b506000604082860101526040601f19601f8301168501019250505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602082840312156111c057600080fd5b813567ffffffffffffffff808211156111d857600080fd5b818401915084601f8301126111ec57600080fd5b8135818111156111fe576111fe61117f565b604051601f8201601f19908116603f011681019083821181831017156112265761122661117f565b8160405282815287602084870101111561123f57600080fd5b826020860160208301376000928101602001929092525095945050505050565b60028104600182168061127357607f821691505b6020821081036112ac577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000602082840312156112c457600080fd5b5051919050565b6000602082840312156112dd57600080fd5b8151801515811461111157600080fd5b80820180821115611327577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b92915050565b601f821115611377576000818152602081206020601f860104810160208610156113545750805b6020601f860104820191505b8181101561137357828155600101611360565b5050505b505050565b815167ffffffffffffffff8111156113965761139661117f565b6113aa816113a4845461125f565b8461132d565b602080601f8311600181146113e357600084156113c75750858301515b60028086026008870290910a6000190419821617865550611373565b600085815260208120601f198616915b82811015611412578886015182559484019460019091019084016113f3565b508582101561143257878501516008601f88160260020a60001904191681555b505050505060020260010190555056fea26469706673582212200db5a89c87e089b1542069305c0454d889cff9b800be44f545894aac56d54c1764736f6c63430008110033

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.