MATIC Price: $0.356625 (-20.93%)
 

Overview

MATIC Balance

Polygon PoS Chain LogoPolygon PoS Chain LogoPolygon PoS Chain Logo0 MATIC

MATIC Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
0x5e5c21022372949f7f56bf0b0165ad9100193baa35232135602bdecbfb5535a4 -(pending)2024-08-05 11:50:121 sec ago1722858612IN
0xa1ea1fB0...7F498C60b
0 MATIC(Pending)(Pending)
Deposit Rewards602214072024-08-05 11:49:5617 secs ago1722858596IN
0xa1ea1fB0...7F498C60b
0 MATIC0.01693137158.25195394
Deposit Rewards602214022024-08-05 11:49:4627 secs ago1722858586IN
0xa1ea1fB0...7F498C60b
0 MATIC0.018051168.71672131
Deposit Rewards602213982024-08-05 11:49:3835 secs ago1722858578IN
0xa1ea1fB0...7F498C60b
0 MATIC0.01494181166.20111457
Deposit Rewards602213512024-08-05 11:47:582 mins ago1722858478IN
0xa1ea1fB0...7F498C60b
0 MATIC0.02507238234.34322815
Deposit Rewards602213452024-08-05 11:47:462 mins ago1722858466IN
0xa1ea1fB0...7F498C60b
0 MATIC0.0266558249.14292437
Deposit Rewards602213402024-08-05 11:47:342 mins ago1722858454IN
0xa1ea1fB0...7F498C60b
0 MATIC0.02798183261.53693223
Deposit Rewards602213352024-08-05 11:47:242 mins ago1722858444IN
0xa1ea1fB0...7F498C60b
0 MATIC0.0271156253.44051887
Deposit Rewards602213302024-08-05 11:47:142 mins ago1722858434IN
0xa1ea1fB0...7F498C60b
0 MATIC0.02060586229.23425729
Deposit Rewards602213272024-08-05 11:47:063 mins ago1722858426IN
0xa1ea1fB0...7F498C60b
0 MATIC0.02612606244.19165786
Deposit Rewards602213232024-08-05 11:46:583 mins ago1722858418IN
0xa1ea1fB0...7F498C60b
0 MATIC0.02166412241.00708403
Deposit Rewards602213182024-08-05 11:46:483 mins ago1722858408IN
0xa1ea1fB0...7F498C60b
0 MATIC0.01961719218.23558335
Deposit Rewards602213122024-08-05 11:46:363 mins ago1722858396IN
0xa1ea1fB0...7F498C60b
0 MATIC0.01949781216.87855854
Deposit Rewards602213072024-08-05 11:46:243 mins ago1722858384IN
0xa1ea1fB0...7F498C60b
0 MATIC0.02511943234.78305918
Deposit Rewards602213022024-08-05 11:46:143 mins ago1722858374IN
0xa1ea1fB0...7F498C60b
0 MATIC0.02149143239.08593308
Deposit Rewards602212962024-08-05 11:46:024 mins ago1722858362IN
0xa1ea1fB0...7F498C60b
0 MATIC0.02465414230.43410266
Deposit Rewards602212912024-08-05 11:45:504 mins ago1722858350IN
0xa1ea1fB0...7F498C60b
0 MATIC0.02451812229.16275598
Deposit Rewards602212862024-08-05 11:45:404 mins ago1722858340IN
0xa1ea1fB0...7F498C60b
0 MATIC0.02586691241.76947188
Deposit Rewards602212812024-08-05 11:45:304 mins ago1722858330IN
0xa1ea1fB0...7F498C60b
0 MATIC0.02178591242.32960474
Deposit Rewards602212772024-08-05 11:45:204 mins ago1722858320IN
0xa1ea1fB0...7F498C60b
0 MATIC0.02011637223.75897336
Deposit Rewards602212732024-08-05 11:45:125 mins ago1722858312IN
0xa1ea1fB0...7F498C60b
0 MATIC0.02457055229.62707889
Deposit Rewards602212692024-08-05 11:45:045 mins ago1722858304IN
0xa1ea1fB0...7F498C60b
0 MATIC0.02502966233.94394193
Deposit Rewards602212602024-08-05 11:44:385 mins ago1722858278IN
0xa1ea1fB0...7F498C60b
0 MATIC0.01965191218.65104531
Deposit Rewards602212562024-08-05 11:44:225 mins ago1722858262IN
0xa1ea1fB0...7F498C60b
0 MATIC0.02197242205.36897114
Deposit Rewards602212532024-08-05 11:44:106 mins ago1722858250IN
0xa1ea1fB0...7F498C60b
0 MATIC0.02091023195.44103587
View all transactions

