Source Code
Overview
ETH Balance
0 ETH
More Info
ContractCreator
Multichain Info
N/A
Latest 25 internal transactions (View All)
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
4470211 | 34 hrs ago | 0 ETH | ||||
4470211 | 34 hrs ago | 0 ETH | ||||
4470211 | 34 hrs ago | 0 ETH | ||||
4470211 | 34 hrs ago | 0 ETH | ||||
4470182 | 34 hrs ago | 0 ETH | ||||
4470182 | 34 hrs ago | 0 ETH | ||||
4470182 | 34 hrs ago | 0 ETH | ||||
4470182 | 34 hrs ago | 0 ETH | ||||
4470182 | 34 hrs ago | 0 ETH | ||||
4470182 | 34 hrs ago | 0 ETH | ||||
4470182 | 34 hrs ago | 0 ETH | ||||
4470123 | 34 hrs ago | 0 ETH | ||||
4470123 | 34 hrs ago | 0 ETH | ||||
4470123 | 34 hrs ago | 0 ETH | ||||
4470123 | 34 hrs ago | 0 ETH | ||||
4470123 | 34 hrs ago | 0 ETH | ||||
4470034 | 34 hrs ago | 0 ETH | ||||
4470034 | 34 hrs ago | 0 ETH | ||||
4470034 | 34 hrs ago | 0 ETH | ||||
4469650 | 35 hrs ago | 0 ETH | ||||
4469650 | 35 hrs ago | 0 ETH | ||||
4469650 | 35 hrs ago | 0 ETH | ||||
4469650 | 35 hrs ago | 0 ETH | ||||
4469650 | 35 hrs ago | 0 ETH | ||||
4469614 | 35 hrs ago | 0 ETH |
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Source Code Verified (Exact Match)
Contract Name:
TraxExchange
Compiler Version
v0.8.24+commit.e11b9ed9
ZkSolc Version
v1.5.7
Optimization Enabled:
Yes with Mode 3
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT // Roach Racing Club: gamified trading competitions, where trading becomes a fun, // fast-paced game set in the wicked Nanoverse (https://roachracingclub.com) /* ..::--------::.. .:--------------------:: :----------------------------: .:---------------------------------. :------------------------------------- .----------------------------------------: :------------------------------------------: :--===----------------------------------===--: .--+@@@@%%#+=----------------------=+*#%@@@@+--: ---@@@@@@@@@@@#+----------------+#@@@@@@@@@@@=-- :--+@@@@@@@@@@@@@@#+----------=#@@@@@@@@@@@@@@*--: ---#@@@@@@@@@@@@@@@@%+------=%@@@@@@@@@@@@@@@@%--- -----==+*%@@@@@@@@@@@@%=--=#@@@@@@@@@@@@%*++=----- -----------=*@@@@@@@@@@@*+@@@@@@@@@@@#+----------- :-------------+%@@@@@@@@@@@@@@@@@@%+-------------: ---------------*@@@@@@@@@@@@@@@@*--------------- :---------------=@@@@@@@@@@@@@@+---------------: :---------------=@@@@@@@@@@@@=---------------- :---------------+@@@@@@@@@@*---------------: :---------------%@@@@@@@@@---------------: --------------#@@@@@@@@%--------------. .------------#@@@@@@@@#------------. :---------*@@@@@@@@#---------:. :----------------------:. ..::--------:::. ███████╗██╗ ██╗ █████╗ ██████╗ ██████╗ ██╗ ██╗ ███████╗██╗ ██╗███╗ ██╗██████╗ ██╗ ██████╗ █████╗ ████████╗███████╗ ██╗███╗ ██╗ ██████╗ ██╔════╝██║ ██║██╔══██╗██╔══██╗██╔═══██╗██║ ██║ ██╔════╝╚██╗ ██╔╝████╗ ██║██╔══██╗██║██╔════╝██╔══██╗╚══██╔══╝██╔════╝ ██║████╗ ██║██╔════╝ ███████╗███████║███████║██║ ██║██║ ██║██║ █╗ ██║ ███████╗ ╚████╔╝ ██╔██╗ ██║██║ ██║██║██║ ███████║ ██║ █████╗ ██║██╔██╗ ██║██║ ╚════██║██╔══██║██╔══██║██║ ██║██║ ██║██║███╗██║ ╚════██║ ╚██╔╝ ██║╚██╗██║██║ ██║██║██║ ██╔══██║ ██║ ██╔══╝ ██║██║╚██╗██║██║ ███████║██║ ██║██║ ██║██████╔╝╚██████╔╝╚███╔███╔╝ ███████║ ██║ ██║ ╚████║██████╔╝██║╚██████╗██║ ██║ ██║ ███████╗ ██║██║ ╚████║╚██████╗██╗ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═════╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝ ╚═╝ ╚═╝ ╚═══╝╚═════╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ ╚═╝ ╚══════╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝╚═╝ */ pragma solidity ^0.8.22; import {ITRAX} from "./interfaces/ITRAX.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import {AccessControl} from "@openzeppelin/contracts/access/AccessControl.sol"; contract TraxExchange is AccessControl { bytes32 public constant SET_PRICE_ROLE = keccak256("SET_PRICE_ROLE"); bytes32 public constant WITHDRAW_ROLE = keccak256("WITHDRAW_ROLE"); ITRAX public traxToken; // if traxPrices[USDC] = 3*1^18 it means 1 TRAX cost is 3 USDC mapping(IERC20 => uint256) public traxPrices; event Exchange(address indexed account, IERC20 paymentToken, uint256 paymentValue, uint256 traxValue); event Price(IERC20 paymentToken, uint256 price); constructor (ITRAX _traxToken, address defaultAdmin, address setPriceRole, address withdrawRole) { traxToken = _traxToken; _grantRole(DEFAULT_ADMIN_ROLE, defaultAdmin); _grantRole(SET_PRICE_ROLE, setPriceRole); _grantRole(WITHDRAW_ROLE, withdrawRole); } function getTraxForToken(IERC20 paymentToken, uint256 paymentValue) public view returns (uint256) { return paymentValue * (1 ether) / traxPrices[paymentToken]; } function buyTrax(IERC20 paymentToken, uint256 paymentValue) external { require(traxPrices[paymentToken] != 0, 'invalid payment token'); address account = msg.sender; IERC20(paymentToken).transferFrom( account, address(this), paymentValue ); uint traxValue = getTraxForToken(paymentToken, paymentValue); traxToken.mint(account, traxValue); emit Exchange(account, paymentToken, paymentValue, traxValue); } function setPrice(IERC20 paymentToken, uint256 price) external onlyRole(SET_PRICE_ROLE) { traxPrices[paymentToken] = price; emit Price(paymentToken, price); } function withdraw(IERC20 _tokenContract, address _targetAccount) external onlyRole(WITHDRAW_ROLE) { uint256 balance = _tokenContract.balanceOf(address(this)); _tokenContract.transfer(_targetAccount, balance); } }
// SPDX-License-Identifier: MIT // Roach Racing Club: the first strategic p2e game with deflationary mechanisms (https://roachracingclub.com/) pragma solidity ^0.8.10; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; interface ITRAX is IERC20 { function mint(address to, uint256 amount) external; }
// 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.1.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.20; /** * @dev Interface of the ERC-20 standard as defined in the ERC. */ interface IERC20 { /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); /** * @dev Returns the value of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the value of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves a `value` amount of tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 value) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets a `value` amount of tokens as the allowance of `spender` over the * caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 value) external returns (bool); /** * @dev Moves a `value` amount of tokens from `from` to `to` using the * allowance mechanism. `value` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address from, address to, uint256 value) external returns (bool); }
// 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.1.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 ERC-165 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.1.0) (access/IAccessControl.sol) pragma solidity ^0.8.20; /** * @dev External interface of AccessControl declared to support ERC-165 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. This account bears the admin role (for the granted role). * Expected in cases where the role was granted using the internal {AccessControl-_grantRole}. */ 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.1.0) (utils/introspection/IERC165.sol) pragma solidity ^0.8.20; /** * @dev Interface of the ERC-165 standard, as defined in the * https://eips.ethereum.org/EIPS/eip-165[ERC]. * * 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[ERC 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); }
{ "evmVersion": "paris", "optimizer": { "enabled": true, "mode": "3" }, "outputSelection": { "*": { "*": [ "abi", "metadata" ], "": [ "ast" ] } }, "detectMissingLibraries": false, "forceEVMLA": false, "enableEraVMExtensions": false, "libraries": {} }
[{"inputs":[{"internalType":"contract ITRAX","name":"_traxToken","type":"address"},{"internalType":"address","name":"defaultAdmin","type":"address"},{"internalType":"address","name":"setPriceRole","type":"address"},{"internalType":"address","name":"withdrawRole","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":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"contract IERC20","name":"paymentToken","type":"address"},{"indexed":false,"internalType":"uint256","name":"paymentValue","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"traxValue","type":"uint256"}],"name":"Exchange","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"contract IERC20","name":"paymentToken","type":"address"},{"indexed":false,"internalType":"uint256","name":"price","type":"uint256"}],"name":"Price","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":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SET_PRICE_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WITHDRAW_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"paymentToken","type":"address"},{"internalType":"uint256","name":"paymentValue","type":"uint256"}],"name":"buyTrax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"paymentToken","type":"address"},{"internalType":"uint256","name":"paymentValue","type":"uint256"}],"name":"getTraxForToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"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":"contract IERC20","name":"paymentToken","type":"address"},{"internalType":"uint256","name":"price","type":"uint256"}],"name":"setPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"name":"traxPrices","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"traxToken","outputs":[{"internalType":"contract ITRAX","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"_tokenContract","type":"address"},{"internalType":"address","name":"_targetAccount","type":"address"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
9c4d535b00000000000000000000000000000000000000000000000000000000000000000100019f37245afc7100e414a57c51f9dad93ef7e53564a6dbd5a6b590858e0d0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008000000000000000000000000022a8b6da2150a39eb85fe058974fc06669d37f420000000000000000000000003857ce692dd96f307d42a03ac5f33db2496cf82f0000000000000000000000003857ce692dd96f307d42a03ac5f33db2496cf82f0000000000000000000000003857ce692dd96f307d42a03ac5f33db2496cf82f
Deployed Bytecode
0x0001000000000002000600000000000200000060031002700000015d033001970000000100200190000000320000c13d0000008002000039000000400020043f000000040030008c000003a80000413d000000000201043b000000e0022002700000016b0020009c000000fe0000a13d0000016c0020009c000001170000213d000001720020009c000001490000213d000001750020009c0000019c0000613d000001760020009c000003a80000c13d000000440030008c000003a80000413d0000000002000416000000000002004b000003a80000c13d0000002402100370000000000202043b000600000002001d000001600020009c000003a80000213d0000000401100370000000000101043b000000000010043f000000200000043f0000000001000019057105560000040f0000000602000029000000000020043f000000200010043f0000000001000019057105560000040f000000000101041a000000ff001001900000000001000039000000010100c039000000800010043f0000018601000041000005720001042e0000000002000416000000000002004b000003a80000c13d0000001f023000390000015e022001970000008002200039000000400020043f0000001f0430018f0000015f053001980000008002500039000000430000613d0000008006000039000000000701034f000000007807043c0000000006860436000000000026004b0000003f0000c13d000000000004004b000000500000613d000000000151034f0000000304400210000000000502043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f0000000000120435000000800030008c000003a80000413d000000800100043d000001600010009c000003a80000213d000000a00400043d000001600040009c000003a80000213d000000c00200043d000600000002001d000001600020009c000003a80000213d000000e00200043d000400000002001d000001600020009c000003a80000213d00000160011001970000000102000039000000000302041a0000016103300197000000000113019f000000000012041b000000000040043f0000016201000041000000200010043f00000000010004140000015d0010009c0000015d01008041000000c00110021000000163011001c70000801002000039000500000004001d0571056c0000040f00000005030000290000000100200190000003a80000613d000000000101043b000000000101041a000000ff00100190000000970000c13d000000000030043f0000016201000041000000200010043f00000000010004140000015d0010009c0000015d01008041000000c00110021000000163011001c700008010020000390571056c0000040f00000005060000290000000100200190000003a80000613d000000000101043b000000000201041a0000019a0220019700000001022001bf000000000021041b00000000010004140000015d0010009c0000015d01008041000000c00110021000000164011001c70000800d020000390000000403000039000000000700041100000165040000410000000005000019057105670000040f0000000100200190000003a80000613d0000000601000029000000000010043f0000016601000041000000200010043f00000000010004140000015d0010009c0000015d01008041000000c00110021000000163011001c700008010020000390571056c0000040f0000000100200190000003a80000613d000000000101043b000000000101041a000000ff00100190000000c80000c13d0000000601000029000000000010043f0000016601000041000000200010043f00000000010004140000015d0010009c0000015d01008041000000c00110021000000163011001c700008010020000390571056c0000040f0000000100200190000003a80000613d000000000101043b000000000201041a0000019a0220019700000001022001bf000000000021041b00000000010004140000015d0010009c0000015d01008041000000c00110021000000164011001c70000800d0200003900000004030000390000000007000411000001650400004100000167050000410000000606000029057105670000040f0000000100200190000003a80000613d0000000401000029000000000010043f0000016801000041000000200010043f00000000010004140000015d0010009c0000015d01008041000000c00110021000000163011001c700008010020000390571056c0000040f0000000100200190000003a80000613d000000000101043b000000000101041a000000ff00100190000000f90000c13d0000000401000029000000000010043f0000016801000041000000200010043f00000000010004140000015d0010009c0000015d01008041000000c00110021000000163011001c700008010020000390571056c0000040f0000000100200190000003a80000613d000000000101043b000000000201041a0000019a0220019700000001022001bf000000000021041b00000000010004140000015d0010009c0000015d01008041000000c00110021000000164011001c70000800d0200003900000004030000390000000007000411000001650400004100000169050000410000000406000029057105670000040f0000000100200190000003a80000613d0000002001000039000001000010044300000120000004430000016a01000041000005720001042e000001770020009c000001360000a13d000001780020009c0000015f0000213d0000017b0020009c000001cb0000613d0000017c0020009c000003a80000c13d000000440030008c000003a80000413d0000000002000416000000000002004b000003a80000c13d0000002402100370000000000302043b000001600030009c000003a80000213d0000000002000411000000000023004b0000027f0000c13d0000000401100370000000000101043b057105060000040f0000000001000019000005720001042e0000016d0020009c0000016a0000213d000001700020009c000002120000613d000001710020009c000003a80000c13d000000440030008c000003a80000413d0000000002000416000000000002004b000003a80000c13d0000002402100370000000000202043b000600000002001d000001600020009c000003a80000213d0000000401100370000000000101043b000500000001001d000000000010043f000000200000043f0000000001000019057105560000040f0000000101100039000000000101041a057104d70000040f00000005010000290000000602000029057105060000040f0000000001000019000005720001042e0000017d0020009c0000021b0000613d0000017e0020009c0000024d0000613d0000017f0020009c000003a80000c13d000000240030008c000003a80000413d0000000002000416000000000002004b000003a80000c13d0000000401100370000000000101043b000000000010043f000000200000043f0000000001000019057105560000040f00000001011000390000015b0000013d000001730020009c0000025e0000613d000001740020009c000003a80000c13d000000240030008c000003a80000413d0000000002000416000000000002004b000003a80000c13d0000000401100370000000000101043b000001600010009c000003a80000213d000000000010043f0000000201000039000000200010043f0000000001000019057105560000040f000000000101041a000000800010043f0000018601000041000005720001042e000001790020009c000002640000613d0000017a0020009c000003a80000c13d0000000001000416000000000001004b000003a80000c13d0000016701000041000000800010043f0000018601000041000005720001042e0000016e0020009c000002780000613d0000016f0020009c000003a80000c13d000000440030008c000003a80000413d0000000002000416000000000002004b000003a80000c13d0000000402100370000000000202043b000600000002001d000001600020009c000003a80000213d0000002401100370000000000101043b000500000001001d000001600010009c000003a80000213d0000000001000411000000000010043f0000016801000041000000200010043f00000000010004140000015d0010009c0000015d01008041000000c00110021000000163011001c700008010020000390571056c0000040f0000000100200190000003a80000613d000000400b00043d0000000402b00039000000000101043b000000000101041a000000ff00100190000002940000c13d000001850100004100000000001b0435000000000100041100000000001204350000002401b00039000001690200004100000000002104350000015d00b0009c0000015d0b0080410000004001b0021000000184011001c70000057300010430000000440030008c000003a80000413d0000000002000416000000000002004b000003a80000c13d0000000402100370000000000202043b000600000002001d000001600020009c000003a80000213d0000002401100370000000000101043b000500000001001d0000000601000029000000000010043f0000000201000039000000200010043f00000000010004140000015d0010009c0000015d01008041000000c00110021000000163011001c700008010020000390571056c0000040f0000000100200190000003a80000613d000000400b00043d0000004402b000390000002403b000390000000404b00039000000000101043b000000000101041a000000000001004b000002830000c13d000001900100004100000000001b04350000002001000039000000000014043500000015010000390000000000130435000001910100004100000000001204350000015d00b0009c0000015d0b0080410000004001b0021000000188011001c70000057300010430000000440030008c000003a80000413d0000000002000416000000000002004b000003a80000c13d0000000402100370000000000202043b000600000002001d0000002401100370000000000101043b000500000001001d000001600010009c000003a80000213d0000000601000029000000000010043f000000200000043f00000000010004140000015d0010009c0000015d01008041000000c00110021000000163011001c700008010020000390571056c0000040f0000000100200190000003a80000613d000000000101043b0000000101100039000000000101041a000400000001001d000000000010043f000000200000043f00000000010004140000015d0010009c0000015d01008041000000c00110021000000163011001c700008010020000390571056c0000040f0000000100200190000003a80000613d000000000101043b0000000002000411000000000020043f000000200010043f00000000010004140000015d0010009c0000015d01008041000000c00110021000000163011001c700008010020000390571056c0000040f0000000100200190000003a80000613d000000000101043b000000000101041a000000ff00100190000003250000c13d000000400100043d000000240210003900000004030000290000000000320435000001850200004100000000002104350000000402100039000000000300041100000000003204350000015d0010009c0000015d01008041000000400110021000000184011001c700000573000104300000000001000416000000000001004b000003a80000c13d0000000101000039000000000101041a0000016001100197000000800010043f0000018601000041000005720001042e000000440030008c000003a80000413d0000000002000416000000000002004b000003a80000c13d0000000402100370000000000202043b000600000002001d000001600020009c000003a80000213d0000002401100370000000000101043b000500000001001d0000016701000041000000000010043f000000200000043f00000000010004140000015d0010009c0000015d01008041000000c00110021000000163011001c700008010020000390571056c0000040f0000000100200190000003a80000613d000000000101043b0000000002000411000000000020043f000000200010043f00000000010004140000015d0010009c0000015d01008041000000c00110021000000163011001c700008010020000390571056c0000040f0000000100200190000003a80000613d000000000101043b000000000101041a000000ff00100190000002a10000c13d0000018501000041000000800010043f0000000001000411000000840010043f0000016701000041000000a40010043f00000199010000410000057300010430000000240030008c000003a80000413d0000000002000416000000000002004b000003a80000c13d0000000401100370000000000101043b0000019500100198000003a80000c13d000001960010009c00000000020000390000000102006039000001970010009c00000001022061bf000000800020043f0000018601000041000005720001042e0000000001000416000000000001004b000003a80000c13d000000800000043f0000018601000041000005720001042e000000440030008c000003a80000413d0000000002000416000000000002004b000003a80000c13d0000000402100370000000000302043b000001600030009c000003a80000213d0000002401100370000000000201043b00000000010300190571048d0000040f000000400200043d00000000001204350000015d0020009c0000015d02008041000000400120021000000192011001c7000005720001042e0000000001000416000000000001004b000003a80000c13d0000016901000041000000800010043f0000018601000041000005720001042e0000019301000041000000800010043f00000194010000410000057300010430000001870100004100000000001b043500000000010004110000000000140435000000000100041000000000001304350000000501000029000000000012043500000000010004140000000602000029000000040020008c000002c70000c13d0000000003000031000000200030008c00000020040000390000000004034019000002f20000013d000001800100004100000000001b04350000000001000410000000000012043500000000010004140000000602000029000000040020008c0000036f0000c13d0000000003000031000000200030008c000000200a000039000000000a0340190000039a0000013d0000000601000029000000000010043f0000000201000039000000200010043f00000000010004140000015d0010009c0000015d01008041000000c00110021000000163011001c700008010020000390571056c0000040f0000000100200190000003a80000613d000000000101043b0000000503000029000000000031041b000000400100043d00000020021000390000000000320435000000060200002900000000002104350000015d0010009c0000015d01008041000000400110021000000000020004140000015d0020009c0000015d02008041000000c002200210000000000112019f00000163011001c70000800d0200003900000001030000390000019804000041057105670000040f0000000100200190000003a80000613d0000000001000019000005720001042e0000015d00b0009c0000015d0300004100000000030b401900000040033002100000015d0010009c0000015d01008041000000c001100210000000000131019f00000188011001c700040000000b001d057105670000040f000000040b00002900000060031002700000015d03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b0019000002e20000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b000002de0000c13d000000000006004b000002ef0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f0000000100200190000003aa0000613d0000001f01400039000000600210018f0000000001b20019000000000021004b00000000020000390000000102004039000001820010009c0000045e0000213d00000001002001900000045e0000c13d000000400010043f000000200030008c000003a80000413d00000000010b0433000000000001004b0000000002000039000000010200c039000000000021004b000003a80000c13d000000050100002900040189001000d5000000000001004b0000030d0000613d000000040200002900000005012000fa000001890010009c000004150000c13d0000000601000029000000000010043f0000000201000039000000200010043f00000000010004140000015d0010009c0000015d01008041000000c00110021000000163011001c700008010020000390571056c0000040f0000000100200190000003a80000613d000000000101043b000000000101041a000300000001001d000000000001004b000004270000c13d0000018a01000041000000000010043f0000001201000039000000040010043f000001810100004100000573000104300000000601000029000000000010043f000000200000043f00000000010004140000015d0010009c0000015d01008041000000c00110021000000163011001c700008010020000390571056c0000040f0000000100200190000003a80000613d000000000101043b0000000502000029000000000020043f000000200010043f00000000010004140000015d0010009c0000015d01008041000000c00110021000000163011001c700008010020000390571056c0000040f0000000100200190000003a80000613d000000000101043b000000000101041a000000ff00100190000002c50000c13d0000000601000029000000000010043f000000200000043f00000000010004140000015d0010009c0000015d01008041000000c00110021000000163011001c700008010020000390571056c0000040f0000000100200190000003a80000613d000000000101043b0000000502000029000000000020043f000000200010043f00000000010004140000015d0010009c0000015d01008041000000c00110021000000163011001c700008010020000390571056c0000040f0000000100200190000003a80000613d000000000101043b000000000201041a0000019a0220019700000001022001bf000000000021041b00000000010004140000015d0010009c0000015d01008041000000c00110021000000164011001c70000800d0200003900000004030000390000016504000041000000060500002900000005060000290000000007000411057105670000040f0000000100200190000002c50000c13d000003a80000013d0000015d00b0009c0000015d0300004100000000030b401900000040033002100000015d0010009c0000015d01008041000000c001100210000000000131019f00000181011001c700040000000b001d0571056c0000040f000000040b00002900000060031002700000015d03300197000000200030008c000000200a000039000000000a0340190000001f05a0018f0000002006a0019000000000046b00190000038a0000613d000000000701034f00000000080b0019000000007907043c0000000008980436000000000048004b000003860000c13d000000000005004b000003970000613d000000000661034f0000000305500210000000000704043300000000075701cf000000000757022f000000000606043b0000010005500089000000000656022f00000000055601cf000000000575019f0000000000540435000000000003001f0000000100200190000003b60000613d0000001f01a00039000000600110018f0000000002b10019000000000012004b00000000010000390000000101004039000001820020009c0000045e0000213d00000001001001900000045e0000c13d000400000002001d000000400020043f000000200030008c000003d40000813d000000000100001900000573000104300000001f0530018f0000015f06300198000000400200043d0000000004620019000003c10000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000003b10000c13d000003c10000013d0000001f0530018f0000015f06300198000000400200043d0000000004620019000003c10000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000003bd0000c13d000000000005004b000003ce0000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f000000000014043500000060013002100000015d0020009c0000015d020080410000004002200210000000000112019f000005730001043000000000010b04330000000404000029000000240240003900000000001204350000018301000041000000000014043500000004014000390000000502000029000000000021043500000000010004140000000602000029000000040020008c0000040c0000613d0000015d0040009c0000015d03000041000000000304401900000040033002100000015d0010009c0000015d01008041000000c001100210000000000131019f00000184011001c7057105670000040f00000060031002700000015d03300197000000200030008c000000200400003900000000040340190000001f0540018f000000000a04001900000020064001900000000404600029000003fb0000613d000000000701034f0000000408000029000000007907043c0000000008980436000000000048004b000003f70000c13d000000000005004b000004080000613d000000000661034f0000000305500210000000000704043300000000075701cf000000000757022f000000000606043b0000010005500089000000000656022f00000000055601cf000000000575019f0000000000540435000000000003001f000000010020019000000004040000290000041b0000613d000000000104001900000000020a001900060000000a001d057104b70000040f00000004010000290000000602100029057104c90000040f0000000001000019000005720001042e0000018a01000041000000000010043f0000001101000039000000040010043f000001810100004100000573000104300000001f0530018f0000015f06300198000000400200043d0000000004620019000003c10000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000004220000c13d000003c10000013d0000000101000039000000000101041a0000018b0200004100000000002004430000016001100197000200000001001d000000040010044300000000010004140000015d0010009c0000015d01008041000000c0011002100000018c011001c700008002020000390571056c0000040f0000000100200190000004640000613d000000000101043b000000000001004b000003a80000613d000000030200002900000004032000f9000000400200043d0000002401200039000300000003001d00000000003104350000018d010000410000000001120436000100000001001d00000000010004110000016001100197000400000002001d0000000402200039000000000012043500000000010004140000000202000029000000040020008c0000045b0000613d00000004020000290000015d0020009c0000015d0200804100000040022002100000015d0010009c0000015d01008041000000c001100210000000000121019f00000184011001c70000000202000029057105670000040f00000060031002700000015d0030019d0000000100200190000004800000613d0000000401000029000001820010009c000004650000a13d0000018a01000041000000000010043f0000004101000039000000040010043f00000181010000410000057300010430000000000001042f0000000402000029000000400020043f000000400120003900000003030000290000000000310435000000050100002900000001030000290000000000130435000000060100002900000000001204350000015d0020009c0000015d02008041000000400120021000000000020004140000015d0020009c0000015d02008041000000c002200210000000000112019f0000018e011001c70000800d0200003900000002030000390000018f040000410000000005000411057105670000040f0000000100200190000003a80000613d000002c50000013d0000015d033001970000001f0530018f0000015f06300198000000400200043d0000000004620019000003c10000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000004880000c13d000003c10000013d000100000000000200000189032000d1000000000002004b000004940000613d00000000022300d9000001890020009c000004b10000c13d000100000003001d0000016001100197000000000010043f0000000201000039000000200010043f00000000010004140000015d0010009c0000015d01008041000000c00110021000000163011001c700008010020000390571056c0000040f0000000100200190000004a90000613d000000000101043b000000000101041a000000000001004b0000000102000029000004ab0000613d00000000011200d9000000000001042d000000000100001900000573000104300000018a01000041000000000010043f0000001201000039000000040010043f000001810100004100000573000104300000018a01000041000000000010043f0000001101000039000000040010043f000001810100004100000573000104300000001f022000390000019b022001970000000001120019000000000021004b00000000020000390000000102004039000001820010009c000004c30000213d0000000100200190000004c30000c13d000000400010043f000000000001042d0000018a01000041000000000010043f0000004101000039000000040010043f0000018101000041000005730001043000000000021200490000019c0020009c000004d50000213d0000001f0020008c000004d50000a13d0000000001010433000000000001004b0000000002000039000000010200c039000000000021004b000004d50000c13d000000000001042d000000000100001900000573000104300001000000000002000100000001001d000000000010043f000000200000043f00000000010004140000015d0010009c0000015d01008041000000c00110021000000163011001c700008010020000390571056c0000040f0000000100200190000004f60000613d000000000101043b0000000002000411000000000020043f000000200010043f00000000010004140000015d0010009c0000015d01008041000000c00110021000000163011001c700008010020000390571056c0000040f0000000100200190000004f60000613d000000000101043b000000000101041a000000ff00100190000004f80000613d000000000001042d00000000010000190000057300010430000000400100043d000000240210003900000001030000290000000000320435000001850200004100000000002104350000000402100039000000000300041100000000003204350000015d0010009c0000015d01008041000000400110021000000184011001c700000573000104300002000000000002000100000002001d000200000001001d000000000010043f000000200000043f00000000010004140000015d0010009c0000015d01008041000000c00110021000000163011001c700008010020000390571056c0000040f0000000100200190000005530000613d000000000101043b00000001020000290000016002200197000100000002001d000000000020043f000000200010043f00000000010004140000015d0010009c0000015d01008041000000c00110021000000163011001c700008010020000390571056c0000040f0000000100200190000005530000613d000000000101043b000000000101041a000000ff00100190000005520000613d0000000201000029000000000010043f000000200000043f00000000010004140000015d0010009c0000015d01008041000000c00110021000000163011001c700008010020000390571056c0000040f0000000100200190000005530000613d000000000101043b0000000102000029000000000020043f000000200010043f00000000010004140000015d0010009c0000015d01008041000000c00110021000000163011001c700008010020000390571056c0000040f0000000100200190000005530000613d000000000101043b000000000201041a0000019a02200197000000000021041b00000000010004140000015d0010009c0000015d01008041000000c00110021000000164011001c70000800d02000039000000040300003900000000070004110000019d0400004100000002050000290000000106000029057105670000040f0000000100200190000005530000613d000000000001042d00000000010000190000057300010430000000000001042f00000000020004140000015d0020009c0000015d02008041000000c0022002100000015d0010009c0000015d010080410000004001100210000000000121019f00000163011001c700008010020000390571056c0000040f0000000100200190000005650000613d000000000101043b000000000001042d000000000100001900000573000104300000056a002104210000000102000039000000000001042d0000000002000019000000000001042d0000056f002104230000000102000039000000000001042d0000000002000019000000000001042d0000057100000432000005720001042e000005730001043000000000000000000000000000000000000000000000000000000000ffffffff00000000000000000000000000000000000000000000000000000001ffffffe000000000000000000000000000000000000000000000000000000000ffffffe0000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000ad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5020000000000000000000000000000000000004000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d4ee4690f61d7ad973c843a8ebfef36485467800e36c1082f61e4179cb3ad3d17415cb709e73494ed53475231a09b6302063bb747def39d02d8a6002d338f943620be27040b8e00df40bca0df34743417f3574a156386188f7d7f14369e5ee82b5d8e12c39142ff96d79d04d15d1ba1269e4fe57bb9d26f43523628b34ba108ec000000020000000000000000000000000000004000000100000000000000000000000000000000000000000000000000000000000000000000000000776e36e900000000000000000000000000000000000000000000000000000000d10d47ea00000000000000000000000000000000000000000000000000000000e02023a000000000000000000000000000000000000000000000000000000000e02023a100000000000000000000000000000000000000000000000000000000f940e38500000000000000000000000000000000000000000000000000000000d10d47eb00000000000000000000000000000000000000000000000000000000d547741f00000000000000000000000000000000000000000000000000000000a217fdde00000000000000000000000000000000000000000000000000000000a217fddf00000000000000000000000000000000000000000000000000000000a560776c00000000000000000000000000000000000000000000000000000000776e36ea0000000000000000000000000000000000000000000000000000000091d14854000000000000000000000000000000000000000000000000000000002f2ff15c0000000000000000000000000000000000000000000000000000000072fc37a40000000000000000000000000000000000000000000000000000000072fc37a50000000000000000000000000000000000000000000000000000000074e805e9000000000000000000000000000000000000000000000000000000002f2ff15d0000000000000000000000000000000000000000000000000000000036568abe0000000000000000000000000000000000000000000000000000000000e4768b0000000000000000000000000000000000000000000000000000000001ffc9a700000000000000000000000000000000000000000000000000000000248a9ca370a08231000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffa9059cbb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044000000000000000000000000e2517d3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000080000000000000000023b872dd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a76400004e487b71000000000000000000000000000000000000000000000000000000001806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b83020000020000000000000000000000000000002400000000000000000000000040c10f19000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000060000000000000000000000000405426d39d8e779e767431271111e0c0410a44f0775f32656a11194427cfbeeb08c379a000000000000000000000000000000000000000000000000000000000696e76616c6964207061796d656e7420746f6b656e000000000000000000000000000000000000000000000000000000000000200000000000000000000000006697b23200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000080000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff01ffc9a7000000000000000000000000000000000000000000000000000000007965db0b00000000000000000000000000000000000000000000000000000000732dd31d58bc73f4bae3f2f5d6600795ac473b8933d80b3f9ffae1f0492dff670000000000000000000000000000000000000044000000800000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171be95a4f605ff0cf45ce9ab9157c328a203f76501ab51d8a9ac60f604f415f8cdb
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000022a8b6da2150a39eb85fe058974fc06669d37f420000000000000000000000003857ce692dd96f307d42a03ac5f33db2496cf82f0000000000000000000000003857ce692dd96f307d42a03ac5f33db2496cf82f0000000000000000000000003857ce692dd96f307d42a03ac5f33db2496cf82f
-----Decoded View---------------
Arg [0] : _traxToken (address): 0x22a8B6DA2150a39eB85fE058974fc06669D37f42
Arg [1] : defaultAdmin (address): 0x3857CE692dd96f307d42A03Ac5F33DB2496cF82f
Arg [2] : setPriceRole (address): 0x3857CE692dd96f307d42A03Ac5F33DB2496cF82f
Arg [3] : withdrawRole (address): 0x3857CE692dd96f307d42A03Ac5F33DB2496cF82f
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 00000000000000000000000022a8b6da2150a39eb85fe058974fc06669d37f42
Arg [1] : 0000000000000000000000003857ce692dd96f307d42a03ac5f33db2496cf82f
Arg [2] : 0000000000000000000000003857ce692dd96f307d42a03ac5f33db2496cf82f
Arg [3] : 0000000000000000000000003857ce692dd96f307d42a03ac5f33db2496cf82f
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.