Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 25 from a total of 140 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Batch Mint | 20697408 | 545 days ago | IN | 0 ETH | 0.01282324 | ||||
| Admin Refund | 20692453 | 546 days ago | IN | 0 ETH | 0.00537348 | ||||
| Mint | 20691583 | 546 days ago | IN | 0 ETH | 0.00119323 | ||||
| Mint | 20691580 | 546 days ago | IN | 0 ETH | 0.00122789 | ||||
| Mint | 20691574 | 546 days ago | IN | 0 ETH | 0.00115441 | ||||
| Mint | 20690964 | 546 days ago | IN | 0 ETH | 0.00092869 | ||||
| Mint | 20690608 | 546 days ago | IN | 0 ETH | 0.00057804 | ||||
| Mint | 20690578 | 546 days ago | IN | 0 ETH | 0.00009032 | ||||
| Mint | 20690577 | 546 days ago | IN | 0 ETH | 0.00058825 | ||||
| Mint | 20690347 | 546 days ago | IN | 0 ETH | 0.00075048 | ||||
| Mint | 20690347 | 546 days ago | IN | 0 ETH | 0.00075638 | ||||
| Mint | 20689744 | 546 days ago | IN | 0 ETH | 0.00035753 | ||||
| Mint | 20689563 | 546 days ago | IN | 0 ETH | 0.00029342 | ||||
| Update Whitelist | 20689162 | 546 days ago | IN | 0 ETH | 0.00008227 | ||||
| Mint | 20688751 | 546 days ago | IN | 0 ETH | 0.00029798 | ||||
| Mint | 20688365 | 546 days ago | IN | 0 ETH | 0.00040678 | ||||
| Mint | 20688363 | 546 days ago | IN | 0 ETH | 0.00043072 | ||||
| Mint | 20688331 | 546 days ago | IN | 0 ETH | 0.00034014 | ||||
| Mint | 20688181 | 546 days ago | IN | 0 ETH | 0.00031664 | ||||
| Mint | 20688172 | 546 days ago | IN | 0 ETH | 0.00031503 | ||||
| Mint | 20688157 | 546 days ago | IN | 0 ETH | 0.00032907 | ||||
| Mint | 20688150 | 546 days ago | IN | 0 ETH | 0.00028717 | ||||
| Mint | 20688132 | 546 days ago | IN | 0 ETH | 0.00033122 | ||||
| Mint | 20688017 | 546 days ago | IN | 0 ETH | 0.00054132 | ||||
| Mint | 20687997 | 546 days ago | IN | 0 ETH | 0.00074276 |
Latest 18 internal transactions
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 20692453 | 546 days ago | 0.04 ETH | ||||
| Transfer | 20692453 | 546 days ago | 0.04 ETH | ||||
| Transfer | 20692453 | 546 days ago | 0.04 ETH | ||||
| Transfer | 20692453 | 546 days ago | 0.04 ETH | ||||
| Transfer | 20692453 | 546 days ago | 0.04 ETH | ||||
| Transfer | 20692453 | 546 days ago | 0.04 ETH | ||||
| Transfer | 20692453 | 546 days ago | 0.04 ETH | ||||
| Transfer | 20692453 | 546 days ago | 0.04 ETH | ||||
| Transfer | 20692453 | 546 days ago | 0.04 ETH | ||||
| Transfer | 20692453 | 546 days ago | 0.04 ETH | ||||
| Transfer | 20692453 | 546 days ago | 0.04 ETH | ||||
| Transfer | 20692453 | 546 days ago | 0.04 ETH | ||||
| Transfer | 20692453 | 546 days ago | 0.04 ETH | ||||
| Transfer | 20692453 | 546 days ago | 0.04 ETH | ||||
| Transfer | 20692453 | 546 days ago | 0.04 ETH | ||||
| Transfer | 20692453 | 546 days ago | 0.04 ETH | ||||
| Transfer | 20692453 | 546 days ago | 0.04 ETH | ||||
| Transfer | 20692453 | 546 days ago | 0.04 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
GenesisGatewayMinter
Compiler Version
v0.8.20+commit.a1b79de6
Optimization Enabled:
Yes with 200 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import "@openzeppelin/contracts/access/AccessControl.sol";
import "./interfaces/IGenesisGateway.sol";
import "./interfaces/IERC20.sol";
contract GenesisGatewayMinter is AccessControl {
enum Status {
Pause,
GL,
Completed
}
Status public status;
struct MintDetails {
uint256 supply;
uint256 minted;
uint256 startTime;
uint256 duration;
}
MintDetails public mintPhase;
bytes32 public constant ADMIN_ROLE = keccak256("ADMIN_ROLE");
IGenesisGateway public token;
uint public depositAmount = .04 ether;
mapping(address => bool) public depositors;
mapping(address => bool) public whitelist;
mapping(address => bool) public userMinted;
mapping(address => bool) public depositWhitelist;
uint public depositStartTime = 1725454800;
uint public depositDuration = 1 days;
event Deposit(address depositor, uint256 amount, uint256 time);
constructor (
IGenesisGateway _tokenAddress
) {
token = IGenesisGateway(_tokenAddress);
_grantRole(DEFAULT_ADMIN_ROLE, _msgSender());
_grantRole(ADMIN_ROLE, _msgSender());
mintPhase = MintDetails(
250,
0,
1725544800,
1 days
);
status = Status(Status.GL);
}
modifier isMintValid (address _to) {
require(_to != address(0), 'Zero Address');
if(status == Status.Pause){
revert('Minting is paused');
}
if(status == Status.Completed){
revert('Minting is completed');
}
if (status == Status.GL) {
require(mintPhase.startTime <= block.timestamp, 'GL minting is not started');
require(whitelist[_to], 'Not in GL whitelist');
require(!userMinted[_to], 'Already minted in gl');
require(mintPhase.startTime + mintPhase.duration >= block.timestamp, 'Time is up for GL');
require(mintPhase.minted + 1 <= mintPhase.supply, "Exceeded phase supply");
}
_;
}
function mint(address _to) public isMintValid(_to) {
_mint(_to);
userMinted[_to] = true;
mintPhase.minted += 1;
}
function _mint(address _to) private {
token.mint(_to, token.totalSupply() + 1);
}
function batchMint(address _wallet, uint _count) public onlyRole(ADMIN_ROLE) {
for (uint i = 0; i < _count;) {
_mint(_wallet);
unchecked {
i++;
}
}
}
function deposit() public payable {
require(depositStartTime <= block.timestamp, "Deposit is not started");
require(depositStartTime + depositDuration >= block.timestamp, 'The time is up for the deposit');
require(depositWhitelist[msg.sender], "Not in FCFS whitelist");
require(msg.value == depositAmount, "invalid value");
require(!depositors[msg.sender], "Already deposited");
depositors[msg.sender] = true;
emit Deposit(msg.sender, msg.value, block.timestamp);
}
function updateDepositAmount(uint256 _depositAmount) public onlyRole(ADMIN_ROLE) {
depositAmount = _depositAmount;
}
function updateDepositStartTime(uint256 _time) public onlyRole(ADMIN_ROLE) {
depositStartTime = _time;
}
function updateDepositDuration(uint256 _duration) public onlyRole(ADMIN_ROLE) {
depositDuration = _duration;
}
function setStatus(Status _status) public onlyRole(ADMIN_ROLE) {
status = _status;
}
function updatePhase(
uint256 _supply,
uint256 _startTime,
uint256 _duration
) public onlyRole(ADMIN_ROLE) {
mintPhase.supply = _supply;
mintPhase.startTime = _startTime;
mintPhase.duration = _duration;
}
function updateWhitelist(address[] memory _addresses, bool _isWhitelist) public onlyRole(ADMIN_ROLE) {
for (uint8 i = 0; i < _addresses.length;) {
whitelist[_addresses[i]] = _isWhitelist;
unchecked {
i++;
}
}
}
function updateDepositWhitelist(address[] memory _addresses, bool _isWhitelist) public onlyRole(ADMIN_ROLE) {
for (uint8 i = 0; i < _addresses.length;) {
depositWhitelist[_addresses[i]] = _isWhitelist;
unchecked {
i++;
}
}
}
function adminRefund(address[] memory recipients) public onlyRole(ADMIN_ROLE) {
uint256 totalRecipients = recipients.length;
require(address(this).balance >= totalRecipients * depositAmount, "Insufficient contract balance");
for (uint16 i = 0; i < totalRecipients;) {
require(depositors[recipients[i]], "The user has not deposited yet");
payable(recipients[i]).transfer(depositAmount);
depositors[recipients[i]] = false;
unchecked {
i++;
}
}
}
function ownerWithdrawTokens(
uint256 amount,
address _to,
address _tokenAddr
) public onlyRole(ADMIN_ROLE) {
require(_to != address(0));
if(_tokenAddr == address(0)){
payable(_to).transfer(amount);
} else {
IERC20(_tokenAddr).transfer(_to, amount);
}
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (access/AccessControl.sol)
pragma solidity ^0.8.20;
import {IAccessControl} from "./IAccessControl.sol";
import {Context} from "../utils/Context.sol";
import {ERC165} from "../utils/introspection/ERC165.sol";
/**
* @dev Contract module that allows children to implement role-based access
* control mechanisms. This is a lightweight version that doesn't allow enumerating role
* members except through off-chain means by accessing the contract event logs. Some
* applications may benefit from on-chain enumerability, for those cases see
* {AccessControlEnumerable}.
*
* Roles are referred to by their `bytes32` identifier. These should be exposed
* in the external API and be unique. The best way to achieve this is by
* using `public constant` hash digests:
*
* ```solidity
* bytes32 public constant MY_ROLE = keccak256("MY_ROLE");
* ```
*
* Roles can be used to represent a set of permissions. To restrict access to a
* function call, use {hasRole}:
*
* ```solidity
* function foo() public {
* require(hasRole(MY_ROLE, msg.sender));
* ...
* }
* ```
*
* Roles can be granted and revoked dynamically via the {grantRole} and
* {revokeRole} functions. Each role has an associated admin role, and only
* accounts that have a role's admin role can call {grantRole} and {revokeRole}.
*
* By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means
* that only accounts with this role will be able to grant or revoke other
* roles. More complex role relationships can be created by using
* {_setRoleAdmin}.
*
* WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to
* grant and revoke this role. Extra precautions should be taken to secure
* accounts that have been granted it. We recommend using {AccessControlDefaultAdminRules}
* to enforce additional security measures for this role.
*/
abstract contract AccessControl is Context, IAccessControl, ERC165 {
struct RoleData {
mapping(address account => bool) hasRole;
bytes32 adminRole;
}
mapping(bytes32 role => RoleData) private _roles;
bytes32 public constant DEFAULT_ADMIN_ROLE = 0x00;
/**
* @dev Modifier that checks that an account has a specific role. Reverts
* with an {AccessControlUnauthorizedAccount} error including the required role.
*/
modifier onlyRole(bytes32 role) {
_checkRole(role);
_;
}
/**
* @dev See {IERC165-supportsInterface}.
*/
function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {
return interfaceId == type(IAccessControl).interfaceId || super.supportsInterface(interfaceId);
}
/**
* @dev Returns `true` if `account` has been granted `role`.
*/
function hasRole(bytes32 role, address account) public view virtual returns (bool) {
return _roles[role].hasRole[account];
}
/**
* @dev Reverts with an {AccessControlUnauthorizedAccount} error if `_msgSender()`
* is missing `role`. Overriding this function changes the behavior of the {onlyRole} modifier.
*/
function _checkRole(bytes32 role) internal view virtual {
_checkRole(role, _msgSender());
}
/**
* @dev Reverts with an {AccessControlUnauthorizedAccount} error if `account`
* is missing `role`.
*/
function _checkRole(bytes32 role, address account) internal view virtual {
if (!hasRole(role, account)) {
revert AccessControlUnauthorizedAccount(account, role);
}
}
/**
* @dev Returns the admin role that controls `role`. See {grantRole} and
* {revokeRole}.
*
* To change a role's admin, use {_setRoleAdmin}.
*/
function getRoleAdmin(bytes32 role) public view virtual returns (bytes32) {
return _roles[role].adminRole;
}
/**
* @dev Grants `role` to `account`.
*
* If `account` had not been already granted `role`, emits a {RoleGranted}
* event.
*
* Requirements:
*
* - the caller must have ``role``'s admin role.
*
* May emit a {RoleGranted} event.
*/
function grantRole(bytes32 role, address account) public virtual onlyRole(getRoleAdmin(role)) {
_grantRole(role, account);
}
/**
* @dev Revokes `role` from `account`.
*
* If `account` had been granted `role`, emits a {RoleRevoked} event.
*
* Requirements:
*
* - the caller must have ``role``'s admin role.
*
* May emit a {RoleRevoked} event.
*/
function revokeRole(bytes32 role, address account) public virtual onlyRole(getRoleAdmin(role)) {
_revokeRole(role, account);
}
/**
* @dev Revokes `role` from the calling account.
*
* Roles are often managed via {grantRole} and {revokeRole}: this function's
* purpose is to provide a mechanism for accounts to lose their privileges
* if they are compromised (such as when a trusted device is misplaced).
*
* If the calling account had been revoked `role`, emits a {RoleRevoked}
* event.
*
* Requirements:
*
* - the caller must be `callerConfirmation`.
*
* May emit a {RoleRevoked} event.
*/
function renounceRole(bytes32 role, address callerConfirmation) public virtual {
if (callerConfirmation != _msgSender()) {
revert AccessControlBadConfirmation();
}
_revokeRole(role, callerConfirmation);
}
/**
* @dev Sets `adminRole` as ``role``'s admin role.
*
* Emits a {RoleAdminChanged} event.
*/
function _setRoleAdmin(bytes32 role, bytes32 adminRole) internal virtual {
bytes32 previousAdminRole = getRoleAdmin(role);
_roles[role].adminRole = adminRole;
emit RoleAdminChanged(role, previousAdminRole, adminRole);
}
/**
* @dev Attempts to grant `role` to `account` and returns a boolean indicating if `role` was granted.
*
* Internal function without access restriction.
*
* May emit a {RoleGranted} event.
*/
function _grantRole(bytes32 role, address account) internal virtual returns (bool) {
if (!hasRole(role, account)) {
_roles[role].hasRole[account] = true;
emit RoleGranted(role, account, _msgSender());
return true;
} else {
return false;
}
}
/**
* @dev Attempts to revoke `role` to `account` and returns a boolean indicating if `role` was revoked.
*
* Internal function without access restriction.
*
* May emit a {RoleRevoked} event.
*/
function _revokeRole(bytes32 role, address account) internal virtual returns (bool) {
if (hasRole(role, account)) {
_roles[role].hasRole[account] = false;
emit RoleRevoked(role, account, _msgSender());
return true;
} else {
return false;
}
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (access/IAccessControl.sol)
pragma solidity ^0.8.20;
/**
* @dev External interface of AccessControl declared to support ERC165 detection.
*/
interface IAccessControl {
/**
* @dev The `account` is missing a role.
*/
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole);
/**
* @dev The caller of a function is not the expected one.
*
* NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.
*/
error AccessControlBadConfirmation();
/**
* @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`
*
* `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite
* {RoleAdminChanged} not being emitted signaling this.
*/
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);
/**
* @dev Emitted when `account` is granted `role`.
*
* `sender` is the account that originated the contract call, an admin role
* bearer except when using {AccessControl-_setupRole}.
*/
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);
/**
* @dev Emitted when `account` is revoked `role`.
*
* `sender` is the account that originated the contract call:
* - if using `revokeRole`, it is the admin role bearer
* - if using `renounceRole`, it is the role bearer (i.e. `account`)
*/
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);
/**
* @dev Returns `true` if `account` has been granted `role`.
*/
function hasRole(bytes32 role, address account) external view returns (bool);
/**
* @dev Returns the admin role that controls `role`. See {grantRole} and
* {revokeRole}.
*
* To change a role's admin, use {AccessControl-_setRoleAdmin}.
*/
function getRoleAdmin(bytes32 role) external view returns (bytes32);
/**
* @dev Grants `role` to `account`.
*
* If `account` had not been already granted `role`, emits a {RoleGranted}
* event.
*
* Requirements:
*
* - the caller must have ``role``'s admin role.
*/
function grantRole(bytes32 role, address account) external;
/**
* @dev Revokes `role` from `account`.
*
* If `account` had been granted `role`, emits a {RoleRevoked} event.
*
* Requirements:
*
* - the caller must have ``role``'s admin role.
*/
function revokeRole(bytes32 role, address account) external;
/**
* @dev Revokes `role` from the calling account.
*
* Roles are often managed via {grantRole} and {revokeRole}: this function's
* purpose is to provide a mechanism for accounts to lose their privileges
* if they are compromised (such as when a trusted device is misplaced).
*
* If the calling account had been granted `role`, emits a {RoleRevoked}
* event.
*
* Requirements:
*
* - the caller must be `callerConfirmation`.
*/
function renounceRole(bytes32 role, address callerConfirmation) external;
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)
pragma solidity ^0.8.20;
/**
* @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;
}
function _contextSuffixLength() internal view virtual returns (uint256) {
return 0;
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (utils/introspection/ERC165.sol)
pragma solidity ^0.8.20;
import {IERC165} from "./IERC165.sol";
/**
* @dev Implementation of the {IERC165} interface.
*
* Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check
* for the additional interface id that will be supported. For example:
*
* ```solidity
* function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {
* return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);
* }
* ```
*/
abstract contract ERC165 is IERC165 {
/**
* @dev See {IERC165-supportsInterface}.
*/
function supportsInterface(bytes4 interfaceId) public view virtual returns (bool) {
return interfaceId == type(IERC165).interfaceId;
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (utils/introspection/IERC165.sol)
pragma solidity ^0.8.20;
/**
* @dev Interface of the ERC165 standard, as defined in the
* https://eips.ethereum.org/EIPS/eip-165[EIP].
*
* Implementers can declare support of contract interfaces, which can then be
* queried by others ({ERC165Checker}).
*
* For an implementation, see {ERC165}.
*/
interface IERC165 {
/**
* @dev Returns true if this contract implements the interface defined by
* `interfaceId`. See the corresponding
* https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]
* to learn more about how these ids are created.
*
* This function call must use less than 30 000 gas.
*/
function supportsInterface(bytes4 interfaceId) external view returns (bool);
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
interface IERC20 {
function transfer(address to, uint256 value) external returns (bool);
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
interface IGenesisGateway {
function mint(address to, uint256 id) external;
function totalSupply() external view returns (uint256);
}{
"optimizer": {
"enabled": true,
"runs": 200
},
"evmVersion": "paris",
"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":[{"internalType":"contract IGenesisGateway","name":"_tokenAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"depositor","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"inputs":[],"name":"ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"recipients","type":"address[]"}],"name":"adminRefund","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"},{"internalType":"uint256","name":"_count","type":"uint256"}],"name":"batchMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"depositAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"depositDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"depositStartTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"depositWhitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"depositors","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"mintPhase","outputs":[{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"uint256","name":"minted","type":"uint256"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"address","name":"_tokenAddr","type":"address"}],"name":"ownerWithdrawTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"enum GenesisGatewayMinter.Status","name":"_status","type":"uint8"}],"name":"setStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"status","outputs":[{"internalType":"enum GenesisGatewayMinter.Status","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IGenesisGateway","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_depositAmount","type":"uint256"}],"name":"updateDepositAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_duration","type":"uint256"}],"name":"updateDepositDuration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_time","type":"uint256"}],"name":"updateDepositStartTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addresses","type":"address[]"},{"internalType":"bool","name":"_isWhitelist","type":"bool"}],"name":"updateDepositWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_supply","type":"uint256"},{"internalType":"uint256","name":"_startTime","type":"uint256"},{"internalType":"uint256","name":"_duration","type":"uint256"}],"name":"updatePhase","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addresses","type":"address[]"},{"internalType":"bool","name":"_isWhitelist","type":"bool"}],"name":"updateWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userMinted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"whitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}]Contract Creation Code
6080604052668e1bc9bf0400006007556366d859d0600c5562015180600d553480156200002b57600080fd5b506040516200188a3803806200188a8339810160408190526200004e91620001ae565b600680546001600160a01b0319166001600160a01b0383161790556200007d6000620000773390565b620000ff565b50620000aa7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177533620000ff565b50506040805160808101825260fa8082526000602083018190526366d9b9609383018490526201518060609093018390526002919091556003556004919091556005556001805460ff191681179055620001e0565b6000828152602081815260408083206001600160a01b038516845290915281205460ff16620001a4576000838152602081815260408083206001600160a01b03861684529091529020805460ff191660011790556200015b3390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4506001620001a8565b5060005b92915050565b600060208284031215620001c157600080fd5b81516001600160a01b0381168114620001d957600080fd5b9392505050565b61169a80620001f06000396000f3fe6080604052600436106101cd5760003560e01c80637129c9a7116100f7578063aff177ca11610095578063e7e41f2d11610064578063e7e41f2d14610562578063ece04c7614610582578063eed75f6d146105a2578063fc0c546a146105d257600080fd5b8063aff177ca146104ea578063d0e30db01461050a578063d1bc1d7314610512578063d547741f1461054257600080fd5b806391d14854116100d157806391d148541461046557806395fe7743146104855780639b19251a146104a5578063a217fddf146104d557600080fd5b80637129c9a71461040d57806375b238fc14610423578063874769161461044557600080fd5b8063248a9ca31161016f578063419759f51161013e578063419759f5146103a157806343508b05146103b7578063587419d5146103d75780636a627842146103ed57600080fd5b8063248a9ca3146103035780632e49d78b146103415780632f2ff15d1461036157806336568abe1461038157600080fd5b806316789462116101ab578063167894621461024957806317881cbf146102695780631aa5e872146102ac578063200d2ed2146102dc57600080fd5b806301ffc9a7146101d257806303dcaa5b146102075780631363cfca14610229575b600080fd5b3480156101de57600080fd5b506101f26101ed3660046112c5565b61060a565b60405190151581526020015b60405180910390f35b34801561021357600080fd5b506102276102223660046112f6565b610641565b005b34801561023557600080fd5b506102276102443660046112f6565b61065f565b34801561025557600080fd5b506102276102643660046113f1565b61067d565b34801561027557600080fd5b5060025460035460045460055461028c9392919084565b6040805194855260208501939093529183015260608201526080016101fe565b3480156102b857600080fd5b506101f26102c7366004611443565b600a6020526000908152604090205460ff1681565b3480156102e857600080fd5b506001546102f69060ff1681565b6040516101fe9190611474565b34801561030f57600080fd5b5061033361031e3660046112f6565b60009081526020819052604090206001015490565b6040519081526020016101fe565b34801561034d57600080fd5b5061022761035c36600461149c565b6106fe565b34801561036d57600080fd5b5061022761037c3660046114bd565b61073d565b34801561038d57600080fd5b5061022761039c3660046114bd565b610762565b3480156103ad57600080fd5b5061033360075481565b3480156103c357600080fd5b506102276103d23660046114e9565b61079a565b3480156103e357600080fd5b50610333600c5481565b3480156103f957600080fd5b50610227610408366004611443565b6107ce565b34801561041957600080fd5b50610333600d5481565b34801561042f57600080fd5b5061033360008051602061164583398151915281565b34801561045157600080fd5b50610227610460366004611513565b610af2565b34801561047157600080fd5b506101f26104803660046114bd565b610cb3565b34801561049157600080fd5b506102276104a0366004611550565b610cdc565b3480156104b157600080fd5b506101f26104c0366004611443565b60096020526000908152604090205460ff1681565b3480156104e157600080fd5b50610333600081565b3480156104f657600080fd5b506102276105053660046113f1565b610dcb565b610227610e46565b34801561051e57600080fd5b506101f261052d366004611443565b600b6020526000908152604090205460ff1681565b34801561054e57600080fd5b5061022761055d3660046114bd565b611038565b34801561056e57600080fd5b5061022761057d3660046112f6565b61105d565b34801561058e57600080fd5b5061022761059d36600461158c565b61107b565b3480156105ae57600080fd5b506101f26105bd366004611443565b60086020526000908152604090205460ff1681565b3480156105de57600080fd5b506006546105f2906001600160a01b031681565b6040516001600160a01b0390911681526020016101fe565b60006001600160e01b03198216637965db0b60e01b148061063b57506301ffc9a760e01b6001600160e01b03198316145b92915050565b600080516020611645833981519152610659816110a2565b50600d55565b600080516020611645833981519152610677816110a2565b50600c55565b600080516020611645833981519152610695816110a2565b60005b83518160ff1610156106f85782600b6000868460ff16815181106106be576106be6115b8565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055600101610698565b50505050565b600080516020611645833981519152610716816110a2565b6001805483919060ff1916818360028111156107345761073461145e565b02179055505050565b600082815260208190526040902060010154610758816110a2565b6106f883836110af565b6001600160a01b038116331461078b5760405163334bd91960e11b815260040160405180910390fd5b6107958282611141565b505050565b6000805160206116458339815191526107b2816110a2565b60005b828110156106f8576107c6846111ac565b6001016107b5565b806001600160a01b0381166108195760405162461bcd60e51b815260206004820152600c60248201526b5a65726f204164647265737360a01b60448201526064015b60405180910390fd5b600060015460ff1660028111156108325761083261145e565b036108735760405162461bcd60e51b8152602060048201526011602482015270135a5b9d1a5b99c81a5cc81c185d5cd959607a1b6044820152606401610810565b600260015460ff16600281111561088c5761088c61145e565b036108d05760405162461bcd60e51b8152602060048201526014602482015273135a5b9d1a5b99c81a5cc818dbdb5c1b195d195960621b6044820152606401610810565b6001805460ff1660028111156108e8576108e861145e565b03610aa75760045442101561093f5760405162461bcd60e51b815260206004820152601960248201527f474c206d696e74696e67206973206e6f742073746172746564000000000000006044820152606401610810565b6001600160a01b03811660009081526009602052604090205460ff1661099d5760405162461bcd60e51b8152602060048201526013602482015272139bdd081a5b8811d3081dda1a5d195b1a5cdd606a1b6044820152606401610810565b6001600160a01b0381166000908152600a602052604090205460ff16156109fd5760405162461bcd60e51b8152602060048201526014602482015273105b1c9958591e481b5a5b9d1959081a5b8819db60621b6044820152606401610810565b6005546004544291610a0e916115e4565b1015610a505760405162461bcd60e51b8152602060048201526011602482015270151a5b59481a5cc81d5c08199bdc8811d3607a1b6044820152606401610810565b600254600354610a619060016115e4565b1115610aa75760405162461bcd60e51b8152602060048201526015602482015274457863656564656420706861736520737570706c7960581b6044820152606401610810565b610ab0826111ac565b6001600160a01b0382166000908152600a60205260408120805460ff191660019081179091556003805491929091610ae99084906115e4565b90915550505050565b600080516020611645833981519152610b0a816110a2565b8151600754610b1990826115f7565b471015610b685760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420636f6e74726163742062616c616e63650000006044820152606401610810565b60005b818161ffff1610156106f85760086000858361ffff1681518110610b9157610b916115b8565b6020908102919091018101516001600160a01b031682528101919091526040016000205460ff16610c045760405162461bcd60e51b815260206004820152601e60248201527f546865207573657220686173206e6f74206465706f73697465642079657400006044820152606401610810565b838161ffff1681518110610c1a57610c1a6115b8565b60200260200101516001600160a01b03166108fc6007549081150290604051600060405180830381858888f19350505050158015610c5c573d6000803e3d6000fd5b50600060086000868461ffff1681518110610c7957610c796115b8565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055600101610b6b565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b600080516020611645833981519152610cf4816110a2565b6001600160a01b038316610d0757600080fd5b6001600160a01b038216610d51576040516001600160a01b0384169085156108fc029086906000818181858888f19350505050158015610d4b573d6000803e3d6000fd5b506106f8565b60405163a9059cbb60e01b81526001600160a01b0384811660048301526024820186905283169063a9059cbb906044016020604051808303816000875af1158015610da0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc4919061160e565b5050505050565b600080516020611645833981519152610de3816110a2565b60005b83518160ff1610156106f8578260096000868460ff1681518110610e0c57610e0c6115b8565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055600101610de6565b42600c541115610e915760405162461bcd60e51b815260206004820152601660248201527511195c1bdcda5d081a5cc81b9bdd081cdd185c9d195960521b6044820152606401610810565b42600d54600c54610ea291906115e4565b1015610ef05760405162461bcd60e51b815260206004820152601e60248201527f5468652074696d6520697320757020666f7220746865206465706f73697400006044820152606401610810565b336000908152600b602052604090205460ff16610f475760405162461bcd60e51b8152602060048201526015602482015274139bdd081a5b881190d194c81dda1a5d195b1a5cdd605a1b6044820152606401610810565b6007543414610f885760405162461bcd60e51b815260206004820152600d60248201526c696e76616c69642076616c756560981b6044820152606401610810565b3360009081526008602052604090205460ff1615610fdc5760405162461bcd60e51b8152602060048201526011602482015270105b1c9958591e4819195c1bdcda5d1959607a1b6044820152606401610810565b33600081815260086020908152604091829020805460ff191660011790558151928352349083015242908201527f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159060600160405180910390a1565b600082815260208190526040902060010154611053816110a2565b6106f88383611141565b600080516020611645833981519152611075816110a2565b50600755565b600080516020611645833981519152611093816110a2565b50600292909255600455600555565b6110ac8133611288565b50565b60006110bb8383610cb3565b611139576000838152602081815260408083206001600160a01b03861684529091529020805460ff191660011790556110f13390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a450600161063b565b50600061063b565b600061114d8383610cb3565b15611139576000838152602081815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a450600161063b565b600654604080516318160ddd60e01b815290516001600160a01b03909216916340c10f1991849184916318160ddd9160048083019260209291908290030181865afa1580156111ff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611223919061162b565b61122e9060016115e4565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561127457600080fd5b505af1158015610dc4573d6000803e3d6000fd5b6112928282610cb3565b6112c15760405163e2517d3f60e01b81526001600160a01b038216600482015260248101839052604401610810565b5050565b6000602082840312156112d757600080fd5b81356001600160e01b0319811681146112ef57600080fd5b9392505050565b60006020828403121561130857600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b80356001600160a01b038116811461133c57600080fd5b919050565b600082601f83011261135257600080fd5b8135602067ffffffffffffffff8083111561136f5761136f61130f565b8260051b604051601f19603f830116810181811084821117156113945761139461130f565b6040529384528581018301938381019250878511156113b257600080fd5b83870191505b848210156113d8576113c982611325565b835291830191908301906113b8565b979650505050505050565b80151581146110ac57600080fd5b6000806040838503121561140457600080fd5b823567ffffffffffffffff81111561141b57600080fd5b61142785828601611341565b9250506020830135611438816113e3565b809150509250929050565b60006020828403121561145557600080fd5b6112ef82611325565b634e487b7160e01b600052602160045260246000fd5b602081016003831061149657634e487b7160e01b600052602160045260246000fd5b91905290565b6000602082840312156114ae57600080fd5b8135600381106112ef57600080fd5b600080604083850312156114d057600080fd5b823591506114e060208401611325565b90509250929050565b600080604083850312156114fc57600080fd5b61150583611325565b946020939093013593505050565b60006020828403121561152557600080fd5b813567ffffffffffffffff81111561153c57600080fd5b61154884828501611341565b949350505050565b60008060006060848603121561156557600080fd5b8335925061157560208501611325565b915061158360408501611325565b90509250925092565b6000806000606084860312156115a157600080fd5b505081359360208301359350604090920135919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561063b5761063b6115ce565b808202811582820484141761063b5761063b6115ce565b60006020828403121561162057600080fd5b81516112ef816113e3565b60006020828403121561163d57600080fd5b505191905056fea49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775a2646970667358221220e2513cac0449a1a55c6a53d87d156e0fc773bfde32953c136d1a73e917a10eff64736f6c6343000814003300000000000000000000000073c5f1a5eb45512b005d91de010af5effb2324df
Deployed Bytecode
0x6080604052600436106101cd5760003560e01c80637129c9a7116100f7578063aff177ca11610095578063e7e41f2d11610064578063e7e41f2d14610562578063ece04c7614610582578063eed75f6d146105a2578063fc0c546a146105d257600080fd5b8063aff177ca146104ea578063d0e30db01461050a578063d1bc1d7314610512578063d547741f1461054257600080fd5b806391d14854116100d157806391d148541461046557806395fe7743146104855780639b19251a146104a5578063a217fddf146104d557600080fd5b80637129c9a71461040d57806375b238fc14610423578063874769161461044557600080fd5b8063248a9ca31161016f578063419759f51161013e578063419759f5146103a157806343508b05146103b7578063587419d5146103d75780636a627842146103ed57600080fd5b8063248a9ca3146103035780632e49d78b146103415780632f2ff15d1461036157806336568abe1461038157600080fd5b806316789462116101ab578063167894621461024957806317881cbf146102695780631aa5e872146102ac578063200d2ed2146102dc57600080fd5b806301ffc9a7146101d257806303dcaa5b146102075780631363cfca14610229575b600080fd5b3480156101de57600080fd5b506101f26101ed3660046112c5565b61060a565b60405190151581526020015b60405180910390f35b34801561021357600080fd5b506102276102223660046112f6565b610641565b005b34801561023557600080fd5b506102276102443660046112f6565b61065f565b34801561025557600080fd5b506102276102643660046113f1565b61067d565b34801561027557600080fd5b5060025460035460045460055461028c9392919084565b6040805194855260208501939093529183015260608201526080016101fe565b3480156102b857600080fd5b506101f26102c7366004611443565b600a6020526000908152604090205460ff1681565b3480156102e857600080fd5b506001546102f69060ff1681565b6040516101fe9190611474565b34801561030f57600080fd5b5061033361031e3660046112f6565b60009081526020819052604090206001015490565b6040519081526020016101fe565b34801561034d57600080fd5b5061022761035c36600461149c565b6106fe565b34801561036d57600080fd5b5061022761037c3660046114bd565b61073d565b34801561038d57600080fd5b5061022761039c3660046114bd565b610762565b3480156103ad57600080fd5b5061033360075481565b3480156103c357600080fd5b506102276103d23660046114e9565b61079a565b3480156103e357600080fd5b50610333600c5481565b3480156103f957600080fd5b50610227610408366004611443565b6107ce565b34801561041957600080fd5b50610333600d5481565b34801561042f57600080fd5b5061033360008051602061164583398151915281565b34801561045157600080fd5b50610227610460366004611513565b610af2565b34801561047157600080fd5b506101f26104803660046114bd565b610cb3565b34801561049157600080fd5b506102276104a0366004611550565b610cdc565b3480156104b157600080fd5b506101f26104c0366004611443565b60096020526000908152604090205460ff1681565b3480156104e157600080fd5b50610333600081565b3480156104f657600080fd5b506102276105053660046113f1565b610dcb565b610227610e46565b34801561051e57600080fd5b506101f261052d366004611443565b600b6020526000908152604090205460ff1681565b34801561054e57600080fd5b5061022761055d3660046114bd565b611038565b34801561056e57600080fd5b5061022761057d3660046112f6565b61105d565b34801561058e57600080fd5b5061022761059d36600461158c565b61107b565b3480156105ae57600080fd5b506101f26105bd366004611443565b60086020526000908152604090205460ff1681565b3480156105de57600080fd5b506006546105f2906001600160a01b031681565b6040516001600160a01b0390911681526020016101fe565b60006001600160e01b03198216637965db0b60e01b148061063b57506301ffc9a760e01b6001600160e01b03198316145b92915050565b600080516020611645833981519152610659816110a2565b50600d55565b600080516020611645833981519152610677816110a2565b50600c55565b600080516020611645833981519152610695816110a2565b60005b83518160ff1610156106f85782600b6000868460ff16815181106106be576106be6115b8565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055600101610698565b50505050565b600080516020611645833981519152610716816110a2565b6001805483919060ff1916818360028111156107345761073461145e565b02179055505050565b600082815260208190526040902060010154610758816110a2565b6106f883836110af565b6001600160a01b038116331461078b5760405163334bd91960e11b815260040160405180910390fd5b6107958282611141565b505050565b6000805160206116458339815191526107b2816110a2565b60005b828110156106f8576107c6846111ac565b6001016107b5565b806001600160a01b0381166108195760405162461bcd60e51b815260206004820152600c60248201526b5a65726f204164647265737360a01b60448201526064015b60405180910390fd5b600060015460ff1660028111156108325761083261145e565b036108735760405162461bcd60e51b8152602060048201526011602482015270135a5b9d1a5b99c81a5cc81c185d5cd959607a1b6044820152606401610810565b600260015460ff16600281111561088c5761088c61145e565b036108d05760405162461bcd60e51b8152602060048201526014602482015273135a5b9d1a5b99c81a5cc818dbdb5c1b195d195960621b6044820152606401610810565b6001805460ff1660028111156108e8576108e861145e565b03610aa75760045442101561093f5760405162461bcd60e51b815260206004820152601960248201527f474c206d696e74696e67206973206e6f742073746172746564000000000000006044820152606401610810565b6001600160a01b03811660009081526009602052604090205460ff1661099d5760405162461bcd60e51b8152602060048201526013602482015272139bdd081a5b8811d3081dda1a5d195b1a5cdd606a1b6044820152606401610810565b6001600160a01b0381166000908152600a602052604090205460ff16156109fd5760405162461bcd60e51b8152602060048201526014602482015273105b1c9958591e481b5a5b9d1959081a5b8819db60621b6044820152606401610810565b6005546004544291610a0e916115e4565b1015610a505760405162461bcd60e51b8152602060048201526011602482015270151a5b59481a5cc81d5c08199bdc8811d3607a1b6044820152606401610810565b600254600354610a619060016115e4565b1115610aa75760405162461bcd60e51b8152602060048201526015602482015274457863656564656420706861736520737570706c7960581b6044820152606401610810565b610ab0826111ac565b6001600160a01b0382166000908152600a60205260408120805460ff191660019081179091556003805491929091610ae99084906115e4565b90915550505050565b600080516020611645833981519152610b0a816110a2565b8151600754610b1990826115f7565b471015610b685760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420636f6e74726163742062616c616e63650000006044820152606401610810565b60005b818161ffff1610156106f85760086000858361ffff1681518110610b9157610b916115b8565b6020908102919091018101516001600160a01b031682528101919091526040016000205460ff16610c045760405162461bcd60e51b815260206004820152601e60248201527f546865207573657220686173206e6f74206465706f73697465642079657400006044820152606401610810565b838161ffff1681518110610c1a57610c1a6115b8565b60200260200101516001600160a01b03166108fc6007549081150290604051600060405180830381858888f19350505050158015610c5c573d6000803e3d6000fd5b50600060086000868461ffff1681518110610c7957610c796115b8565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055600101610b6b565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b600080516020611645833981519152610cf4816110a2565b6001600160a01b038316610d0757600080fd5b6001600160a01b038216610d51576040516001600160a01b0384169085156108fc029086906000818181858888f19350505050158015610d4b573d6000803e3d6000fd5b506106f8565b60405163a9059cbb60e01b81526001600160a01b0384811660048301526024820186905283169063a9059cbb906044016020604051808303816000875af1158015610da0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc4919061160e565b5050505050565b600080516020611645833981519152610de3816110a2565b60005b83518160ff1610156106f8578260096000868460ff1681518110610e0c57610e0c6115b8565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055600101610de6565b42600c541115610e915760405162461bcd60e51b815260206004820152601660248201527511195c1bdcda5d081a5cc81b9bdd081cdd185c9d195960521b6044820152606401610810565b42600d54600c54610ea291906115e4565b1015610ef05760405162461bcd60e51b815260206004820152601e60248201527f5468652074696d6520697320757020666f7220746865206465706f73697400006044820152606401610810565b336000908152600b602052604090205460ff16610f475760405162461bcd60e51b8152602060048201526015602482015274139bdd081a5b881190d194c81dda1a5d195b1a5cdd605a1b6044820152606401610810565b6007543414610f885760405162461bcd60e51b815260206004820152600d60248201526c696e76616c69642076616c756560981b6044820152606401610810565b3360009081526008602052604090205460ff1615610fdc5760405162461bcd60e51b8152602060048201526011602482015270105b1c9958591e4819195c1bdcda5d1959607a1b6044820152606401610810565b33600081815260086020908152604091829020805460ff191660011790558151928352349083015242908201527f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159060600160405180910390a1565b600082815260208190526040902060010154611053816110a2565b6106f88383611141565b600080516020611645833981519152611075816110a2565b50600755565b600080516020611645833981519152611093816110a2565b50600292909255600455600555565b6110ac8133611288565b50565b60006110bb8383610cb3565b611139576000838152602081815260408083206001600160a01b03861684529091529020805460ff191660011790556110f13390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a450600161063b565b50600061063b565b600061114d8383610cb3565b15611139576000838152602081815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a450600161063b565b600654604080516318160ddd60e01b815290516001600160a01b03909216916340c10f1991849184916318160ddd9160048083019260209291908290030181865afa1580156111ff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611223919061162b565b61122e9060016115e4565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561127457600080fd5b505af1158015610dc4573d6000803e3d6000fd5b6112928282610cb3565b6112c15760405163e2517d3f60e01b81526001600160a01b038216600482015260248101839052604401610810565b5050565b6000602082840312156112d757600080fd5b81356001600160e01b0319811681146112ef57600080fd5b9392505050565b60006020828403121561130857600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b80356001600160a01b038116811461133c57600080fd5b919050565b600082601f83011261135257600080fd5b8135602067ffffffffffffffff8083111561136f5761136f61130f565b8260051b604051601f19603f830116810181811084821117156113945761139461130f565b6040529384528581018301938381019250878511156113b257600080fd5b83870191505b848210156113d8576113c982611325565b835291830191908301906113b8565b979650505050505050565b80151581146110ac57600080fd5b6000806040838503121561140457600080fd5b823567ffffffffffffffff81111561141b57600080fd5b61142785828601611341565b9250506020830135611438816113e3565b809150509250929050565b60006020828403121561145557600080fd5b6112ef82611325565b634e487b7160e01b600052602160045260246000fd5b602081016003831061149657634e487b7160e01b600052602160045260246000fd5b91905290565b6000602082840312156114ae57600080fd5b8135600381106112ef57600080fd5b600080604083850312156114d057600080fd5b823591506114e060208401611325565b90509250929050565b600080604083850312156114fc57600080fd5b61150583611325565b946020939093013593505050565b60006020828403121561152557600080fd5b813567ffffffffffffffff81111561153c57600080fd5b61154884828501611341565b949350505050565b60008060006060848603121561156557600080fd5b8335925061157560208501611325565b915061158360408501611325565b90509250925092565b6000806000606084860312156115a157600080fd5b505081359360208301359350604090920135919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561063b5761063b6115ce565b808202811582820484141761063b5761063b6115ce565b60006020828403121561162057600080fd5b81516112ef816113e3565b60006020828403121561163d57600080fd5b505191905056fea49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775a2646970667358221220e2513cac0449a1a55c6a53d87d156e0fc773bfde32953c136d1a73e917a10eff64736f6c63430008140033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000073c5f1a5eb45512b005d91de010af5effb2324df
-----Decoded View---------------
Arg [0] : _tokenAddress (address): 0x73c5F1a5EB45512B005d91dE010Af5effB2324Df
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000073c5f1a5eb45512b005d91de010af5effb2324df
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ 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.