Parent Transaction Hash Block From To
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Rewards

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 2 : Rewards.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.17;

import "@openzeppelin/contracts/security/ReentrancyGuard.sol";

interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address to, uint256 amount) external returns (bool);
    function transferFrom(address from, address to, uint256 amount) external returns (bool);
}

contract Rewards is ReentrancyGuard {
    mapping(bytes32 => bool) private rewardsPaid;
    mapping(address => uint256) private rewardsBalance;
    IERC20 private immutable i_token;
    address private s_owner;
    uint256 private s_totalRewards;

    event RewardsPaid(address indexed sender, address indexed receiver, uint256 indexed amount);

    error Rewards__OnlyOwner();
    error Rewards__IncorrectAddress();
    error Rewards__AlreadyPaid();
    error Rewards__InvalidAmount();
    error Rewards__NoBalance();
    error Rewards__Transferfailed();

    constructor(address owner, address token) {
        s_owner = owner;
        i_token = IERC20(token);
    }

    modifier onlyOwner() {
        if (msg.sender != s_owner) {
            revert Rewards__OnlyOwner();
        }
        _;
    }

    modifier amountIsValid(uint256 amount) {
        if (!(amount > 0)) {
            revert Rewards__InvalidAmount();
        }
        _;
    }

    function transferOwnership(address newOwner) public onlyOwner {
        if (newOwner == address(0)) revert Rewards__IncorrectAddress();
        s_owner = newOwner;
    }

    function depositRewards(address receiver, uint256 amount, bytes32 rewardId) public amountIsValid(amount) nonReentrant {
        if (rewardsPaid[rewardId]) revert Rewards__AlreadyPaid();
        if (receiver == address(0)) revert Rewards__IncorrectAddress();
        rewardsPaid[rewardId] = true;
        rewardsBalance[receiver] += amount;
        s_totalRewards += amount;
        bool success = i_token.transferFrom(msg.sender, address(this), amount);
        if (!success) revert Rewards__Transferfailed();
        emit RewardsPaid(msg.sender, receiver, amount);
    }

    function sendTips(address receiver, uint256 amount) public amountIsValid(amount) {
        if (amount > rewardsBalance[msg.sender]) revert Rewards__NoBalance();
        if (amount > s_totalRewards) revert Rewards__NoBalance();
        if (receiver == address(0)) revert Rewards__IncorrectAddress();
        rewardsBalance[msg.sender] -= amount;
        rewardsBalance[receiver] += amount;
        emit RewardsPaid(msg.sender, receiver, amount);
    }

    function useRewards(uint256 stake) public amountIsValid(stake) nonReentrant {
        uint256 usdtBalance = i_token.balanceOf(msg.sender);
        uint256 rewardsBal = rewardsBalance[msg.sender];
        if (!(rewardsBal > 0)) revert Rewards__NoBalance();
        if (!(s_totalRewards > 0)) revert Rewards__NoBalance();
        if (stake > rewardsBal + usdtBalance) revert Rewards__NoBalance();
        uint256 rewardsToSubtract = rewardsBal >= stake ? stake : rewardsBal;
        rewardsBalance[msg.sender] -= rewardsToSubtract;
        s_totalRewards -= rewardsToSubtract;
        bool success = i_token.transfer(msg.sender, rewardsToSubtract);
        if (!success) revert Rewards__Transferfailed();
    }

    function withdrawRewards(address userAddress, uint256 amount) public onlyOwner {
        if (amount > rewardsBalance[userAddress]) revert Rewards__NoBalance();
        if (amount > s_totalRewards) revert Rewards__NoBalance();
        rewardsBalance[userAddress] -= amount;
        s_totalRewards -= amount;
        bool success = i_token.transfer(s_owner, amount);
        if (!success) revert Rewards__Transferfailed();
    }

    function getOwner() public view returns (address) {
        return s_owner;
    }

    function getUserRewards(address userAddress) public view returns (uint256) {
        return rewardsBalance[userAddress];
    }

    function getTotalRewards() public view returns (uint256) {
        return s_totalRewards;
    }

    function isRewardsPaid(bytes32 rewardId) public view returns (bool) {
        return rewardsPaid[rewardId];
    }
}

