More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 5,929 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Register With Pa... | 17289813 | 589 days ago | IN | 0 ETH | 0.01108412 | ||||
Register With Pa... | 17276359 | 591 days ago | IN | 0 ETH | 0.01159273 | ||||
Register | 17261037 | 594 days ago | IN | 0 ETH | 0.01218946 | ||||
Register | 17260974 | 594 days ago | IN | 0 ETH | 0.01327994 | ||||
Register | 17260944 | 594 days ago | IN | 0 ETH | 0.01251563 | ||||
Register | 17193619 | 603 days ago | IN | 0 ETH | 0.02435509 | ||||
Register With Pa... | 17053591 | 623 days ago | IN | 0 ETH | 0.00930454 | ||||
Register With Pa... | 17025251 | 627 days ago | IN | 0 ETH | 0.00741347 | ||||
Register | 16964534 | 635 days ago | IN | 0 ETH | 0.00645691 | ||||
Register | 16956147 | 637 days ago | IN | 0 ETH | 0.00704724 | ||||
Register | 16936803 | 639 days ago | IN | 0 ETH | 0.0090607 | ||||
Register With Pa... | 16895122 | 645 days ago | IN | 0 ETH | 0.00441151 | ||||
Register | 16830422 | 654 days ago | IN | 0 ETH | 0.0075795 | ||||
Register | 16650440 | 680 days ago | IN | 0 ETH | 0.0153648 | ||||
Register | 16647872 | 680 days ago | IN | 0 ETH | 0.00728056 | ||||
Register | 16568960 | 691 days ago | IN | 0 ETH | 0.00560845 | ||||
Register With Pa... | 16566952 | 691 days ago | IN | 0 ETH | 0.00644127 | ||||
Register | 16498295 | 701 days ago | IN | 0 ETH | 0.00949505 | ||||
Register | 16415624 | 712 days ago | IN | 0 ETH | 0.00575549 | ||||
Register | 16332798 | 724 days ago | IN | 0 ETH | 0.00557017 | ||||
Register | 16048171 | 764 days ago | IN | 0 ETH | 0.00398892 | ||||
Register | 16020955 | 768 days ago | IN | 0 ETH | 0.00421614 | ||||
Register | 15902588 | 784 days ago | IN | 0 ETH | 0.00437404 | ||||
Register | 15879882 | 787 days ago | IN | 0 ETH | 0.00501649 | ||||
Register | 15877347 | 788 days ago | IN | 0 ETH | 0.01189545 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
WRLD_Name_Service_Registrar
Compiler Version
v0.8.4+commit.c7e474f2
Optimization Enabled:
Yes with 800 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.4; import "@openzeppelin/contracts/access/Ownable.sol"; import "@openzeppelin/contracts/security/ReentrancyGuard.sol"; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import "./IWNS_Passes.sol"; import "./IWRLD_Name_Service_Registry.sol"; import "./StringUtils.sol"; contract WRLD_Name_Service_Registrar is Ownable, ReentrancyGuard { using StringUtils for *; /** * @dev @iamarkdev was here * */ IERC20 immutable wrld; IWNS_Passes immutable whitelist; IWRLD_Name_Service_Registry immutable registry; uint256 private constant YEAR_SECONDS = 31536000; uint256 private constant PREREGISTRATION_PASS_TYPE_ID = 2; bool public registrationEnabled = false; uint256[5] public annualWrldPrices = [ 1e70, 1e70, 20000 ether, 2000 ether, 500 ether ]; // $WRLD, 1 char to 5 chars address private approvedWithdrawer; constructor(address _registry, address _wrld, address _whitelist) { registry = IWRLD_Name_Service_Registry(_registry); wrld = IERC20(_wrld); whitelist = IWNS_Passes(_whitelist); } /**************** * Registration * ****************/ function registerWithPass(string[] calldata _names) external nonReentrant { bool senderIsOwner = msg.sender == owner(); if (!senderIsOwner) { whitelist.burnTypeForOwnerAddress(PREREGISTRATION_PASS_TYPE_ID, _names.length, msg.sender); } uint16[] memory registrationYears = new uint16[](_names.length); for (uint256 i = 0; i < _names.length; i++) { registrationYears[i] = 1; if (!senderIsOwner) { require(getRegistrationPrice(_names[i]) < 1000000 ether, "Name not available for sale"); } } _register(_names, registrationYears, true); } function register(string[] calldata _names, uint16[] calldata _registrationYears) external nonReentrant { require(registrationEnabled, "Registration is not enabled."); _register(_names, _registrationYears, false); } function _register(string[] calldata _names, uint16[] memory _registrationYears, bool _free) private { require(_names.length == _registrationYears.length, "Arg size mismatched"); uint256 sumPrice = 0; for (uint256 i = 0; i < _names.length; i++) { sumPrice += _registrationYears[i] * getRegistrationPrice(_names[i]); } registry.register(msg.sender, _names, _registrationYears); if (!_free) { wrld.transferFrom(msg.sender, address(this), sumPrice); } } function getRegistrationPrice(string calldata _name) public view returns (uint price) { uint len = _name.strlen(); if (len > 0 && len <= 5) { price = annualWrldPrices[len-1]; } else if (len > 5) { price = annualWrldPrices[4]; } else { revert("Invalid name"); } } /************* * Extension * *************/ function extendRegistration(string[] calldata _names, uint16[] calldata _additionalYears) external nonReentrant { require(_names.length == _additionalYears.length, "Arg size mismatched"); uint256 sumPrice = 0; for (uint256 i = 0; i < _names.length; i++) { sumPrice += _additionalYears[i] * getRegistrationPrice(_names[i]); } registry.extendRegistration(_names, _additionalYears); wrld.transferFrom(msg.sender, address(this), sumPrice); } /********* * Owner * *********/ function setAnnualWrldPrices(uint256[] memory _annualWrldPrices) external onlyOwner { annualWrldPrices[0] = _annualWrldPrices[0]; annualWrldPrices[1] = _annualWrldPrices[1]; annualWrldPrices[2] = _annualWrldPrices[2]; annualWrldPrices[3] = _annualWrldPrices[3]; annualWrldPrices[4] = _annualWrldPrices[4]; } function setApprovedWithdrawer(address _approvedWithdrawer) external onlyOwner { approvedWithdrawer = _approvedWithdrawer; } function enableRegistration() external onlyOwner { registrationEnabled = true; } /************** * Withdrawal * **************/ function withdrawWrld(address toAddress) external { require(msg.sender == owner() || msg.sender == approvedWithdrawer, "Not approved to withdraw"); wrld.transfer(toAddress, wrld.balanceOf(address(this))); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (access/Ownable.sol) pragma solidity ^0.8.0; import "../utils/Context.sol"; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (security/ReentrancyGuard.sol) pragma solidity ^0.8.0; /** * @dev Contract module that helps prevent reentrant calls to a function. * * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier * available, which can be applied to functions to make sure there are no nested * (reentrant) calls to them. * * Note that because there is a single `nonReentrant` guard, functions marked as * `nonReentrant` may not call one another. This can be worked around by making * those functions `private`, and then adding `external` `nonReentrant` entry * points to them. * * TIP: If you would like to learn more about reentrancy and alternative ways * to protect against it, check out our blog post * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]. */ abstract contract ReentrancyGuard { // Booleans are more expensive than uint256 or any type that takes up a full // word because each write operation emits an extra SLOAD to first read the // slot's contents, replace the bits taken up by the boolean, and then write // back. This is the compiler's defense against contract upgrades and // pointer aliasing, and it cannot be disabled. // The values being non-zero value makes deployment a bit more expensive, // but in exchange the refund on every call to nonReentrant will be lower in // amount. Since refunds are capped to a percentage of the total // transaction's gas, it is best to keep them low in cases like this one, to // increase the likelihood of the full refund coming into effect. uint256 private constant _NOT_ENTERED = 1; uint256 private constant _ENTERED = 2; uint256 private _status; constructor() { _status = _NOT_ENTERED; } /** * @dev Prevents a contract from calling itself, directly or indirectly. * Calling a `nonReentrant` function from another `nonReentrant` * function is not supported. It is possible to prevent this from happening * by making the `nonReentrant` function external, and making it call a * `private` function that does the actual work. */ modifier nonReentrant() { // On the first call to nonReentrant, _notEntered will be true require(_status != _ENTERED, "ReentrancyGuard: reentrant call"); // Any calls to nonReentrant after this point will fail _status = _ENTERED; _; // By storing the original value once again, a refund is triggered (see // https://eips.ethereum.org/EIPS/eip-2200) _status = _NOT_ENTERED; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ 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 amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` 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 amount) 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 `amount` 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 amount) external returns (bool); /** * @dev Moves `amount` tokens from `from` to `to` using the * allowance mechanism. `amount` 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 amount ) external returns (bool); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.2; import "@openzeppelin/contracts/token/ERC1155/IERC1155.sol"; interface IWNS_Passes is IERC1155 { function burnTypeBulk(uint256 _typeId, address[] calldata owners) external; function burnTypeForOwnerAddress(uint256 _typeId, uint256 _quantity, address _typeOwnerAddress) external returns (bool); function mintTypeToAddress(uint256 _typeId, uint256 _quantity, address _toAddress) external returns (bool); function bulkSafeTransfer(uint256 _typeId, uint256 _quantityPerRecipient, address[] calldata recipients) external; }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.4; import "@openzeppelin/contracts/utils/introspection/IERC165.sol"; interface IWRLD_Name_Service_Registry is IERC165 { function register(address _registerer, string[] calldata _names, uint16[] memory _registrationYears) external; function extendRegistration(string[] calldata _names, uint16[] calldata _additionalYears) external; function getNameTokenId(string calldata _name) external view returns (uint256); event NameRegistered(string indexed idxName, string name, uint16 registrationYears); event NameRegistrationExtended(string indexed idxName, string name, uint16 additionalYears); event NameControllerUpdated(string indexed idxName, string name, address controller); event ResolverStringRecordUpdated(string indexed idxName, string name, string record, string value, string typeOf, uint256 ttl, address resolver); event ResolverAddressRecordUpdated(string indexed idxName, string name, string record, address value, uint256 ttl, address resolver); event ResolverUintRecordUpdated(string indexed idxName, string name, string record, uint256 value, uint256 ttl, address resolver); event ResolverIntRecordUpdated(string indexed idxName, string name, string record, int256 value, uint256 ttl, address resolver); event ResolverStringEntryUpdated(address indexed setter, string indexed idxName, string indexed idxEntry, string name, string entry, string value); event ResolverAddressEntryUpdated(address indexed setter, string indexed idxName, string indexed idxEntry, string name, string entry, address value); event ResolverUintEntryUpdated(address indexed setter, string indexed idxName, string indexed idxEntry, string name, string entry, uint256 value); event ResolverIntEntryUpdated(address indexed setter, string indexed idxName, string indexed idxEntry, string name, string entry, int256 value); }
// SPDX-License-Identifier: MIT pragma solidity >=0.8.4; library StringUtils { /** * @dev Returns the length of a given string * * @param s The string to measure the length of * @return The length of the input string */ function strlen(string memory s) internal pure returns (uint256) { uint len; uint i = 0; uint bytelength = bytes(s).length; for (len = 0; i < bytelength; len++) { bytes1 b = bytes(s)[i]; if (b < 0x80) { i += 1; } else if (b < 0xE0) { i += 2; } else if (b < 0xF0) { i += 3; } else if (b < 0xF8) { i += 4; } else if (b < 0xFC) { i += 5; } else { i += 6; } } return len; } /** * @dev Checks the string for RFC3986 reserved characters. * Includes a few more extra chars for security. Specifically, percent encoding is not allowed. * * @param s The string to check * @return T/F */ function validateUriCharset(string memory s) internal pure returns (bool) { uint len; uint i = 0; uint bytelength = bytes(s).length; bytes1 b0 = bytes(s)[0]; if (b0==0x2d||b0==0x5f||b0==0x7e) { // not allowed: - _ ~ return false; } for (len = 0; i < bytelength; len++) { bytes1 b = bytes(s)[i]; if (b < 0x80) { i += 1; if (b<0x2d||b==0x2e||b==0x2f||(b>=0x3a&&b<=0x40)||b==0x5b||b==0x5c||b==0x5d||b==0x5e||b==0x60||b==0x7b||b==0x7c||b==0x7d||b==0x7f) { return false; } } else if (b < 0xE0) { i += 2; } else if (b < 0xF0) { i += 3; } else if (b < 0xF8) { i += 4; } else if (b < 0xFC) { i += 5; } else { i += 6; } } return true; } /** * @dev Apply UTS-46 normalization to a string. (implementation deviates from the standard) * * @param s The string to normalize * @return T/F */ function UTS46Normalize(string memory s) internal pure returns (string memory) { uint len; uint i = 0; uint bytelength = bytes(s).length; bytes1 b0 = bytes(s)[0]; if (b0==0x2d||b0==0x5f||b0==0x7e) { // not allowed in first position: - _ ~ revert("invalid charset"); } for (len = 0; i < bytelength; len++) { bytes1 b = bytes(s)[i]; if (b < 0x80) { if (b<0x2d||b==0x2e||b==0x2f||(b>=0x3a&&b<=0x40)||b==0x5b||b==0x5c||b==0x5d||b==0x5e||b==0x60||b==0x7b||b==0x7c||b==0x7d||b==0x7f) { revert("invalid charset"); } if (b>=0x41&&b<=0x5a) { bytes(s)[i] = bytes1(uint8(b) + 32); } i += 1; } else if (b < 0xE0) { i += 2; } else if (b < 0xF0) { i += 3; } else if (b < 0xF8) { i += 4; } else if (b < 0xFC) { i += 5; } else { i += 6; } } return s; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @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; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (token/ERC1155/IERC1155.sol) pragma solidity ^0.8.0; import "../../utils/introspection/IERC165.sol"; /** * @dev Required interface of an ERC1155 compliant contract, as defined in the * https://eips.ethereum.org/EIPS/eip-1155[EIP]. * * _Available since v3.1._ */ interface IERC1155 is IERC165 { /** * @dev Emitted when `value` tokens of token type `id` are transferred from `from` to `to` by `operator`. */ event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value); /** * @dev Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all * transfers. */ event TransferBatch( address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values ); /** * @dev Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to * `approved`. */ event ApprovalForAll(address indexed account, address indexed operator, bool approved); /** * @dev Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI. * * If an {URI} event was emitted for `id`, the standard * https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value * returned by {IERC1155MetadataURI-uri}. */ event URI(string value, uint256 indexed id); /** * @dev Returns the amount of tokens of token type `id` owned by `account`. * * Requirements: * * - `account` cannot be the zero address. */ function balanceOf(address account, uint256 id) external view returns (uint256); /** * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}. * * Requirements: * * - `accounts` and `ids` must have the same length. */ function balanceOfBatch(address[] calldata accounts, uint256[] calldata ids) external view returns (uint256[] memory); /** * @dev Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`, * * Emits an {ApprovalForAll} event. * * Requirements: * * - `operator` cannot be the caller. */ function setApprovalForAll(address operator, bool approved) external; /** * @dev Returns true if `operator` is approved to transfer ``account``'s tokens. * * See {setApprovalForAll}. */ function isApprovedForAll(address account, address operator) external view returns (bool); /** * @dev Transfers `amount` tokens of token type `id` from `from` to `to`. * * Emits a {TransferSingle} event. * * Requirements: * * - `to` cannot be the zero address. * - If the caller is not `from`, it must be have been approved to spend ``from``'s tokens via {setApprovalForAll}. * - `from` must have a balance of tokens of type `id` of at least `amount`. * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the * acceptance magic value. */ function safeTransferFrom( address from, address to, uint256 id, uint256 amount, bytes calldata data ) external; /** * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}. * * Emits a {TransferBatch} event. * * Requirements: * * - `ids` and `amounts` must have the same length. * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the * acceptance magic value. */ function safeBatchTransferFrom( address from, address to, uint256[] calldata ids, uint256[] calldata amounts, bytes calldata data ) external; }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol) pragma solidity ^0.8.0; /** * @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); }
{ "optimizer": { "enabled": true, "runs": 800 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_registry","type":"address"},{"internalType":"address","name":"_wrld","type":"address"},{"internalType":"address","name":"_whitelist","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"annualWrldPrices","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableRegistration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string[]","name":"_names","type":"string[]"},{"internalType":"uint16[]","name":"_additionalYears","type":"uint16[]"}],"name":"extendRegistration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_name","type":"string"}],"name":"getRegistrationPrice","outputs":[{"internalType":"uint256","name":"price","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string[]","name":"_names","type":"string[]"},{"internalType":"uint16[]","name":"_registrationYears","type":"uint16[]"}],"name":"register","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string[]","name":"_names","type":"string[]"}],"name":"registerWithPass","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"registrationEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_annualWrldPrices","type":"uint256[]"}],"name":"setAnnualWrldPrices","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_approvedWithdrawer","type":"address"}],"name":"setApprovedWithdrawer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"toAddress","type":"address"}],"name":"withdrawWrld","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6002805460ff191690556101806040527d0172ebad6ddc73c86d67c5faa71c245689c107950240000000000000000060e08181526101009190915269043c33c193756480000061012052686c6b935b8bbd40000061014052681b1ae4d6e2ef50000061016052620000759060039060056200012d565b503480156200008357600080fd5b506040516200199038038062001990833981016040819052620000a691620001af565b620000b133620000dd565b600180556001600160601b0319606093841b811660c05291831b821660805290911b1660a052620001f8565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b826005810192821562000169579160200282015b828111156200016957825182906001600160f01b031690559160200191906001019062000141565b50620001779291506200017b565b5090565b5b808211156200017757600081556001016200017c565b80516001600160a01b0381168114620001aa57600080fd5b919050565b600080600060608486031215620001c4578283fd5b620001cf8462000192565b9250620001df6020850162000192565b9150620001ef6040850162000192565b90509250925092565b60805160601c60a05160601c60c05160601c61174a62000246600039600081816109400152610f690152600061044001526000818161028c015281816109cd0152610ffd015261174a6000f3fe608060405234801561001057600080fd5b50600436106100df5760003560e01c80638da5cb5b1161008c578063c626347b11610066578063c626347b146101a1578063e7c08166146101b4578063f2b9b40f146101d1578063f2fde38b146101d957600080fd5b80638da5cb5b14610160578063b2c0ede81461017b578063bf4243391461018e57600080fd5b80635b3d2896116100bd5780635b3d289614610132578063715018a614610145578063811e8fa31461014d57600080fd5b806326c40bf8146100e4578063295c285b1461010a57806342a100ec1461011f575b600080fd5b6100f76100f2366004611497565b6101ec565b6040519081526020015b60405180910390f35b61011d610118366004611259565b610203565b005b61011d61012d366004611287565b6103b2565b61011d6101403660046112c7565b61061a565b61011d610702565b61011d61015b366004611259565b610768565b6000546040516001600160a01b039091168152602001610101565b61011d6101893660046112c7565b6107f1565b61011d61019c366004611330565b610a5f565b6100f76101af366004611410565b610c44565b6002546101c19060ff1681565b6040519015158152602001610101565b61011d610d33565b61011d6101e7366004611259565b610d9c565b600381600581106101fc57600080fd5b0154905081565b6000546001600160a01b031633148061022657506008546001600160a01b031633145b6102775760405162461bcd60e51b815260206004820152601860248201527f4e6f7420617070726f76656420746f207769746864726177000000000000000060448201526064015b60405180910390fd5b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb90839083906370a082319060240160206040518083038186803b1580156102e057600080fd5b505afa1580156102f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031891906114af565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b15801561037657600080fd5b505af115801561038a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ae91906113f0565b5050565b600260015414156104055760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161026e565b60026001556000546001600160a01b03163314806104c6576040516314f329af60e01b815260026004820152602481018390523360448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906314f329af90606401602060405180830381600087803b15801561048c57600080fd5b505af11580156104a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c491906113f0565b505b60008267ffffffffffffffff8111156104ef57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610518578160200160208202803683370190505b50905060005b8381101561060257600182828151811061054857634e487b7160e01b600052603260045260246000fd5b602002602001019061ffff16908161ffff1681525050826105f05769d3c21bcecceda10000006105a386868481811061059157634e487b7160e01b600052603260045260246000fd5b90506020028101906101af919061163a565b106105f05760405162461bcd60e51b815260206004820152601b60248201527f4e616d65206e6f7420617661696c61626c6520666f722073616c650000000000604482015260640161026e565b806105fa816116cd565b91505061051e565b506106108484836001610e7e565b5050600180555050565b6002600154141561066d5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161026e565b600260018190555460ff166106c45760405162461bcd60e51b815260206004820152601c60248201527f526567697374726174696f6e206973206e6f7420656e61626c65642e00000000604482015260640161026e565b610610848484848080602002602001604051908101604052809392919081815260200183836020028082843760009201829052509250610e7e915050565b6000546001600160a01b0316331461075c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161026e565b610766600061108a565b565b6000546001600160a01b031633146107c25760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161026e565b6008805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600260015414156108445760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161026e565b60026001558281146108985760405162461bcd60e51b815260206004820152601360248201527f4172672073697a65206d69736d61746368656400000000000000000000000000604482015260640161026e565b6000805b84811015610928576108c786868381811061059157634e487b7160e01b600052603260045260246000fd5b8484838181106108e757634e487b7160e01b600052603260045260246000fd5b90506020020160208101906108fc919061147d565b61ffff1661090a9190611697565b610914908361167f565b915080610920816116cd565b91505061089c565b506040516316581dbd60e31b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b2c0ede89061097b9088908890889088906004016115ea565b600060405180830381600087803b15801561099557600080fd5b505af11580156109a9573d6000803e3d6000fd5b50506040516323b872dd60e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031692506323b872dd9150606401602060405180830381600087803b158015610a1b57600080fd5b505af1158015610a2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5391906113f0565b50506001805550505050565b6000546001600160a01b03163314610ab95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161026e565b80600081518110610ada57634e487b7160e01b600052603260045260246000fd5b60200260200101516003600060058110610b0457634e487b7160e01b600052603260045260246000fd5b0155805181906001908110610b2957634e487b7160e01b600052603260045260246000fd5b60200260200101516003600160058110610b5357634e487b7160e01b600052603260045260246000fd5b0155805181906002908110610b7857634e487b7160e01b600052603260045260246000fd5b60200260200101516003600260058110610ba257634e487b7160e01b600052603260045260246000fd5b0155805181906003908110610bc757634e487b7160e01b600052603260045260246000fd5b602002602001015160038060058110610bf057634e487b7160e01b600052603260045260246000fd5b0155805181906004908110610c1557634e487b7160e01b600052603260045260246000fd5b60200260200101516003600460058110610c3f57634e487b7160e01b600052603260045260246000fd5b015550565b600080610c8684848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506110e792505050565b9050600081118015610c99575060058111155b15610cd2576003610cab6001836116b6565b60058110610cc957634e487b7160e01b600052603260045260246000fd5b01549150610d2c565b6005811115610ce45760036004610cc9565b60405162461bcd60e51b815260206004820152600c60248201527f496e76616c6964206e616d650000000000000000000000000000000000000000604482015260640161026e565b5092915050565b6000546001600160a01b03163314610d8d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161026e565b6002805460ff19166001179055565b6000546001600160a01b03163314610df65760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161026e565b6001600160a01b038116610e725760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161026e565b610e7b8161108a565b50565b81518314610ece5760405162461bcd60e51b815260206004820152601360248201527f4172672073697a65206d69736d61746368656400000000000000000000000000604482015260640161026e565b6000805b84811015610f5157610efd86868381811061059157634e487b7160e01b600052603260045260246000fd5b848281518110610f1d57634e487b7160e01b600052603260045260246000fd5b602002602001015161ffff16610f339190611697565b610f3d908361167f565b915080610f49816116cd565b915050610ed2565b5060405163376e9c5560e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ddba715490610fa4903390899089908990600401611581565b600060405180830381600087803b158015610fbe57600080fd5b505af1158015610fd2573d6000803e3d6000fd5b5050505081611083576040516323b872dd60e01b8152336004820152306024820152604481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd90606401602060405180830381600087803b15801561104957600080fd5b505af115801561105d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108191906113f0565b505b5050505050565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b8051600090819081905b808210156111ef57600085838151811061111b57634e487b7160e01b600052603260045260246000fd5b01602001516001600160f81b0319169050600160ff1b81101561114a5761114360018461167f565b92506111dc565b600760fd1b6001600160f81b03198216101561116b5761114360028461167f565b600f60fc1b6001600160f81b03198216101561118c5761114360038461167f565b601f60fb1b6001600160f81b0319821610156111ad5761114360048461167f565b603f60fa1b6001600160f81b0319821610156111ce5761114360058461167f565b6111d960068461167f565b92505b50826111e7816116cd565b9350506110f1565b50909392505050565b60008083601f840112611209578081fd5b50813567ffffffffffffffff811115611220578182fd5b6020830191508360208260051b850101111561123b57600080fd5b9250929050565b803561ffff8116811461125457600080fd5b919050565b60006020828403121561126a578081fd5b81356001600160a01b0381168114611280578182fd5b9392505050565b60008060208385031215611299578081fd5b823567ffffffffffffffff8111156112af578182fd5b6112bb858286016111f8565b90969095509350505050565b600080600080604085870312156112dc578182fd5b843567ffffffffffffffff808211156112f3578384fd5b6112ff888389016111f8565b90965094506020870135915080821115611317578384fd5b50611324878288016111f8565b95989497509550505050565b60006020808385031215611342578182fd5b823567ffffffffffffffff80821115611359578384fd5b818501915085601f83011261136c578384fd5b81358181111561137e5761137e6116fe565b8060051b604051601f19603f830116810181811085821117156113a3576113a36116fe565b604052828152858101935084860182860187018a10156113c1578788fd5b8795505b838610156113e35780358552600195909501949386019386016113c5565b5098975050505050505050565b600060208284031215611401578081fd5b81518015158114611280578182fd5b60008060208385031215611422578182fd5b823567ffffffffffffffff80821115611439578384fd5b818501915085601f83011261144c578384fd5b81358181111561145a578485fd5b86602082850101111561146b578485fd5b60209290920196919550909350505050565b60006020828403121561148e578081fd5b61128082611242565b6000602082840312156114a8578081fd5b5035919050565b6000602082840312156114c0578081fd5b5051919050565b60008383855260208086019550808560051b83010184845b8781101561154b57848303601f19018952813536889003601e19018112611504578687fd5b8701803567ffffffffffffffff81111561151c578788fd5b80360389131561152a578788fd5b6115378582888501611558565b9a86019a94505050908301906001016114df565b5090979650505050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b0385168152600060206060818401526115a56060840186886114c7565b8381036040850152845180825282860191830190845b818110156115db57835161ffff16835292840192918401916001016115bb565b50909998505050505050505050565b6040815260006115fe6040830186886114c7565b82810360208481019190915284825285918101835b868110156113e35761ffff61162785611242565b1682529282019290820190600101611613565b6000808335601e19843603018112611650578283fd5b83018035915067ffffffffffffffff82111561166a578283fd5b60200191503681900382131561123b57600080fd5b60008219821115611692576116926116e8565b500190565b60008160001904831182151516156116b1576116b16116e8565b500290565b6000828210156116c8576116c86116e8565b500390565b60006000198214156116e1576116e16116e8565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfea2646970667358221220d2796805a46cdcabae5c8ca9053c281c2f41ec7f0a1d65cc5029e8bdc5774b7564736f6c63430008040033000000000000000000000000ba4c1a3759c4e923191ac5664de3aee5cff1f20a000000000000000000000000d5d86fc8d5c0ea1ac1ac5dfab6e529c9967a45e9000000000000000000000000605757a5cceb44ced7a5be421735e0151333c338
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100df5760003560e01c80638da5cb5b1161008c578063c626347b11610066578063c626347b146101a1578063e7c08166146101b4578063f2b9b40f146101d1578063f2fde38b146101d957600080fd5b80638da5cb5b14610160578063b2c0ede81461017b578063bf4243391461018e57600080fd5b80635b3d2896116100bd5780635b3d289614610132578063715018a614610145578063811e8fa31461014d57600080fd5b806326c40bf8146100e4578063295c285b1461010a57806342a100ec1461011f575b600080fd5b6100f76100f2366004611497565b6101ec565b6040519081526020015b60405180910390f35b61011d610118366004611259565b610203565b005b61011d61012d366004611287565b6103b2565b61011d6101403660046112c7565b61061a565b61011d610702565b61011d61015b366004611259565b610768565b6000546040516001600160a01b039091168152602001610101565b61011d6101893660046112c7565b6107f1565b61011d61019c366004611330565b610a5f565b6100f76101af366004611410565b610c44565b6002546101c19060ff1681565b6040519015158152602001610101565b61011d610d33565b61011d6101e7366004611259565b610d9c565b600381600581106101fc57600080fd5b0154905081565b6000546001600160a01b031633148061022657506008546001600160a01b031633145b6102775760405162461bcd60e51b815260206004820152601860248201527f4e6f7420617070726f76656420746f207769746864726177000000000000000060448201526064015b60405180910390fd5b6040516370a0823160e01b81523060048201527f000000000000000000000000d5d86fc8d5c0ea1ac1ac5dfab6e529c9967a45e96001600160a01b03169063a9059cbb90839083906370a082319060240160206040518083038186803b1580156102e057600080fd5b505afa1580156102f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031891906114af565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b15801561037657600080fd5b505af115801561038a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ae91906113f0565b5050565b600260015414156104055760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161026e565b60026001556000546001600160a01b03163314806104c6576040516314f329af60e01b815260026004820152602481018390523360448201527f000000000000000000000000605757a5cceb44ced7a5be421735e0151333c3386001600160a01b0316906314f329af90606401602060405180830381600087803b15801561048c57600080fd5b505af11580156104a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c491906113f0565b505b60008267ffffffffffffffff8111156104ef57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610518578160200160208202803683370190505b50905060005b8381101561060257600182828151811061054857634e487b7160e01b600052603260045260246000fd5b602002602001019061ffff16908161ffff1681525050826105f05769d3c21bcecceda10000006105a386868481811061059157634e487b7160e01b600052603260045260246000fd5b90506020028101906101af919061163a565b106105f05760405162461bcd60e51b815260206004820152601b60248201527f4e616d65206e6f7420617661696c61626c6520666f722073616c650000000000604482015260640161026e565b806105fa816116cd565b91505061051e565b506106108484836001610e7e565b5050600180555050565b6002600154141561066d5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161026e565b600260018190555460ff166106c45760405162461bcd60e51b815260206004820152601c60248201527f526567697374726174696f6e206973206e6f7420656e61626c65642e00000000604482015260640161026e565b610610848484848080602002602001604051908101604052809392919081815260200183836020028082843760009201829052509250610e7e915050565b6000546001600160a01b0316331461075c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161026e565b610766600061108a565b565b6000546001600160a01b031633146107c25760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161026e565b6008805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600260015414156108445760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161026e565b60026001558281146108985760405162461bcd60e51b815260206004820152601360248201527f4172672073697a65206d69736d61746368656400000000000000000000000000604482015260640161026e565b6000805b84811015610928576108c786868381811061059157634e487b7160e01b600052603260045260246000fd5b8484838181106108e757634e487b7160e01b600052603260045260246000fd5b90506020020160208101906108fc919061147d565b61ffff1661090a9190611697565b610914908361167f565b915080610920816116cd565b91505061089c565b506040516316581dbd60e31b81526001600160a01b037f000000000000000000000000ba4c1a3759c4e923191ac5664de3aee5cff1f20a169063b2c0ede89061097b9088908890889088906004016115ea565b600060405180830381600087803b15801561099557600080fd5b505af11580156109a9573d6000803e3d6000fd5b50506040516323b872dd60e01b8152336004820152306024820152604481018490527f000000000000000000000000d5d86fc8d5c0ea1ac1ac5dfab6e529c9967a45e96001600160a01b031692506323b872dd9150606401602060405180830381600087803b158015610a1b57600080fd5b505af1158015610a2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5391906113f0565b50506001805550505050565b6000546001600160a01b03163314610ab95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161026e565b80600081518110610ada57634e487b7160e01b600052603260045260246000fd5b60200260200101516003600060058110610b0457634e487b7160e01b600052603260045260246000fd5b0155805181906001908110610b2957634e487b7160e01b600052603260045260246000fd5b60200260200101516003600160058110610b5357634e487b7160e01b600052603260045260246000fd5b0155805181906002908110610b7857634e487b7160e01b600052603260045260246000fd5b60200260200101516003600260058110610ba257634e487b7160e01b600052603260045260246000fd5b0155805181906003908110610bc757634e487b7160e01b600052603260045260246000fd5b602002602001015160038060058110610bf057634e487b7160e01b600052603260045260246000fd5b0155805181906004908110610c1557634e487b7160e01b600052603260045260246000fd5b60200260200101516003600460058110610c3f57634e487b7160e01b600052603260045260246000fd5b015550565b600080610c8684848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506110e792505050565b9050600081118015610c99575060058111155b15610cd2576003610cab6001836116b6565b60058110610cc957634e487b7160e01b600052603260045260246000fd5b01549150610d2c565b6005811115610ce45760036004610cc9565b60405162461bcd60e51b815260206004820152600c60248201527f496e76616c6964206e616d650000000000000000000000000000000000000000604482015260640161026e565b5092915050565b6000546001600160a01b03163314610d8d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161026e565b6002805460ff19166001179055565b6000546001600160a01b03163314610df65760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161026e565b6001600160a01b038116610e725760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161026e565b610e7b8161108a565b50565b81518314610ece5760405162461bcd60e51b815260206004820152601360248201527f4172672073697a65206d69736d61746368656400000000000000000000000000604482015260640161026e565b6000805b84811015610f5157610efd86868381811061059157634e487b7160e01b600052603260045260246000fd5b848281518110610f1d57634e487b7160e01b600052603260045260246000fd5b602002602001015161ffff16610f339190611697565b610f3d908361167f565b915080610f49816116cd565b915050610ed2565b5060405163376e9c5560e21b81526001600160a01b037f000000000000000000000000ba4c1a3759c4e923191ac5664de3aee5cff1f20a169063ddba715490610fa4903390899089908990600401611581565b600060405180830381600087803b158015610fbe57600080fd5b505af1158015610fd2573d6000803e3d6000fd5b5050505081611083576040516323b872dd60e01b8152336004820152306024820152604481018290527f000000000000000000000000d5d86fc8d5c0ea1ac1ac5dfab6e529c9967a45e96001600160a01b0316906323b872dd90606401602060405180830381600087803b15801561104957600080fd5b505af115801561105d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108191906113f0565b505b5050505050565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b8051600090819081905b808210156111ef57600085838151811061111b57634e487b7160e01b600052603260045260246000fd5b01602001516001600160f81b0319169050600160ff1b81101561114a5761114360018461167f565b92506111dc565b600760fd1b6001600160f81b03198216101561116b5761114360028461167f565b600f60fc1b6001600160f81b03198216101561118c5761114360038461167f565b601f60fb1b6001600160f81b0319821610156111ad5761114360048461167f565b603f60fa1b6001600160f81b0319821610156111ce5761114360058461167f565b6111d960068461167f565b92505b50826111e7816116cd565b9350506110f1565b50909392505050565b60008083601f840112611209578081fd5b50813567ffffffffffffffff811115611220578182fd5b6020830191508360208260051b850101111561123b57600080fd5b9250929050565b803561ffff8116811461125457600080fd5b919050565b60006020828403121561126a578081fd5b81356001600160a01b0381168114611280578182fd5b9392505050565b60008060208385031215611299578081fd5b823567ffffffffffffffff8111156112af578182fd5b6112bb858286016111f8565b90969095509350505050565b600080600080604085870312156112dc578182fd5b843567ffffffffffffffff808211156112f3578384fd5b6112ff888389016111f8565b90965094506020870135915080821115611317578384fd5b50611324878288016111f8565b95989497509550505050565b60006020808385031215611342578182fd5b823567ffffffffffffffff80821115611359578384fd5b818501915085601f83011261136c578384fd5b81358181111561137e5761137e6116fe565b8060051b604051601f19603f830116810181811085821117156113a3576113a36116fe565b604052828152858101935084860182860187018a10156113c1578788fd5b8795505b838610156113e35780358552600195909501949386019386016113c5565b5098975050505050505050565b600060208284031215611401578081fd5b81518015158114611280578182fd5b60008060208385031215611422578182fd5b823567ffffffffffffffff80821115611439578384fd5b818501915085601f83011261144c578384fd5b81358181111561145a578485fd5b86602082850101111561146b578485fd5b60209290920196919550909350505050565b60006020828403121561148e578081fd5b61128082611242565b6000602082840312156114a8578081fd5b5035919050565b6000602082840312156114c0578081fd5b5051919050565b60008383855260208086019550808560051b83010184845b8781101561154b57848303601f19018952813536889003601e19018112611504578687fd5b8701803567ffffffffffffffff81111561151c578788fd5b80360389131561152a578788fd5b6115378582888501611558565b9a86019a94505050908301906001016114df565b5090979650505050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b0385168152600060206060818401526115a56060840186886114c7565b8381036040850152845180825282860191830190845b818110156115db57835161ffff16835292840192918401916001016115bb565b50909998505050505050505050565b6040815260006115fe6040830186886114c7565b82810360208481019190915284825285918101835b868110156113e35761ffff61162785611242565b1682529282019290820190600101611613565b6000808335601e19843603018112611650578283fd5b83018035915067ffffffffffffffff82111561166a578283fd5b60200191503681900382131561123b57600080fd5b60008219821115611692576116926116e8565b500190565b60008160001904831182151516156116b1576116b16116e8565b500290565b6000828210156116c8576116c86116e8565b500390565b60006000198214156116e1576116e16116e8565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfea2646970667358221220d2796805a46cdcabae5c8ca9053c281c2f41ec7f0a1d65cc5029e8bdc5774b7564736f6c63430008040033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000ba4c1a3759c4e923191ac5664de3aee5cff1f20a000000000000000000000000d5d86fc8d5c0ea1ac1ac5dfab6e529c9967a45e9000000000000000000000000605757a5cceb44ced7a5be421735e0151333c338
-----Decoded View---------------
Arg [0] : _registry (address): 0xBa4c1A3759c4E923191aC5664DE3aEe5Cff1F20A
Arg [1] : _wrld (address): 0xD5d86FC8d5C0Ea1aC1Ac5Dfab6E529c9967a45E9
Arg [2] : _whitelist (address): 0x605757A5cCEB44Ced7A5Be421735E0151333c338
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000ba4c1a3759c4e923191ac5664de3aee5cff1f20a
Arg [1] : 000000000000000000000000d5d86fc8d5c0ea1ac1ac5dfab6e529c9967a45e9
Arg [2] : 000000000000000000000000605757a5cceb44ced7a5be421735e0151333c338
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $0.014322 | 1,486,500 | $21,289.37 |
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.