Feature Tip: Add private address tag to any address under My Name Tag !
ERC-721
Overview
Max Total Supply
908 AMFAR
Holders
246
Market
Volume (24H)
N/A
Min Price (24H)
N/A
Max Price (24H)
N/A
Other Info
Token Contract
Balance
1 AMFARLoading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0xdBc63dEd...0755c5d21 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
FairxyzBeaconProxy
Compiler Version
v0.8.19+commit.7dd6d404
Optimization Enabled:
Yes with 10000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity 0.8.19; import {IBeacon} from "@openzeppelin/contracts/proxy/beacon/IBeacon.sol"; /** * @dev This contract implements a proxy that gets the implementation address for each call from an {UpgradeableBeacon}. * * The beacon address is stored in storage slot `uint256(keccak256('eip1967.proxy.beacon')) - 1`, so that it doesn't * conflict with the storage layout of the implementation behind the proxy. */ contract FairxyzBeaconProxy { /** * @dev Emitted when the beacon is upgraded. */ event BeaconUpgraded(address indexed beacon); struct AddressSlot { address value; } /** * @dev The storage slot of the Beacon contract which defines the implementation for this proxy. * This is bytes32(uint256(keccak256('eip1967.proxy.beacon')) - 1)) and is validated in the constructor. */ bytes32 internal constant _BEACON_SLOT = 0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50; /** * @dev Initializes the proxy, upgrading to beacon `beacon`. * * If `data` is nonempty, it's used as data in a delegate call to the implementation returned by the beacon. This * will typically be an encoded function call, and allows initializing the storage of the proxy like a Solidity * constructor. * * Requirements: * * - `beacon` must be a contract with the interface {IBeacon}. */ constructor(address beacon, bytes memory data) payable { _upgradeBeaconToAndCall(beacon, data); } /** * @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if no other * function in the contract matches the call data. */ fallback() external payable virtual { _delegate(_implementation()); } /** * @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if call data * is empty. */ receive() external payable virtual { _delegate(_implementation()); } /** * @dev Delegates the current call to `implementation`. * * This function does not return to its internal call site, it will return directly to the external caller. */ function _delegate(address implementation) internal virtual { assembly { // Copy msg.data. We take full control of memory in this inline assembly // block because it will not return to Solidity code. We overwrite the // Solidity scratch pad at memory position 0. calldatacopy(0, 0, calldatasize()) // Call the implementation. // out and outsize are 0 because we don't know the size yet. let result := delegatecall( gas(), implementation, 0, calldatasize(), 0, 0 ) // Copy the returned data. returndatacopy(0, 0, returndatasize()) switch result // delegatecall returns 0 on error. case 0 { revert(0, returndatasize()) } default { return(0, returndatasize()) } } } /** * @dev Returns an `AddressSlot` with member `value` located at `slot`. */ function _getAddressSlot( bytes32 slot ) internal pure returns (AddressSlot storage r) { /// @solidity memory-safe-assembly assembly { r.slot := slot } } /** * @dev Returns the current implementation address of the associated beacon. */ function _implementation() internal view virtual returns (address) { return IBeacon(_getAddressSlot(_BEACON_SLOT).value).implementation(); } /** * @dev Perform beacon upgrade with additional setup call. Note: This upgrades the address of the beacon, it does * not upgrade the implementation contained in the beacon (see {UpgradeableBeacon-_setImplementation} for that). * * Emits a {BeaconUpgraded} event. */ function _upgradeBeaconToAndCall( address newBeacon, bytes memory data ) internal { require( newBeacon.code.length > 0, "ERC1967: new beacon is not a contract" ); address implementation = IBeacon(newBeacon).implementation(); require( implementation.code.length > 0, "ERC1967: beacon implementation is not a contract" ); _getAddressSlot(_BEACON_SLOT).value = newBeacon; emit BeaconUpgraded(newBeacon); if (data.length > 0) { (bool success, bytes memory returndata) = implementation .delegatecall(data); if (!success) { if (returndata.length > 0) { assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert("Address: low-level delegate call failed"); } } } } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (proxy/beacon/IBeacon.sol) pragma solidity ^0.8.0; /** * @dev This is the interface that {BeaconProxy} expects of its beacon. */ interface IBeacon { /** * @dev Must return an address that can be used as a delegate call target. * * {BeaconProxy} will check that this address is a contract. */ function implementation() external view returns (address); }
{ "optimizer": { "enabled": true, "runs": 10000 }, "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":"beacon","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beacon","type":"address"}],"name":"BeaconUpgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405260405161058f38038061058f83398101604081905261002291610311565b61002c8282610033565b505061040f565b6000826001600160a01b03163b116100a05760405162461bcd60e51b815260206004820152602560248201527f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e6044820152641d1c9858dd60da1b60648201526084015b60405180910390fd5b6000826001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100e0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061010491906103d1565b90506000816001600160a01b03163b116101795760405162461bcd60e51b815260206004820152603060248201527f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206960448201526f1cc81b9bdd08184818dbdb9d1c9858dd60821b6064820152608401610097565b7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5080546001600160a01b0319166001600160a01b0385169081179091556040517f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e90600090a28151156102b657600080826001600160a01b03168460405161020191906103f3565b600060405180830381855af49150503d806000811461023c576040519150601f19603f3d011682016040523d82523d6000602084013e610241565b606091505b5091509150816102b35780511561025b5780518082602001fd5b60405162461bcd60e51b815260206004820152602760248201527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c6044820152660819985a5b195960ca1b6064820152608401610097565b50505b505050565b80516001600160a01b03811681146102d257600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156103085781810151838201526020016102f0565b50506000910152565b6000806040838503121561032457600080fd5b61032d836102bb565b60208401519092506001600160401b038082111561034a57600080fd5b818501915085601f83011261035e57600080fd5b815181811115610370576103706102d7565b604051601f8201601f19908116603f01168101908382118183101715610398576103986102d7565b816040528281528860208487010111156103b157600080fd5b6103c28360208301602088016102ed565b80955050505050509250929050565b6000602082840312156103e357600080fd5b6103ec826102bb565b9392505050565b600082516104058184602087016102ed565b9190910192915050565b6101718061041e6000396000f3fe60806040523661001b57610019610014610022565b6100da565b005b6100196100145b7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5054604080517f5c60da1b000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691635c60da1b9160048083019260209291908290030181865afa1580156100b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100d591906100fe565b905090565b3660008037600080366000845af43d6000803e8080156100f9573d6000f35b3d6000fd5b60006020828403121561011057600080fd5b815173ffffffffffffffffffffffffffffffffffffffff8116811461013457600080fd5b939250505056fea26469706673582212205f937e101a15b5b43cb683925cb18aa9952c3258643ff276fc0c5c7cd665df4c64736f6c63430008130033000000000000000000000000e1b12cf925475dd0b019ca5b992edc68fa33d5fa000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003a465a79c8d00000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000a418734c291ecb1b694ffc5ab7fcd0d12a496ed300000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000124d7574616e742043617274656c204f617468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044f415448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000072e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000036697066733a2f2f516d633459456b78343163566f6b525462464a796d65344573435758714455676b44543272364143434e584854323f00000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000649df0d000000000000000000000000000000000000000000000000000000000a954f9800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000072e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x60806040523661001b57610019610014610022565b6100da565b005b6100196100145b7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5054604080517f5c60da1b000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691635c60da1b9160048083019260209291908290030181865afa1580156100b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100d591906100fe565b905090565b3660008037600080366000845af43d6000803e8080156100f9573d6000f35b3d6000fd5b60006020828403121561011057600080fd5b815173ffffffffffffffffffffffffffffffffffffffff8116811461013457600080fd5b939250505056fea26469706673582212205f937e101a15b5b43cb683925cb18aa9952c3258643ff276fc0c5c7cd665df4c64736f6c63430008130033
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.