File 2 of 2 : ReentrancyGuard.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.8.0) (security/ReentrancyGuard.sol)

pragma solidity ^0.8.0;

/**
 * @dev Contract module that helps prevent reentrant calls to a function.
 *
 * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier
 * available, which can be applied to functions to make sure there are no nested
 * (reentrant) calls to them.
 *
 * Note that because there is a single `nonReentrant` guard, functions marked as
 * `nonReentrant` may not call one another. This can be worked around by making
 * those functions `private`, and then adding `external` `nonReentrant` entry
 * points to them.
 *
 * TIP: If you would like to learn more about reentrancy and alternative ways
 * to protect against it, check out our blog post
 * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].
 */
abstract contract ReentrancyGuard {
    // Booleans are more expensive than uint256 or any type that takes up a full
    // word because each write operation emits an extra SLOAD to first read the
    // slot's contents, replace the bits taken up by the boolean, and then write
    // back. This is the compiler's defense against contract upgrades and
    // pointer aliasing, and it cannot be disabled.

    // The values being non-zero value makes deployment a bit more expensive,
    // but in exchange the refund on every call to nonReentrant will be lower in
    // amount. Since refunds are capped to a percentage of the total
    // transaction's gas, it is best to keep them low in cases like this one, to
    // increase the likelihood of the full refund coming into effect.
    uint256 private constant _NOT_ENTERED = 1;
    uint256 private constant _ENTERED = 2;

    uint256 private _status;

    constructor() {
        _status = _NOT_ENTERED;
    }

    /**
     * @dev Prevents a contract from calling itself, directly or indirectly.
     * Calling a `nonReentrant` function from another `nonReentrant`
     * function is not supported. It is possible to prevent this from happening
     * by making the `nonReentrant` function external, and making it call a
     * `private` function that does the actual work.
     */
    modifier nonReentrant() {
        _nonReentrantBefore();
        _;
        _nonReentrantAfter();
    }

    function _nonReentrantBefore() private {
        // On the first call to nonReentrant, _status will be _NOT_ENTERED
        require(_status != _ENTERED, "ReentrancyGuard: reentrant call");

        // Any calls to nonReentrant after this point will fail
        _status = _ENTERED;
    }

    function _nonReentrantAfter() private {
        // By storing the original value once again, a refund is triggered (see
        // https://eips.ethereum.org/EIPS/eip-2200)
        _status = _NOT_ENTERED;
    }
}

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "metadata": {
    "useLiteralContent": true
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"token","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"Rewards__AlreadyPaid","type":"error"},{"inputs":[],"name":"Rewards__IncorrectAddress","type":"error"},{"inputs":[],"name":"Rewards__InvalidAmount","type":"error"},{"inputs":[],"name":"Rewards__NoBalance","type":"error"},{"inputs":[],"name":"Rewards__OnlyOwner","type":"error"},{"inputs":[],"name":"Rewards__Transferfailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":true,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"RewardsPaid","type":"event"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"rewardId","type":"bytes32"}],"name":"depositRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"rewardId","type":"bytes32"}],"name":"isRewardsPaid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"sendTips","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"stake","type":"uint256"}],"name":"useRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawRewards","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60a06040523480156200001157600080fd5b506040516200157e3803806200157e833981810160405281019062000037919062000126565b600160008190555081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505050506200016d565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620000ee82620000c1565b9050919050565b6200010081620000e1565b81146200010c57600080fd5b50565b6000815190506200012081620000f5565b92915050565b6000806040838503121562000140576200013f620000bc565b5b600062000150858286016200010f565b925050602062000163858286016200010f565b9150509250929050565b6080516113e06200019e600039600081816103a8015281816106eb01528181610a9a0152610cba01526113e06000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063d6ef7af011610066578063d6ef7af014610132578063e627f2db1461014e578063eaef55531461016c578063f0c11c7b14610188578063f2fde38b146101a457610093565b8063078b0fb7146100985780634ff7c72d146100c8578063893d20e8146100e4578063be92906b14610102575b600080fd5b6100b260048036038101906100ad9190610f8b565b6101c0565b6040516100bf9190610fd1565b60405180910390f35b6100e260048036038101906100dd919061104e565b610209565b005b6100ec6104e9565b6040516100f991906110b0565b60405180910390f35b61011c600480360381019061011791906110cb565b610513565b6040516101299190611113565b60405180910390f35b61014c6004803603810190610147919061112e565b61053d565b005b6101566107e7565b6040516101639190610fd1565b60405180910390f35b6101866004803603810190610181919061112e565b6107f1565b005b6101a2600480360381019061019d919061116e565b610a53565b005b6101be60048036038101906101b99190610f8b565b610d9f565b005b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b8160008111610244576040517f37773b3000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61024c610ecf565b6001600083815260200190815260200160002060009054906101000a900460ff16156102a4576040517fe40b1ff900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361030a576040517fbdf039c400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180600084815260200190815260200160002060006101000a81548160ff02191690831515021790555082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461038491906111ca565b92505081905550826004600082825461039d91906111ca565b9250508190555060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876040518463ffffffff1660e01b8152600401610403939291906111fe565b6020604051808303816000875af1158015610422573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104469190611261565b90508061047f576040517f49c1620f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f626f8f3c00d88f1688098a6dbcbe3aadbe1543112d7d46abb7b0201e83b492fb60405160405180910390a4506104e3610f1e565b50505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006001600083815260200190815260200160002060009054906101000a900460ff169050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105c3576040517e32bb7a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111561063c576040517f5fa7eaec00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600454811115610678576040517f5fa7eaec00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106c7919061128e565b9250508190555080600460008282546106e0919061128e565b9250508190555060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b81526004016107669291906112c2565b6020604051808303816000875af1158015610785573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a99190611261565b9050806107e2576040517f49c1620f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6000600454905090565b806000811161082c576040517f37773b3000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156108a5576040517f5fa7eaec00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004548211156108e1576040517f5fa7eaec00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610947576040517fbdf039c400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610996919061128e565b9250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109ec91906111ca565b92505081905550818373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f626f8f3c00d88f1688098a6dbcbe3aadbe1543112d7d46abb7b0201e83b492fb60405160405180910390a4505050565b8060008111610a8e576040517f37773b3000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a96610ecf565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b8152600401610af191906110b0565b602060405180830381865afa158015610b0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b329190611300565b90506000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008111610bb2576040517f5fa7eaec00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060045411610bee576040517f5fa7eaec00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181610bfa91906111ca565b841115610c33576040517f5fa7eaec00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084821015610c435781610c45565b845b905080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c96919061128e565b925050819055508060046000828254610caf919061128e565b9250508190555060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401610d139291906112c2565b6020604051808303816000875af1158015610d32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d569190611261565b905080610d8f576040517f49c1620f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050610d9b610f1e565b5050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e25576040517e32bb7a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e8b576040517fbdf039c400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260005403610f14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0b9061138a565b60405180910390fd5b6002600081905550565b6001600081905550565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610f5882610f2d565b9050919050565b610f6881610f4d565b8114610f7357600080fd5b50565b600081359050610f8581610f5f565b92915050565b600060208284031215610fa157610fa0610f28565b5b6000610faf84828501610f76565b91505092915050565b6000819050919050565b610fcb81610fb8565b82525050565b6000602082019050610fe66000830184610fc2565b92915050565b610ff581610fb8565b811461100057600080fd5b50565b60008135905061101281610fec565b92915050565b6000819050919050565b61102b81611018565b811461103657600080fd5b50565b60008135905061104881611022565b92915050565b60008060006060848603121561106757611066610f28565b5b600061107586828701610f76565b935050602061108686828701611003565b925050604061109786828701611039565b9150509250925092565b6110aa81610f4d565b82525050565b60006020820190506110c560008301846110a1565b92915050565b6000602082840312156110e1576110e0610f28565b5b60006110ef84828501611039565b91505092915050565b60008115159050919050565b61110d816110f8565b82525050565b60006020820190506111286000830184611104565b92915050565b6000806040838503121561114557611144610f28565b5b600061115385828601610f76565b925050602061116485828601611003565b9150509250929050565b60006020828403121561118457611183610f28565b5b600061119284828501611003565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006111d582610fb8565b91506111e083610fb8565b92508282019050808211156111f8576111f761119b565b5b92915050565b600060608201905061121360008301866110a1565b61122060208301856110a1565b61122d6040830184610fc2565b949350505050565b61123e816110f8565b811461124957600080fd5b50565b60008151905061125b81611235565b92915050565b60006020828403121561127757611276610f28565b5b60006112858482850161124c565b91505092915050565b600061129982610fb8565b91506112a483610fb8565b92508282039050818111156112bc576112bb61119b565b5b92915050565b60006040820190506112d760008301856110a1565b6112e46020830184610fc2565b9392505050565b6000815190506112fa81610fec565b92915050565b60006020828403121561131657611315610f28565b5b6000611324848285016112eb565b91505092915050565b600082825260208201905092915050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000611374601f8361132d565b915061137f8261133e565b602082019050919050565b600060208201905081810360008301526113a381611367565b905091905056fea264697066735822122062cfab68c94208ce7e7b67368c272f28f4dcf3ca18eac4fcc2b38c7cc9ebce4464736f6c634300081100330000000000000000000000003dbb1579009c992d9aafd8f524e1b19374c5f6cd000000000000000000000000c2132d05d31c914a87c6611c10748aeb04b58e8f

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100935760003560e01c8063d6ef7af011610066578063d6ef7af014610132578063e627f2db1461014e578063eaef55531461016c578063f0c11c7b14610188578063f2fde38b146101a457610093565b8063078b0fb7146100985780634ff7c72d146100c8578063893d20e8146100e4578063be92906b14610102575b600080fd5b6100b260048036038101906100ad9190610f8b565b6101c0565b6040516100bf9190610fd1565b60405180910390f35b6100e260048036038101906100dd919061104e565b610209565b005b6100ec6104e9565b6040516100f991906110b0565b60405180910390f35b61011c600480360381019061011791906110cb565b610513565b6040516101299190611113565b60405180910390f35b61014c6004803603810190610147919061112e565b61053d565b005b6101566107e7565b6040516101639190610fd1565b60405180910390f35b6101866004803603810190610181919061112e565b6107f1565b005b6101a2600480360381019061019d919061116e565b610a53565b005b6101be60048036038101906101b99190610f8b565b610d9f565b005b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b8160008111610244576040517f37773b3000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61024c610ecf565b6001600083815260200190815260200160002060009054906101000a900460ff16156102a4576040517fe40b1ff900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361030a576040517fbdf039c400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180600084815260200190815260200160002060006101000a81548160ff02191690831515021790555082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461038491906111ca565b92505081905550826004600082825461039d91906111ca565b9250508190555060007f000000000000000000000000c2132d05d31c914a87c6611c10748aeb04b58e8f73ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876040518463ffffffff1660e01b8152600401610403939291906111fe565b6020604051808303816000875af1158015610422573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104469190611261565b90508061047f576040517f49c1620f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f626f8f3c00d88f1688098a6dbcbe3aadbe1543112d7d46abb7b0201e83b492fb60405160405180910390a4506104e3610f1e565b50505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006001600083815260200190815260200160002060009054906101000a900460ff169050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105c3576040517e32bb7a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111561063c576040517f5fa7eaec00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600454811115610678576040517f5fa7eaec00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106c7919061128e565b9250508190555080600460008282546106e0919061128e565b9250508190555060007f000000000000000000000000c2132d05d31c914a87c6611c10748aeb04b58e8f73ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b81526004016107669291906112c2565b6020604051808303816000875af1158015610785573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a99190611261565b9050806107e2576040517f49c1620f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6000600454905090565b806000811161082c576040517f37773b3000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156108a5576040517f5fa7eaec00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004548211156108e1576040517f5fa7eaec00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610947576040517fbdf039c400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610996919061128e565b9250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109ec91906111ca565b92505081905550818373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f626f8f3c00d88f1688098a6dbcbe3aadbe1543112d7d46abb7b0201e83b492fb60405160405180910390a4505050565b8060008111610a8e576040517f37773b3000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a96610ecf565b60007f000000000000000000000000c2132d05d31c914a87c6611c10748aeb04b58e8f73ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b8152600401610af191906110b0565b602060405180830381865afa158015610b0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b329190611300565b90506000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008111610bb2576040517f5fa7eaec00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060045411610bee576040517f5fa7eaec00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181610bfa91906111ca565b841115610c33576040517f5fa7eaec00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084821015610c435781610c45565b845b905080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c96919061128e565b925050819055508060046000828254610caf919061128e565b9250508190555060007f000000000000000000000000c2132d05d31c914a87c6611c10748aeb04b58e8f73ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401610d139291906112c2565b6020604051808303816000875af1158015610d32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d569190611261565b905080610d8f576040517f49c1620f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050610d9b610f1e565b5050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e25576040517e32bb7a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e8b576040517fbdf039c400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260005403610f14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0b9061138a565b60405180910390fd5b6002600081905550565b6001600081905550565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610f5882610f2d565b9050919050565b610f6881610f4d565b8114610f7357600080fd5b50565b600081359050610f8581610f5f565b92915050565b600060208284031215610fa157610fa0610f28565b5b6000610faf84828501610f76565b91505092915050565b6000819050919050565b610fcb81610fb8565b82525050565b6000602082019050610fe66000830184610fc2565b92915050565b610ff581610fb8565b811461100057600080fd5b50565b60008135905061101281610fec565b92915050565b6000819050919050565b61102b81611018565b811461103657600080fd5b50565b60008135905061104881611022565b92915050565b60008060006060848603121561106757611066610f28565b5b600061107586828701610f76565b935050602061108686828701611003565b925050604061109786828701611039565b9150509250925092565b6110aa81610f4d565b82525050565b60006020820190506110c560008301846110a1565b92915050565b6000602082840312156110e1576110e0610f28565b5b60006110ef84828501611039565b91505092915050565b60008115159050919050565b61110d816110f8565b82525050565b60006020820190506111286000830184611104565b92915050565b6000806040838503121561114557611144610f28565b5b600061115385828601610f76565b925050602061116485828601611003565b9150509250929050565b60006020828403121561118457611183610f28565b5b600061119284828501611003565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006111d582610fb8565b91506111e083610fb8565b92508282019050808211156111f8576111f761119b565b5b92915050565b600060608201905061121360008301866110a1565b61122060208301856110a1565b61122d6040830184610fc2565b949350505050565b61123e816110f8565b811461124957600080fd5b50565b60008151905061125b81611235565b92915050565b60006020828403121561127757611276610f28565b5b60006112858482850161124c565b91505092915050565b600061129982610fb8565b91506112a483610fb8565b92508282039050818111156112bc576112bb61119b565b5b92915050565b60006040820190506112d760008301856110a1565b6112e46020830184610fc2565b9392505050565b6000815190506112fa81610fec565b92915050565b60006020828403121561131657611315610f28565b5b6000611324848285016112eb565b91505092915050565b600082825260208201905092915050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000611374601f8361132d565b915061137f8261133e565b602082019050919050565b600060208201905081810360008301526113a381611367565b905091905056fea264697066735822122062cfab68c94208ce7e7b67368c272f28f4dcf3ca18eac4fcc2b38c7cc9ebce4464736f6c63430008110033

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

0000000000000000000000003dbb1579009c992d9aafd8f524e1b19374c5f6cd000000000000000000000000c2132d05d31c914a87c6611c10748aeb04b58e8f

-----Decoded View---------------
Arg [0] : owner (address): 0x3dbB1579009C992D9aAfD8f524E1B19374C5f6cd
Arg [1] : token (address): 0xc2132D05D31c914a87C6611C10748AEb04B58e8F

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000003dbb1579009c992d9aafd8f524e1b19374c5f6cd
Arg [1] : 000000000000000000000000c2132d05d31c914a87c6611c10748aeb04b58e8f


Block Transaction 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
[ 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.