Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 79 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Upgrade To | 18363628 | 480 days ago | IN | 0 ETH | 0.00042169 | ||||
Upgrade To | 17636007 | 582 days ago | IN | 0 ETH | 0.00108135 | ||||
Upgrade To | 16681695 | 717 days ago | IN | 0 ETH | 0.00089891 | ||||
Upgrade To | 16681683 | 717 days ago | IN | 0 ETH | 0.00100786 | ||||
Upgrade To | 16681504 | 717 days ago | IN | 0 ETH | 0.00074949 | ||||
Upgrade To | 16681502 | 717 days ago | IN | 0 ETH | 0.00076122 | ||||
Upgrade To | 16678858 | 717 days ago | IN | 0 ETH | 0.00106306 | ||||
Upgrade To | 16678847 | 717 days ago | IN | 0 ETH | 0.00111268 | ||||
Upgrade To | 16678832 | 717 days ago | IN | 0 ETH | 0.00151345 | ||||
Upgrade To | 16678654 | 717 days ago | IN | 0 ETH | 0.00106078 | ||||
Upgrade To | 15276758 | 918 days ago | IN | 0 ETH | 0.00064553 | ||||
Upgrade To | 14676908 | 1016 days ago | IN | 0 ETH | 0.00124762 | ||||
Deploy | 14148307 | 1098 days ago | IN | 0 ETH | 0.04390475 | ||||
Deploy | 14148278 | 1098 days ago | IN | 0 ETH | 0.04390475 | ||||
Deploy | 14147269 | 1098 days ago | IN | 0 ETH | 0.04390475 | ||||
Deploy | 14147239 | 1098 days ago | IN | 0 ETH | 0.04390475 | ||||
Deploy | 14147226 | 1098 days ago | IN | 0 ETH | 0.04390175 | ||||
Deploy | 14147214 | 1098 days ago | IN | 0 ETH | 0.04390175 | ||||
Deploy | 14147201 | 1098 days ago | IN | 0 ETH | 0.04390175 | ||||
Deploy | 14147190 | 1098 days ago | IN | 0 ETH | 0.04390175 | ||||
Deploy | 14147180 | 1098 days ago | IN | 0 ETH | 0.04390175 | ||||
Deploy | 14147167 | 1098 days ago | IN | 0 ETH | 0.04390175 | ||||
Deploy | 14147153 | 1098 days ago | IN | 0 ETH | 0.04390175 | ||||
Deploy | 14147149 | 1098 days ago | IN | 0 ETH | 0.04390175 | ||||
Deploy | 14147142 | 1098 days ago | IN | 0 ETH | 0.04390175 |
Latest 25 internal transactions (View All)
Advanced mode:
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:
Beacon
Compiler Version
v0.8.3+commit.8d00100c
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-04-22 */ // File contracts/beacon/IBeacon.sol pragma solidity ^0.8.0; interface IBeacon { function latestCopy() external view returns(address); } // File contracts/beacon/BeaconProxy.sol pragma solidity ^0.8.0; contract BeaconProxy { bytes32 private constant BEACON_SLOT = keccak256(abi.encodePacked("fairmint.beaconproxy.beacon")); constructor() public { _setBeacon(msg.sender); } function _setBeacon(address _beacon) private { bytes32 slot = BEACON_SLOT; assembly { sstore(slot, _beacon) } } function _getBeacon() internal view returns(address beacon) { bytes32 slot = BEACON_SLOT; assembly { beacon := sload(slot) } } function _getMasterCopy() internal view returns(address) { IBeacon beacon = IBeacon(_getBeacon()); return beacon.latestCopy(); } fallback() external payable { address copy = _getMasterCopy(); assembly { calldatacopy(0, 0, calldatasize()) let result := delegatecall(gas(), copy, 0, calldatasize(), 0, 0) let size := returndatasize() returndatacopy(0, 0, size) switch result case 0 { revert(0, size) } default { return(0, size) } } } } // File @openzeppelin/contracts-upgradeable/utils/[email protected] pragma solidity ^0.8.0; /** * @dev Collection of functions related to the address type */ library AddressUpgradeable { /** * @dev Returns true if `account` is a contract. * * [IMPORTANT] * ==== * It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. * * Among others, `isContract` will return false for the following * types of addresses: * * - an externally-owned account * - a contract in construction * - an address where a contract will be created * - an address where a contract lived, but was destroyed * ==== */ function isContract(address account) internal view returns (bool) { // This method relies on extcodesize, which returns 0 for contracts in // construction, since the code is only stored at the end of the // constructor execution. uint256 size; // solhint-disable-next-line no-inline-assembly assembly { size := extcodesize(account) } return size > 0; } /** * @dev Replacement for Solidity's `transfer`: sends `amount` wei to * `recipient`, forwarding all available gas and reverting on errors. * * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost * of certain opcodes, possibly making contracts go over the 2300 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. * * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more]. * * IMPORTANT: because control is transferred to `recipient`, care must be * taken to not create reentrancy vulnerabilities. Consider using * {ReentrancyGuard} or the * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. */ function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } /** * @dev Performs a Solidity function call using a low level `call`. A * plain`call` is an unsafe replacement for a function call: use this * function instead. * * If `target` reverts with a revert reason, it is bubbled up by this * function (like regular Solidity function calls). * * Returns the raw returned data. To convert to the expected return value, * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`]. * * Requirements: * * - `target` must be a contract. * - calling `target` with `data` must not revert. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with * `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but also transferring `value` wei to `target`. * * Requirements: * * - the calling contract must have an ETH balance of at least `value`. * - the called Solidity function must be `payable`. * * _Available since v3.1._ */ function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } /** * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but * with `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); require(isContract(target), "Address: call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.call{ value: value }(data); return _verifyCallResult(success, returndata, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall(target, data, "Address: low-level static call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) { require(isContract(target), "Address: static call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.staticcall(data); return _verifyCallResult(success, returndata, errorMessage); } function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) { if (success) { return returndata; } else { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly // solhint-disable-next-line no-inline-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } // File @openzeppelin/contracts-upgradeable/proxy/utils/[email protected] // solhint-disable-next-line compiler-version pragma solidity ^0.8.0; /** * @dev This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed * behind a proxy. Since a proxied contract can't have a constructor, it's common to move constructor logic to an * external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer * function so it can only be called once. The {initializer} modifier provided by this contract will have this effect. * * TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as * possible by providing the encoded function call as the `_data` argument to {UpgradeableProxy-constructor}. * * CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure * that all initializers are idempotent. This is not verified automatically as constructors are by Solidity. */ abstract contract Initializable { /** * @dev Indicates that the contract has been initialized. */ bool private _initialized; /** * @dev Indicates that the contract is in the process of being initialized. */ bool private _initializing; /** * @dev Modifier to protect an initializer function from being invoked twice. */ modifier initializer() { require(_initializing || !_initialized, "Initializable: contract is already initialized"); bool isTopLevelCall = !_initializing; if (isTopLevelCall) { _initializing = true; _initialized = true; } _; if (isTopLevelCall) { _initializing = false; } } } // File @openzeppelin/contracts-upgradeable/utils/[email protected] 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 ContextUpgradeable is Initializable { function __Context_init() internal initializer { __Context_init_unchained(); } function __Context_init_unchained() internal initializer { } function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } uint256[50] private __gap; } // File @openzeppelin/contracts-upgradeable/access/[email protected] pragma solidity ^0.8.0; /** * @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 OwnableUpgradeable is Initializable, ContextUpgradeable { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ function __Ownable_init() internal initializer { __Context_init_unchained(); __Ownable_init_unchained(); } function __Ownable_init_unchained() internal initializer { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), 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 { emit OwnershipTransferred(_owner, address(0)); _owner = 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"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } uint256[49] private __gap; } // File contracts/mixins/OperatorRole.sol pragma solidity ^0.8.0; // Original source: openzeppelin's SignerRole /** * @notice allows a single owner to manage a group of operators which may * have some special permissions in the contract. */ contract OperatorRole is OwnableUpgradeable { mapping (address => bool) internal _operators; event OperatorAdded(address indexed account); event OperatorRemoved(address indexed account); function _initializeOperatorRole() internal { __Ownable_init(); _addOperator(msg.sender); } modifier onlyOperator() { require( isOperator(msg.sender), "OperatorRole: caller does not have the Operator role" ); _; } function isOperator(address account) public view returns (bool) { return _operators[account]; } function addOperator(address account) public onlyOwner { _addOperator(account); } function removeOperator(address account) public onlyOwner { _removeOperator(account); } function renounceOperator() public { _removeOperator(msg.sender); } function _addOperator(address account) internal { _operators[account] = true; emit OperatorAdded(account); } function _removeOperator(address account) internal { _operators[account] = false; emit OperatorRemoved(account); } uint[50] private ______gap; } // File contracts/beacon/Beacon.sol pragma solidity ^0.8.0; contract Beacon is OperatorRole, IBeacon { address public override latestCopy; address[] public history; mapping(string => address) public proxies; constructor(address _initialCopy) public { latestCopy = _initialCopy; _initializeOperatorRole(); } function upgradeTo(address _nextCopy) external onlyOwner { latestCopy = _nextCopy; } function deploy(string calldata _name) external onlyOperator returns(address addr){ bytes memory bytecode = type(BeaconProxy).creationCode; bytes32 salt = keccak256(abi.encodePacked(_name)); assembly { addr := create2(0, add(bytecode, 0x20), mload(bytecode), salt) } require(addr != address(0), "error while deploying"); proxies[_name] = addr; } function getAddress(string calldata _name) external view returns (address) { return proxies[_name]; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_initialCopy","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"OperatorAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"OperatorRemoved","type":"event"},{"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":"address","name":"account","type":"address"}],"name":"addOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_name","type":"string"}],"name":"deploy","outputs":[{"internalType":"address","name":"addr","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_name","type":"string"}],"name":"getAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"history","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOperator","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestCopy","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"proxies","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_nextCopy","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b5060405162000df538038062000df5833981016040819052620000349162000310565b609880546001600160a01b0319166001600160a01b0383161790556200005962000060565b5062000340565b6200006a62000077565b620000753362000136565b565b600054610100900460ff168062000091575060005460ff16155b620000e95760405162461bcd60e51b815260206004820152602e602482015260008051602062000dd583398151915260448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b600054610100900460ff161580156200010c576000805461ffff19166101011790555b6200011662000182565b6200012062000227565b801562000133576000805461ff00191690555b50565b6001600160a01b038116600081815260656020526040808220805460ff19166001179055517fac6fa858e9350a46cec16539926e0fde25b7629f84b5a72bffaae4df888ae86d9190a250565b600054610100900460ff16806200019c575060005460ff16155b620001f05760405162461bcd60e51b815260206004820152602e602482015260008051602062000dd583398151915260448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401620000e0565b600054610100900460ff1615801562000120576000805461ffff1916610101179055801562000133576000805461ff001916905550565b600054610100900460ff168062000241575060005460ff16155b620002955760405162461bcd60e51b815260206004820152602e602482015260008051602062000dd583398151915260448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401620000e0565b600054610100900460ff16158015620002b8576000805461ffff19166101011790555b603380546001600160a01b0319163390811790915560405181906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350801562000133576000805461ff001916905550565b60006020828403121562000322578081fd5b81516001600160a01b038116811462000339578182fd5b9392505050565b610a8580620003506000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063a7a38f0b1161008c578063bf40fac111610066578063bf40fac1146101ab578063c7602316146101be578063da0d962a146101d1578063f2fde38b14610205576100cf565b8063a7a38f0b14610172578063a9dfa71114610185578063ac8a584a14610198576100cf565b80632ab6f8db146100d45780633659cfe6146100de5780636d70f7ae146100f1578063715018a6146101325780638da5cb5b1461013a5780639870d7fe1461015f575b600080fd5b6100dc610218565b005b6100dc6100ec3660046106b9565b610223565b61011d6100ff3660046106b9565b6001600160a01b031660009081526065602052604090205460ff1690565b60405190151581526020015b60405180910390f35b6100dc610278565b6033546001600160a01b03165b6040516001600160a01b039091168152602001610129565b6100dc61016d3660046106b9565b6102ec565b6101476101803660046107fe565b610322565b609854610147906001600160a01b031681565b6100dc6101a63660046106b9565b61034c565b6101476101b93660046106e7565b61037f565b6101476101cc3660046106e7565b6103b4565b6101476101df366004610754565b8051602081830181018051609a825292820191909301209152546001600160a01b031681565b6100dc6102133660046106b9565b61052c565b61022133610617565b565b6033546001600160a01b031633146102565760405162461bcd60e51b815260040161024d90610826565b60405180910390fd5b609880546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b031633146102a25760405162461bcd60e51b815260040161024d90610826565b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380546001600160a01b0319169055565b6033546001600160a01b031633146103165760405162461bcd60e51b815260040161024d90610826565b61031f81610660565b50565b6099818154811061033257600080fd5b6000918252602090912001546001600160a01b0316905081565b6033546001600160a01b031633146103765760405162461bcd60e51b815260040161024d90610826565b61031f81610617565b6000609a8383604051610393929190610816565b908152604051908190036020019020546001600160a01b0316905092915050565b3360009081526065602052604081205460ff166104305760405162461bcd60e51b815260206004820152603460248201527f4f70657261746f72526f6c653a2063616c6c657220646f6573206e6f74206861604482015273766520746865204f70657261746f7220726f6c6560601b606482015260840161024d565b600060405180602001610442906106ac565b6020820181038252601f19601f8201166040525090506000848460405160200161046d929190610816565b604051602081830303815290604052805190602001209050808251602084016000f592506001600160a01b0383166104df5760405162461bcd60e51b81526020600482015260156024820152746572726f72207768696c65206465706c6f79696e6760581b604482015260640161024d565b82609a86866040516104f2929190610816565b908152602001604051809103902060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550505092915050565b6033546001600160a01b031633146105565760405162461bcd60e51b815260040161024d90610826565b6001600160a01b0381166105bb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161024d565b6033546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603380546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038116600081815260656020526040808220805460ff19169055517f80c0b871b97b595b16a7741c1b06fed0c6f6f558639f18ccbce50724325dc40d9190a250565b6001600160a01b038116600081815260656020526040808220805460ff19166001179055517fac6fa858e9350a46cec16539926e0fde25b7629f84b5a72bffaae4df888ae86d9190a250565b6101de8061087283390190565b6000602082840312156106ca578081fd5b81356001600160a01b03811681146106e0578182fd5b9392505050565b600080602083850312156106f9578081fd5b823567ffffffffffffffff80821115610710578283fd5b818501915085601f830112610723578283fd5b813581811115610731578384fd5b866020828501011115610742578384fd5b60209290920196919550909350505050565b600060208284031215610765578081fd5b813567ffffffffffffffff8082111561077c578283fd5b818401915084601f83011261078f578283fd5b8135818111156107a1576107a161085b565b604051601f8201601f19908116603f011681019083821181831017156107c9576107c961085b565b816040528281528760208487010111156107e1578586fd5b826020860160208301379182016020019490945295945050505050565b60006020828403121561080f578081fd5b5035919050565b6000828483379101908152919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052604160045260246000fdfe608060405234801561001057600080fd5b5061005d33604080517f666169726d696e742e626561636f6e70726f78792e626561636f6e00000000006020808301919091528251601b818403018152603b909201909252805191012055565b6101728061006c6000396000f3fe6080604052600061000e610035565b90503660008037600080366000845af43d806000803e81801561003057816000f35b816000fd5b6000806100406100b9565b9050806001600160a01b031663a9dfa7116040518163ffffffff1660e01b815260040160206040518083038186803b15801561007b57600080fd5b505afa15801561008f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100b3919061010e565b91505090565b6000806040516020016100ef907f666169726d696e742e626561636f6e70726f78792e626561636f6e00000000008152601b0190565b60408051601f1981840301815291905280516020909101205492915050565b60006020828403121561011f578081fd5b81516001600160a01b0381168114610135578182fd5b939250505056fea2646970667358221220708e96778078df402acd1d78ee82eeedde4e0d3ea9fe834312ea1f5214bf45b064736f6c63430008030033a2646970667358221220a5cc464f30d2dd6ac5dce942a2527a57478536e2ba4b4927b5d781e06d2c6a5f64736f6c63430008030033496e697469616c697a61626c653a20636f6e747261637420697320616c72656100000000000000000000000062c3d77893edbdf492330295e33f98a7f3ba5bbc
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063a7a38f0b1161008c578063bf40fac111610066578063bf40fac1146101ab578063c7602316146101be578063da0d962a146101d1578063f2fde38b14610205576100cf565b8063a7a38f0b14610172578063a9dfa71114610185578063ac8a584a14610198576100cf565b80632ab6f8db146100d45780633659cfe6146100de5780636d70f7ae146100f1578063715018a6146101325780638da5cb5b1461013a5780639870d7fe1461015f575b600080fd5b6100dc610218565b005b6100dc6100ec3660046106b9565b610223565b61011d6100ff3660046106b9565b6001600160a01b031660009081526065602052604090205460ff1690565b60405190151581526020015b60405180910390f35b6100dc610278565b6033546001600160a01b03165b6040516001600160a01b039091168152602001610129565b6100dc61016d3660046106b9565b6102ec565b6101476101803660046107fe565b610322565b609854610147906001600160a01b031681565b6100dc6101a63660046106b9565b61034c565b6101476101b93660046106e7565b61037f565b6101476101cc3660046106e7565b6103b4565b6101476101df366004610754565b8051602081830181018051609a825292820191909301209152546001600160a01b031681565b6100dc6102133660046106b9565b61052c565b61022133610617565b565b6033546001600160a01b031633146102565760405162461bcd60e51b815260040161024d90610826565b60405180910390fd5b609880546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b031633146102a25760405162461bcd60e51b815260040161024d90610826565b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380546001600160a01b0319169055565b6033546001600160a01b031633146103165760405162461bcd60e51b815260040161024d90610826565b61031f81610660565b50565b6099818154811061033257600080fd5b6000918252602090912001546001600160a01b0316905081565b6033546001600160a01b031633146103765760405162461bcd60e51b815260040161024d90610826565b61031f81610617565b6000609a8383604051610393929190610816565b908152604051908190036020019020546001600160a01b0316905092915050565b3360009081526065602052604081205460ff166104305760405162461bcd60e51b815260206004820152603460248201527f4f70657261746f72526f6c653a2063616c6c657220646f6573206e6f74206861604482015273766520746865204f70657261746f7220726f6c6560601b606482015260840161024d565b600060405180602001610442906106ac565b6020820181038252601f19601f8201166040525090506000848460405160200161046d929190610816565b604051602081830303815290604052805190602001209050808251602084016000f592506001600160a01b0383166104df5760405162461bcd60e51b81526020600482015260156024820152746572726f72207768696c65206465706c6f79696e6760581b604482015260640161024d565b82609a86866040516104f2929190610816565b908152602001604051809103902060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550505092915050565b6033546001600160a01b031633146105565760405162461bcd60e51b815260040161024d90610826565b6001600160a01b0381166105bb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161024d565b6033546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603380546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038116600081815260656020526040808220805460ff19169055517f80c0b871b97b595b16a7741c1b06fed0c6f6f558639f18ccbce50724325dc40d9190a250565b6001600160a01b038116600081815260656020526040808220805460ff19166001179055517fac6fa858e9350a46cec16539926e0fde25b7629f84b5a72bffaae4df888ae86d9190a250565b6101de8061087283390190565b6000602082840312156106ca578081fd5b81356001600160a01b03811681146106e0578182fd5b9392505050565b600080602083850312156106f9578081fd5b823567ffffffffffffffff80821115610710578283fd5b818501915085601f830112610723578283fd5b813581811115610731578384fd5b866020828501011115610742578384fd5b60209290920196919550909350505050565b600060208284031215610765578081fd5b813567ffffffffffffffff8082111561077c578283fd5b818401915084601f83011261078f578283fd5b8135818111156107a1576107a161085b565b604051601f8201601f19908116603f011681019083821181831017156107c9576107c961085b565b816040528281528760208487010111156107e1578586fd5b826020860160208301379182016020019490945295945050505050565b60006020828403121561080f578081fd5b5035919050565b6000828483379101908152919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052604160045260246000fdfe608060405234801561001057600080fd5b5061005d33604080517f666169726d696e742e626561636f6e70726f78792e626561636f6e00000000006020808301919091528251601b818403018152603b909201909252805191012055565b6101728061006c6000396000f3fe6080604052600061000e610035565b90503660008037600080366000845af43d806000803e81801561003057816000f35b816000fd5b6000806100406100b9565b9050806001600160a01b031663a9dfa7116040518163ffffffff1660e01b815260040160206040518083038186803b15801561007b57600080fd5b505afa15801561008f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100b3919061010e565b91505090565b6000806040516020016100ef907f666169726d696e742e626561636f6e70726f78792e626561636f6e00000000008152601b0190565b60408051601f1981840301815291905280516020909101205492915050565b60006020828403121561011f578081fd5b81516001600160a01b0381168114610135578182fd5b939250505056fea2646970667358221220708e96778078df402acd1d78ee82eeedde4e0d3ea9fe834312ea1f5214bf45b064736f6c63430008030033a2646970667358221220a5cc464f30d2dd6ac5dce942a2527a57478536e2ba4b4927b5d781e06d2c6a5f64736f6c63430008030033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000062c3d77893edbdf492330295e33f98a7f3ba5bbc
-----Decoded View---------------
Arg [0] : _initialCopy (address): 0x62c3d77893EdBdF492330295E33f98a7F3ba5BBc
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000062c3d77893edbdf492330295e33f98a7f3ba5bbc
Deployed Bytecode Sourcemap
15719:954:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15240:81;;;:::i;:::-;;16024:98;;;;;;:::i;:::-;;:::i;14911:109::-;;;;;;:::i;:::-;-1:-1:-1;;;;;14993:19:0;14969:4;14993:19;;;:10;:19;;;;;;;;;14911:109;;;;2792:14:1;;2785:22;2767:41;;2755:2;2740:18;14911:109:0;;;;;;;;13546:148;;;:::i;12895:87::-;12968:6;;-1:-1:-1;;;;;12968:6:0;12895:87;;;-1:-1:-1;;;;;2583:32:1;;;2565:51;;2553:2;2538:18;12895:87:0;2520:102:1;15028:95:0;;;;;;:::i;:::-;;:::i;15812:24::-;;;;;;:::i;:::-;;:::i;15769:34::-;;;;;-1:-1:-1;;;;;15769:34:0;;;15131:101;;;;;;:::i;:::-;;:::i;16555:115::-;;;;;;:::i;:::-;;:::i;16130:417::-;;;;;;:::i;:::-;;:::i;15845:41::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15845:41:0;;;13849:244;;;;;;:::i;:::-;;:::i;15240:81::-;15286:27;15302:10;15286:15;:27::i;:::-;15240:81::o;16024:98::-;12968:6;;-1:-1:-1;;;;;12968:6:0;11254:10;13115:23;13107:68;;;;-1:-1:-1;;;13107:68:0;;;;;;;:::i;:::-;;;;;;;;;16092:10:::1;:22:::0;;-1:-1:-1;;;;;;16092:22:0::1;-1:-1:-1::0;;;;;16092:22:0;;;::::1;::::0;;;::::1;::::0;;16024:98::o;13546:148::-;12968:6;;-1:-1:-1;;;;;12968:6:0;11254:10;13115:23;13107:68;;;;-1:-1:-1;;;13107:68:0;;;;;;;:::i;:::-;13637:6:::1;::::0;13616:40:::1;::::0;13653:1:::1;::::0;-1:-1:-1;;;;;13637:6:0::1;::::0;13616:40:::1;::::0;13653:1;;13616:40:::1;13667:6;:19:::0;;-1:-1:-1;;;;;;13667:19:0::1;::::0;;13546:148::o;15028:95::-;12968:6;;-1:-1:-1;;;;;12968:6:0;11254:10;13115:23;13107:68;;;;-1:-1:-1;;;13107:68:0;;;;;;;:::i;:::-;15094:21:::1;15107:7;15094:12;:21::i;:::-;15028:95:::0;:::o;15812:24::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15812:24:0;;-1:-1:-1;15812:24:0;:::o;15131:101::-;12968:6;;-1:-1:-1;;;;;12968:6:0;11254:10;13115:23;13107:68;;;;-1:-1:-1;;;13107:68:0;;;;;;;:::i;:::-;15200:24:::1;15216:7;15200:15;:24::i;16555:115::-:0;16621:7;16648;16656:5;;16648:14;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;16648:14:0;;-1:-1:-1;16555:115:0;;;;:::o;16130:417::-;14792:10;16199:12;14993:19;;;:10;:19;;;;;;;;14759:124;;;;-1:-1:-1;;;14759:124:0;;3428:2:1;14759:124:0;;;3410:21:1;3467:2;3447:18;;;3440:30;3506:34;3486:18;;;3479:62;-1:-1:-1;;;3557:18:1;;;3550:50;3617:19;;14759:124:0;3400:242:1;14759:124:0;16223:21:::1;16247:30;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;16223:54;;16288:12;16330:5;;16313:23;;;;;;;;;:::i;:::-;;;;;;;;;;;;;16303:34;;;;;;16288:49;;16429:4;16418:8;16412:15;16405:4;16395:8;16391:19;16388:1;16380:54;16372:62:::0;-1:-1:-1;;;;;;16463:18:0;::::1;16455:52;;;::::0;-1:-1:-1;;;16455:52:0;;3849:2:1;16455:52:0::1;::::0;::::1;3831:21:1::0;3888:2;3868:18;;;3861:30;-1:-1:-1;;;3907:18:1;;;3900:51;3968:18;;16455:52:0::1;3821:171:1::0;16455:52:0::1;16535:4;16518:7;16526:5;;16518:14;;;;;;;:::i;:::-;;;;;;;;;;;;;;:21;;;;;-1:-1:-1::0;;;;;16518:21:0::1;;;;;-1:-1:-1::0;;;;;16518:21:0::1;;;;;;14894:1;;16130:417:::0;;;;:::o;13849:244::-;12968:6;;-1:-1:-1;;;;;12968:6:0;11254:10;13115:23;13107:68;;;;-1:-1:-1;;;13107:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13938:22:0;::::1;13930:73;;;::::0;-1:-1:-1;;;13930:73:0;;3021:2:1;13930:73:0::1;::::0;::::1;3003:21:1::0;3060:2;3040:18;;;3033:30;3099:34;3079:18;;;3072:62;-1:-1:-1;;;3150:18:1;;;3143:36;3196:19;;13930:73:0::1;2993:228:1::0;13930:73:0::1;14040:6;::::0;14019:38:::1;::::0;-1:-1:-1;;;;;14019:38:0;;::::1;::::0;14040:6:::1;::::0;14019:38:::1;::::0;14040:6:::1;::::0;14019:38:::1;14068:6;:17:::0;;-1:-1:-1;;;;;;14068:17:0::1;-1:-1:-1::0;;;;;14068:17:0;;;::::1;::::0;;;::::1;::::0;;13849:244::o;15468:137::-;-1:-1:-1;;;;;15530:19:0;;15552:5;15530:19;;;:10;:19;;;;;;:27;;-1:-1:-1;;15530:27:0;;;15573:24;;;15552:5;15573:24;15468:137;:::o;15329:131::-;-1:-1:-1;;;;;15388:19:0;;;;;;:10;:19;;;;;;:26;;-1:-1:-1;;15388:26:0;15410:4;15388:26;;;15430:22;;;15388:19;15430:22;15329:131;:::o;-1:-1:-1:-;;;;;;;;:::o;14:306:1:-;;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;178:23;;-1:-1:-1;;;;;230:31:1;;220:42;;210:2;;281:6;273;266:22;210:2;309:5;84:236;-1:-1:-1;;;84:236:1:o;325:642::-;;;457:2;445:9;436:7;432:23;428:32;425:2;;;478:6;470;463:22;425:2;523:9;510:23;552:18;593:2;585:6;582:14;579:2;;;614:6;606;599:22;579:2;657:6;646:9;642:22;632:32;;702:7;695:4;691:2;687:13;683:27;673:2;;729:6;721;714:22;673:2;774;761:16;800:2;792:6;789:14;786:2;;;821:6;813;806:22;786:2;871:7;866:2;857:6;853:2;849:15;845:24;842:37;839:2;;;897:6;889;882:22;839:2;933;925:11;;;;;955:6;;-1:-1:-1;415:552:1;;-1:-1:-1;;;;415:552:1:o;972:967::-;;1094:2;1082:9;1073:7;1069:23;1065:32;1062:2;;;1115:6;1107;1100:22;1062:2;1160:9;1147:23;1189:18;1230:2;1222:6;1219:14;1216:2;;;1251:6;1243;1236:22;1216:2;1294:6;1283:9;1279:22;1269:32;;1339:7;1332:4;1328:2;1324:13;1320:27;1310:2;;1366:6;1358;1351:22;1310:2;1407;1394:16;1429:2;1425;1422:10;1419:2;;;1435:18;;:::i;:::-;1510:2;1504:9;1478:2;1564:13;;-1:-1:-1;;1560:22:1;;;1584:2;1556:31;1552:40;1540:53;;;1608:18;;;1628:22;;;1605:46;1602:2;;;1654:18;;:::i;:::-;1694:10;1690:2;1683:22;1729:2;1721:6;1714:18;1769:7;1764:2;1759;1755;1751:11;1747:20;1744:33;1741:2;;;1795:6;1787;1780:22;1741:2;1856;1851;1847;1843:11;1838:2;1830:6;1826:15;1813:46;1879:15;;;1896:2;1875:24;1868:40;;;;1883:6;1052:887;-1:-1:-1;;;;;1052:887:1:o;1944:190::-;;2056:2;2044:9;2035:7;2031:23;2027:32;2024:2;;;2077:6;2069;2062:22;2024:2;-1:-1:-1;2105:23:1;;2014:120;-1:-1:-1;2014:120:1:o;2139:275::-;;2324:6;2316;2311:3;2298:33;2350:16;;2375:15;;;2350:16;2288:126;-1:-1:-1;2288:126:1:o;3997:356::-;4199:2;4181:21;;;4218:18;;;4211:30;4277:34;4272:2;4257:18;;4250:62;4344:2;4329:18;;4171:182::o;4358:127::-;4419:10;4414:3;4410:20;4407:1;4400:31;4450:4;4447:1;4440:15;4474:4;4471:1;4464:15
Swarm Source
ipfs://a5cc464f30d2dd6ac5dce942a2527a57478536e2ba4b4927b5d781e06d2c6a5f
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.