Latest 25 from a total of 131 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Claim Rewards | 12026567 | 271 days ago | IN | 0 MOVR | 0.00007695 | ||||
| Claim Rewards | 12026276 | 271 days ago | IN | 0 MOVR | 0.00007695 | ||||
| Claim Rewards | 11302679 | 325 days ago | IN | 0 MOVR | 0.00003821 | ||||
| Claim Rewards | 11299953 | 325 days ago | IN | 0 MOVR | 0.00003821 | ||||
| Claim Rewards | 11150892 | 336 days ago | IN | 0 MOVR | 0.00007643 | ||||
| Claim Rewards | 11150887 | 336 days ago | IN | 0 MOVR | 0.00007643 | ||||
| Cooldown | 8986910 | 490 days ago | IN | 0 MOVR | 0.00030458 | ||||
| Cooldown | 8903521 | 496 days ago | IN | 0 MOVR | 0.00030458 | ||||
| Cooldown | 8900647 | 496 days ago | IN | 0 MOVR | 0.00030458 | ||||
| Cooldown | 8773169 | 505 days ago | IN | 0 MOVR | 0.00030458 | ||||
| Redeem | 8602052 | 518 days ago | IN | 0 MOVR | 0.00030588 | ||||
| Claim Rewards | 8575079 | 520 days ago | IN | 0 MOVR | 0.00030588 | ||||
| Redeem | 8517181 | 524 days ago | IN | 0 MOVR | 0.00030588 | ||||
| Claim Rewards | 8507535 | 525 days ago | IN | 0 MOVR | 0.00030588 | ||||
| Cooldown | 8441791 | 529 days ago | IN | 0 MOVR | 0.00030458 | ||||
| Cooldown | 8437297 | 530 days ago | IN | 0 MOVR | 0.00030458 | ||||
| Cooldown | 8421097 | 531 days ago | IN | 0 MOVR | 0.00030458 | ||||
| Claim Rewards | 8421092 | 531 days ago | IN | 0 MOVR | 0.00030588 | ||||
| Claim Rewards | 8399041 | 533 days ago | IN | 0 MOVR | 0.00030588 | ||||
| Claim Rewards | 8359195 | 535 days ago | IN | 0 MOVR | 0.00055058 | ||||
| Cooldown | 8154852 | 550 days ago | IN | 0 MOVR | 0.00030458 | ||||
| Cooldown | 8154847 | 550 days ago | IN | 0 MOVR | 0.00030458 | ||||
| Redeem | 7777592 | 578 days ago | IN | 0 MOVR | 0.00015294 | ||||
| Claim Rewards | 7777581 | 578 days ago | IN | 0 MOVR | 0.00015294 | ||||
| Claim Rewards | 7538856 | 595 days ago | IN | 0 MOVR | 0.00015294 |
View more zero value Internal Transactions in Advanced View mode
Cross-Chain Transactions
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0xac7b31F5...d52aA2E91 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
TokenSaleDistributorProxy
Compiler Version
v0.8.10+commit.fc410830
Optimization Enabled:
Yes with 999999 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// 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");
_;
}
}// 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;
}
}// 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;
}{
"optimizer": {
"enabled": true,
"runs": 999999
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"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"}]Contract Creation Code
0x608060405234801561001057600080fd5b506001600081905580546001600160a01b031916331790556107cf806100376000396000f3fe60806040526004361061007b5760003560e01c80634dd18bf51161004e5780634dd18bf5146101be5780635c60da1b146101de578063709920c11461020b578063f851a440146102205761007b565b806309ed43c91461010457806316ec205c14610126578063267822471461013b578063396f7b2314610191575b60035460405160009173ffffffffffffffffffffffffffffffffffffffff16906100a8908390369061074c565b600060405180830381855af49150503d80600081146100e3576040519150601f19603f3d011682016040523d82523d6000602084013e6100e8565b606091505b505090506040513d806000833e828015610100578183f35b8183fd5b34801561011057600080fd5b5061012461011f36600461075c565b61024d565b005b34801561013257600080fd5b50610124610397565b34801561014757600080fd5b506002546101689073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b34801561019d57600080fd5b506004546101689073ffffffffffffffffffffffffffffffffffffffff1681565b3480156101ca57600080fd5b506101246101d936600461075c565b6104e5565b3480156101ea57600080fd5b506003546101689073ffffffffffffffffffffffffffffffffffffffff1681565b34801561021757600080fd5b5061012461062a565b34801561022c57600080fd5b506001546101689073ffffffffffffffffffffffffffffffffffffffff1681565b60015473ffffffffffffffffffffffffffffffffffffffff1633146102d3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f61646d696e206f6e6c790000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116610350576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f43616e6e6f742073657420746f207a65726f206164647265737300000000000060448201526064016102ca565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60045473ffffffffffffffffffffffffffffffffffffffff16331480156103d5575060045473ffffffffffffffffffffffffffffffffffffffff1615155b610461576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f4f6e6c79207468652070656e64696e6720696d706c656d656e746174696f6e2060448201527f636f6e74726163742063616e2063616c6c20746869730000000000000000000060648201526084016102ca565b600480546003805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff000000000000000000000000000000000000000091821681179092559091169091556040519081527f71c6652673eb67790348b38b966a87b710bf7596bafa96d43f09f9c6872bd5a1906020015b60405180910390a1565b60015473ffffffffffffffffffffffffffffffffffffffff163314610566576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f61646d696e206f6e6c790000000000000000000000000000000000000000000060448201526064016102ca565b73ffffffffffffffffffffffffffffffffffffffff81166105e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f43616e6e6f742073657420746f207a65726f206164647265737300000000000060448201526064016102ca565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60025473ffffffffffffffffffffffffffffffffffffffff1633148015610668575060025473ffffffffffffffffffffffffffffffffffffffff1615155b6106ce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f43616c6c6572206d757374206265207468652070656e64696e672061646d696e60448201526064016102ca565b600280546001805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff000000000000000000000000000000000000000091821681179092559091169091556040519081527f7ce7ec0b50378fb6c0186ffb5f48325f6593fcb4ca4386f21861af3129188f5c906020016104db565b8183823760009101908152919050565b60006020828403121561076e57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461079257600080fd5b939250505056fea2646970667358221220c7718ecb1781452204cf8236d1331667546e394d581d6b9fb05d4a952f83fd5664736f6c634300080a0033
Deployed Bytecode
0x60806040526004361061007b5760003560e01c80634dd18bf51161004e5780634dd18bf5146101be5780635c60da1b146101de578063709920c11461020b578063f851a440146102205761007b565b806309ed43c91461010457806316ec205c14610126578063267822471461013b578063396f7b2314610191575b60035460405160009173ffffffffffffffffffffffffffffffffffffffff16906100a8908390369061074c565b600060405180830381855af49150503d80600081146100e3576040519150601f19603f3d011682016040523d82523d6000602084013e6100e8565b606091505b505090506040513d806000833e828015610100578183f35b8183fd5b34801561011057600080fd5b5061012461011f36600461075c565b61024d565b005b34801561013257600080fd5b50610124610397565b34801561014757600080fd5b506002546101689073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b34801561019d57600080fd5b506004546101689073ffffffffffffffffffffffffffffffffffffffff1681565b3480156101ca57600080fd5b506101246101d936600461075c565b6104e5565b3480156101ea57600080fd5b506003546101689073ffffffffffffffffffffffffffffffffffffffff1681565b34801561021757600080fd5b5061012461062a565b34801561022c57600080fd5b506001546101689073ffffffffffffffffffffffffffffffffffffffff1681565b60015473ffffffffffffffffffffffffffffffffffffffff1633146102d3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f61646d696e206f6e6c790000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116610350576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f43616e6e6f742073657420746f207a65726f206164647265737300000000000060448201526064016102ca565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60045473ffffffffffffffffffffffffffffffffffffffff16331480156103d5575060045473ffffffffffffffffffffffffffffffffffffffff1615155b610461576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f4f6e6c79207468652070656e64696e6720696d706c656d656e746174696f6e2060448201527f636f6e74726163742063616e2063616c6c20746869730000000000000000000060648201526084016102ca565b600480546003805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff000000000000000000000000000000000000000091821681179092559091169091556040519081527f71c6652673eb67790348b38b966a87b710bf7596bafa96d43f09f9c6872bd5a1906020015b60405180910390a1565b60015473ffffffffffffffffffffffffffffffffffffffff163314610566576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f61646d696e206f6e6c790000000000000000000000000000000000000000000060448201526064016102ca565b73ffffffffffffffffffffffffffffffffffffffff81166105e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f43616e6e6f742073657420746f207a65726f206164647265737300000000000060448201526064016102ca565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60025473ffffffffffffffffffffffffffffffffffffffff1633148015610668575060025473ffffffffffffffffffffffffffffffffffffffff1615155b6106ce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f43616c6c6572206d757374206265207468652070656e64696e672061646d696e60448201526064016102ca565b600280546001805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff000000000000000000000000000000000000000091821681179092559091169091556040519081527f7ce7ec0b50378fb6c0186ffb5f48325f6593fcb4ca4386f21861af3129188f5c906020016104db565b8183823760009101908152919050565b60006020828403121561076e57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461079257600080fd5b939250505056fea2646970667358221220c7718ecb1781452204cf8236d1331667546e394d581d6b9fb05d4a952f83fd5664736f6c634300080a0033
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$1,415.54
Net Worth in MOVR
Token Allocations
MFAM
100.00%
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| MOVR | 100.00% | $0.000049 | 28,619,953.7037 | $1,415.54 |
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.