Contract 0x933fcdf708481c57e9fd82f6baa084f42e98b60e

Contract Overview

Moonwell Artemis: Claims Contract V1
Balance:
0 GLMR

GLMR Value:
$0.00

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x530c05e590054ad828393d1d48e3d0c5f41b512273ce4e33fdd0e7b8c3f4ea29Claim49675322023-11-28 16:40:541 day 21 hrs ago0x6f4dddc32b0ee9a91480169f7e14b8c00d9eea81 IN  Moonwell Artemis: Claims Contract V10 GLMR0.0139412245
0x425939cae28b5e0dc0d369b137343895a70fe15456478cd9cd2fb0234d69d350Claim49662002023-11-28 12:12:542 days 2 hrs ago0xf1e15ae582695ab3e5ad4a6c795cdb4fa945cd7e IN  Moonwell Artemis: Claims Contract V10 GLMR0.0193214835
0x47dfa76888b48c8f6c1477304550f6b27a1aa8cfc280d293c5e97e3a89d3a4bcClaim49641862023-11-28 5:28:122 days 8 hrs ago0x6a9ee69b6781c18164ee9f7c58f1763bcffc7c51 IN  Moonwell Artemis: Claims Contract V10 GLMR0.009762
0x97d30e3ce8411ad20584a14f7aa1c3377c696186ef5ef3ea7d3a64f1596d7838Claim49641862023-11-28 5:28:122 days 8 hrs ago0x6a9ee69b6781c18164ee9f7c58f1763bcffc7c51 IN  Moonwell Artemis: Claims Contract V10 GLMR0.009762
0xd438c770c740ec812335486c6efa1c1ea2f982b6cdcaff6b58ccbe19f04e0cceClaim49641862023-11-28 5:28:122 days 8 hrs ago0x6a9ee69b6781c18164ee9f7c58f1763bcffc7c51 IN  Moonwell Artemis: Claims Contract V10 GLMR0.009762
0xd9103e16dafa93d44fd275a463fbcbc3dda8f56fa3b65dfc781aa62e8e898717Claim49641862023-11-28 5:28:122 days 8 hrs ago0x6a9ee69b6781c18164ee9f7c58f1763bcffc7c51 IN  Moonwell Artemis: Claims Contract V10 GLMR0.009762
0x17ae97aabeeae0a2ae768ca5af0eb05f2ecf82f2775f01177909b618baa4582aClaim49616212023-11-27 20:51:482 days 17 hrs ago0x820b45a13c455bec7ef1c287ce77c474343214ff IN  Moonwell Artemis: Claims Contract V10 GLMR0.017133525
0xd7450eb7cb0c538de64396d3beb06ae2df0fa98ff5c0a6619ada9174d64cbd76Claim49613172023-11-27 19:50:542 days 18 hrs ago0x930dab128ee82c5eadac116bd1a7f0618110aadb IN  Moonwell Artemis: Claims Contract V10 GLMR0.021636626712
0x70d740729a597893ccd84e6ab8fc334f8237f0fff744b610f5e1bfc3690e6e58Claim49609602023-11-27 18:38:302 days 19 hrs ago0xe01bf95f229d0763bc3287550745dc370b0d3cf3 IN  Moonwell Artemis: Claims Contract V10 GLMR0.02793825
0x7485964aa523c9c6a48661f0ac478a2d57848a3fae5a66e4ea48e4d2fd915d90Claim49609522023-11-27 18:36:552 days 19 hrs ago0xbdc2cd8604debdb8fbc330f41aa5d3d153a43d07 IN  Moonwell Artemis: Claims Contract V10 GLMR0.019070744474
0x7b56080a0abdb60610069c6b62eb0fadc97c635132809f3967c57426b78d8581Claim49609432023-11-27 18:35:062 days 19 hrs ago0x26b230c78ed6423fd9653b7b671fc5a4c748dfc6 IN  Moonwell Artemis: Claims Contract V10 GLMR0.017133525
0x082cf3ad1c0c117a668a67da5e3c95939c277cfb7b42ad0de9ffa94b9893f0c0Claim49609342023-11-27 18:33:182 days 19 hrs ago0x7f043f21bf06ada3bbd4b0ef699429c6c19b163e IN  Moonwell Artemis: Claims Contract V10 GLMR0.017133525
0x9fbbbe7910657f57bcfb8e02fa638e01b4ac487026b13b2e20d9286df73ce4b0Claim49607912023-11-27 18:04:362 days 20 hrs ago0xd4f8943597fafe570a57f9381ccbea7093309b93 IN  Moonwell Artemis: Claims Contract V10 GLMR0.023490038
0x6a0679f6f5937b5e365c20f5b22d123d4065548a43bb08d9730d698d29a77c15Claim49600862023-11-27 15:41:542 days 22 hrs ago0xbc29c8296fc2e755cf989870ae8f3808b175a031 IN  Moonwell Artemis: Claims Contract V10 GLMR0.02793825
0x5e485245e80da91442c4bf06e9997a84434389bddd8140cad66866d7127a03c2Claim49600452023-11-27 15:33:062 days 22 hrs ago0xa48a628d26be1fa053352a2026bb614f328219fa IN  Moonwell Artemis: Claims Contract V10 GLMR0.017133525
0xa0118a9357ef598a662388f7376db723163882d0dcb93c2712ccf4767e030576Claim49600392023-11-27 15:31:482 days 22 hrs ago0xeb43107788bc9be69ebf3aca6640d671ff628fa0 IN  Moonwell Artemis: Claims Contract V10 GLMR0.025052625
0x2e01084ad1464897fa03500fd0ea4174d5b9a3412b0c12f1cb8ed9fbbea904c0Claim49600342023-11-27 15:30:482 days 22 hrs ago0x5539b68f05b4c76e43cbbe8772ca5ee9cebe487b IN  Moonwell Artemis: Claims Contract V10 GLMR0.02793825
0xd0a232fce8301ce7ca1c9b9fcf5b38a3358025042adca9d3f6954cabd82e6d69Claim49600222023-11-27 15:28:242 days 22 hrs ago0x7740b81882ed51cdf70fccf76d885d06d96199ee IN  Moonwell Artemis: Claims Contract V10 GLMR0.017146712968
0x8d9ffe83c2779e9efddb75d979173d6c6926d4c78b6762fc45b1a4d610a182caClaim49600082023-11-27 15:25:362 days 22 hrs ago0x5adb6e4c4ada46c133d5ffb54fb490928ceadd05 IN  Moonwell Artemis: Claims Contract V10 GLMR0.022571746492
0xf50860fd7e9fe8362170ce15663d2af05a229ebebeef812632d4e0a753d0b1f3Claim49553312023-11-26 23:43:543 days 14 hrs ago0xba16b2a9a44e0b8642b44a62152b14defc6c81f3 IN  Moonwell Artemis: Claims Contract V10 GLMR0.019530744439
0xb5ebb678b44be908a99ff0cf77899e0954e440f37592c604d48c0201172ab9adClaim49536542023-11-26 18:05:303 days 20 hrs ago0x47c3eb3dcdd524c2508da649d08f94571dcd398a IN  Moonwell Artemis: Claims Contract V10 GLMR0.019000968587
0x02cee6cce3260daba02e10c130a05b50b02aa941132f339bb0fcd5ac94fd978cClaim49533112023-11-26 16:56:363 days 21 hrs ago0xbd356f99ce1b1435d41cd5f0e9f28743f5ee1b09 IN  Moonwell Artemis: Claims Contract V10 GLMR0.018797700407
0xe75527dd64d8a145d92348a3ba4ad50f2c580989dfa8877d06b634f320dfe5e2Claim49521752023-11-26 13:04:364 days 1 hr ago0x9fbd92753c1d761e1d4fcc06f9affe1c1b9cd009 IN  Moonwell Artemis: Claims Contract V10 GLMR0.013852238415
0xabe669e75864f90b7fb01e1a5e906bf44d72b274bcf734f177577e319f8ae81fClaim49486742023-11-26 1:20:364 days 12 hrs ago0xcc938ba54ac9dc4394f2d7de2f8ade0464278092 IN  Moonwell Artemis: Claims Contract V10 GLMR0.025395470035
0xe2db952572d930e84cd62c0fd3208cda7a40b5e9e1c4d069748668df2d3e83b1Claim49447182023-11-25 12:02:245 days 2 hrs ago0x9cf13c40064bb76425c596d71965c5b4befd5fe7 IN  Moonwell Artemis: Claims Contract V10 GLMR0.023490038
[ Download CSV Export 
Parent Txn Hash Block From To Value
Index Block
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TokenSaleDistributorProxy

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
Yes with 999999 runs

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

pragma solidity 0.8.10;

import "./ReentrancyGuard.sol";
import "./TokenSaleDistributorProxyStorage.sol";

contract TokenSaleDistributorProxy is ReentrancyGuard, TokenSaleDistributorProxyStorage {
    /** The admin was changed  */
    event AdminChanged(address newAdmin);

    /** The implementation was changed */
    event ImplChanged(address newImpl);

    constructor() public {
        admin = msg.sender;
    }

    /**
     * Request a new admin to be set for the contract.
     *
     * @param newAdmin New admin address
     */
    function setPendingAdmin(address newAdmin) public adminOnly {
        require(newAdmin != address(0), "Cannot set to zero address");
        pendingAdmin = newAdmin;
    }

    /**
     * Accept admin transfer from the current admin to the new.
     */
    function acceptPendingAdmin() public {
        require(msg.sender == pendingAdmin && pendingAdmin != address(0), "Caller must be the pending admin");

        admin = pendingAdmin;
        pendingAdmin = address(0);

        emit AdminChanged(admin);
    }

    /**
     * Request a new implementation to be set for the contract.
     *
     * @param newImplementation New contract implementation contract address
     */
    function setPendingImplementation(address newImplementation) public adminOnly {
        require(newImplementation != address(0), "Cannot set to zero address");
        pendingImplementation = newImplementation;
    }

    /**
     * Accept pending implementation change
     */
    function acceptPendingImplementation() public {
        require(msg.sender == pendingImplementation && pendingImplementation != address(0), "Only the pending implementation contract can call this");

        implementation = pendingImplementation;
        pendingImplementation = address(0);

        emit ImplChanged(implementation);
    }

    fallback() payable external {
        (bool success, ) = implementation.delegatecall(msg.data);

        assembly {
            let free_mem_ptr := mload(0x40)
            let size := returndatasize()
            returndatacopy(free_mem_ptr, 0, size)

            switch success
            case 0 { revert(free_mem_ptr, size) }
            default { return(free_mem_ptr, size) }
        }
    }

    /********************************************************
     *                                                      *
     *                      MODIFIERS                       *
     *                                                      *
     ********************************************************/

    modifier adminOnly {
        require(msg.sender == admin, "admin only");
        _;
    }
}

File 2 of 3 : ReentrancyGuard.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.10;

/**
 * @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].
 */
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() public {
        _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 make it call a
     * `private` function that does the actual work.
     */
    modifier nonReentrant() {
        // On the first call to nonReentrant, _notEntered will be true
        require(_status != _ENTERED, "ReentrancyGuard: reentrant call");

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

        _;

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

File 3 of 3 : TokenSaleDistributorProxyStorage.sol
// SPDX-License-Identifier: MIT

pragma solidity 0.8.10;

contract TokenSaleDistributorProxyStorage {
    // Current contract admin address
    address public admin;

    // Requested new admin for the contract
    address public pendingAdmin;

    // Current contract implementation address
    address public implementation;

    // Requested new contract implementation address
    address public pendingImplementation;
}

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

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newImpl","type":"address"}],"name":"ImplChanged","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"acceptPendingAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"acceptPendingImplementation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingImplementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"setPendingAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"setPendingImplementation","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b506001600081905580546001600160a01b031916331790556107cf806100376000396000f3fe60806040526004361061007b5760003560e01c80634dd18bf51161004e5780634dd18bf5146101be5780635c60da1b146101de578063709920c11461020b578063f851a440146102205761007b565b806309ed43c91461010457806316ec205c14610126578063267822471461013b578063396f7b2314610191575b60035460405160009173ffffffffffffffffffffffffffffffffffffffff16906100a8908390369061074c565b600060405180830381855af49150503d80600081146100e3576040519150601f19603f3d011682016040523d82523d6000602084013e6100e8565b606091505b505090506040513d806000833e828015610100578183f35b8183fd5b34801561011057600080fd5b5061012461011f36600461075c565b61024d565b005b34801561013257600080fd5b50610124610397565b34801561014757600080fd5b506002546101689073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b34801561019d57600080fd5b506004546101689073ffffffffffffffffffffffffffffffffffffffff1681565b3480156101ca57600080fd5b506101246101d936600461075c565b6104e5565b3480156101ea57600080fd5b506003546101689073ffffffffffffffffffffffffffffffffffffffff1681565b34801561021757600080fd5b5061012461062a565b34801561022c57600080fd5b506001546101689073ffffffffffffffffffffffffffffffffffffffff1681565b60015473ffffffffffffffffffffffffffffffffffffffff1633146102d3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f61646d696e206f6e6c790000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116610350576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f43616e6e6f742073657420746f207a65726f206164647265737300000000000060448201526064016102ca565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60045473ffffffffffffffffffffffffffffffffffffffff16331480156103d5575060045473ffffffffffffffffffffffffffffffffffffffff1615155b610461576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f4f6e6c79207468652070656e64696e6720696d706c656d656e746174696f6e2060448201527f636f6e74726163742063616e2063616c6c20746869730000000000000000000060648201526084016102ca565b600480546003805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff000000000000000000000000000000000000000091821681179092559091169091556040519081527f71c6652673eb67790348b38b966a87b710bf7596bafa96d43f09f9c6872bd5a1906020015b60405180910390a1565b60015473ffffffffffffffffffffffffffffffffffffffff163314610566576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f61646d696e206f6e6c790000000000000000000000000000000000000000000060448201526064016102ca565b73ffffffffffffffffffffffffffffffffffffffff81166105e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f43616e6e6f742073657420746f207a65726f206164647265737300000000000060448201526064016102ca565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60025473ffffffffffffffffffffffffffffffffffffffff1633148015610668575060025473ffffffffffffffffffffffffffffffffffffffff1615155b6106ce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f43616c6c6572206d757374206265207468652070656e64696e672061646d696e60448201526064016102ca565b600280546001805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff000000000000000000000000000000000000000091821681179092559091169091556040519081527f7ce7ec0b50378fb6c0186ffb5f48325f6593fcb4ca4386f21861af3129188f5c906020016104db565b8183823760009101908152919050565b60006020828403121561076e57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461079257600080fd5b939250505056fea2646970667358221220c7718ecb1781452204cf8236d1331667546e394d581d6b9fb05d4a952f83fd5664736f6c634300080a0033

Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.