Feature Tip: Add private address tag to any address under My Name Tag !
ERC-721
Overview
Max Total Supply
0 HBZ
Holders
538
Market
Volume (24H)
N/A
Min Price (24H)
N/A
Max Price (24H)
N/A
Other Info
Token Contract
Balance
3 HBZLoading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Proxy
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-01-12 */ // File: TestContracts/Proxy.sol pragma solidity 0.8.7; /// @dev Proxy for NFT Factory contract Proxy { // Storage for this proxy bytes32 private constant IMPLEMENTATION_SLOT = bytes32(0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc); bytes32 private constant ADMIN_SLOT = bytes32(0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103); constructor(address impl) { require(impl != address(0)); _setSlotValue(IMPLEMENTATION_SLOT, bytes32(uint256(uint160(impl)))); _setSlotValue(ADMIN_SLOT, bytes32(uint256(uint160(msg.sender)))); } function setImplementation(address newImpl) public { require(msg.sender == _getAddress(ADMIN_SLOT)); _setSlotValue(IMPLEMENTATION_SLOT, bytes32(uint256(uint160(newImpl)))); } function implementation() public view returns (address impl) { impl = address(uint160(uint256(_getSlotValue(IMPLEMENTATION_SLOT)))); } function _getAddress(bytes32 key) internal view returns (address add) { add = address(uint160(uint256(_getSlotValue(key)))); } function _getSlotValue(bytes32 slot_) internal view returns (bytes32 value_) { assembly { value_ := sload(slot_) } } function _setSlotValue(bytes32 slot_, bytes32 value_) internal { assembly { sstore(slot_, value_) } } /** * @dev Delegates the current call to `implementation`. * * This function does not return to its internall 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 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(_getAddress(IMPLEMENTATION_SLOT)); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"impl","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"impl","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newImpl","type":"address"}],"name":"setImplementation","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b5060405161048738038061048783398181016040528101906100329190610126565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561006c57600080fd5b6100b87f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b8273ffffffffffffffffffffffffffffffffffffffff1660001b61010a60201b60201c565b6101047fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b3373ffffffffffffffffffffffffffffffffffffffff1660001b61010a60201b60201c565b506101a1565b8082555050565b6000815190506101208161018a565b92915050565b60006020828403121561013c5761013b610185565b5b600061014a84828501610111565b91505092915050565b600061015e82610165565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b61019381610153565b811461019e57600080fd5b50565b6102d7806101b06000396000f3fe60806040526004361061002d5760003560e01c80635c60da1b14610064578063d784d4261461008f5761002e565b5b61006261005d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6100b8565b6100cd565b005b34801561007057600080fd5b506100796100f3565b6040516100869190610238565b60405180910390f35b34801561009b57600080fd5b506100b660048036038101906100b191906101fc565b610129565b005b60006100c3826101d5565b60001c9050919050565b3660008037600080366000845af43d6000803e80600081146100ee573d6000f35b3d6000fd5b60006101217f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6101d5565b60001c905090565b6101557fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b6100b8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461018c57600080fd5b6101d27f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b8273ffffffffffffffffffffffffffffffffffffffff1660001b6101e0565b50565b600081549050919050565b8082555050565b6000813590506101f68161028a565b92915050565b60006020828403121561021257610211610285565b5b6000610220848285016101e7565b91505092915050565b61023281610253565b82525050565b600060208201905061024d6000830184610229565b92915050565b600061025e82610265565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b61029381610253565b811461029e57600080fd5b5056fea2646970667358221220248d11a3fde11665845c4dc288385c5eeda3ee4e694ae94949913a89afcbdb8d64736f6c6343000807003300000000000000000000000051702af5ded9964272744939741dd04631d94431
Deployed Bytecode
0x60806040526004361061002d5760003560e01c80635c60da1b14610064578063d784d4261461008f5761002e565b5b61006261005d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6100b8565b6100cd565b005b34801561007057600080fd5b506100796100f3565b6040516100869190610238565b60405180910390f35b34801561009b57600080fd5b506100b660048036038101906100b191906101fc565b610129565b005b60006100c3826101d5565b60001c9050919050565b3660008037600080366000845af43d6000803e80600081146100ee573d6000f35b3d6000fd5b60006101217f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6101d5565b60001c905090565b6101557fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b6100b8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461018c57600080fd5b6101d27f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b8273ffffffffffffffffffffffffffffffffffffffff1660001b6101e0565b50565b600081549050919050565b8082555050565b6000813590506101f68161028a565b92915050565b60006020828403121561021257610211610285565b5b6000610220848285016101e7565b91505092915050565b61023281610253565b82525050565b600060208201905061024d6000830184610229565b92915050565b600061025e82610265565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b61029381610253565b811461029e57600080fd5b5056fea2646970667358221220248d11a3fde11665845c4dc288385c5eeda3ee4e694ae94949913a89afcbdb8d64736f6c63430008070033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000051702af5ded9964272744939741dd04631d94431
-----Decoded View---------------
Arg [0] : impl (address): 0x51702Af5DeD9964272744939741dD04631D94431
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000051702af5ded9964272744939741dd04631d94431
Deployed Bytecode Sourcemap
94:2799:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;2837:43;2847:32;204:66;196:75;;2847:11;:32::i;:::-;2837:9;:43::i;:::-;94:2799;853:148;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;644:197;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1009:140;1066:11;1120:18;1134:3;1120:13;:18::i;:::-;1112:27;;1090:51;;1009:140;;;:::o;1663:922::-;2008:14;2005:1;2002;1989:34;2228:1;2225;2209:14;2206:1;2188:16;2181:5;2168:62;2307:16;2304:1;2301;2286:38;2347:6;2421:1;2416:68;;;;2535:16;2532:1;2525:27;2416:68;2452:16;2449:1;2442:27;853:148;900:12;956:34;204:66;196:75;;956:13;:34::i;:::-;948:43;;925:68;;853:148;:::o;644:197::-;728:23;333:66;325:75;;728:11;:23::i;:::-;714:37;;:10;:37;;;706:46;;;;;;763:70;204:66;196:75;;822:7;806:25;;798:34;;763:13;:70::i;:::-;644:197;:::o;1157:152::-;1218:14;1285:5;1279:12;1269:22;;1157:152;;;:::o;1317:137::-;1429:6;1422:5;1415:21;1317:137;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:329::-;211:6;260:2;248:9;239:7;235:23;231:32;228:119;;;266:79;;:::i;:::-;228:119;386:1;411:53;456:7;447:6;436:9;432:22;411:53;:::i;:::-;401:63;;357:117;152:329;;;;:::o;487:118::-;574:24;592:5;574:24;:::i;:::-;569:3;562:37;487:118;;:::o;611:222::-;704:4;742:2;731:9;727:18;719:26;;755:71;823:1;812:9;808:17;799:6;755:71;:::i;:::-;611:222;;;;:::o;920:96::-;957:7;986:24;1004:5;986:24;:::i;:::-;975:35;;920:96;;;:::o;1022:126::-;1059:7;1099:42;1092:5;1088:54;1077:65;;1022:126;;;:::o;1277:117::-;1386:1;1383;1376:12;1400:122;1473:24;1491:5;1473:24;:::i;:::-;1466:5;1463:35;1453:63;;1512:1;1509;1502:12;1453:63;1400:122;:::o
Swarm Source
ipfs://248d11a3fde11665845c4dc288385c5eeda3ee4e694ae94949913a89afcbdb8d
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.