ETH Price: $3,452.89 (+4.27%)

Token

HungerBrainz (HBZ)
 

Overview

Max Total Supply

0 HBZ

Holders

538

Market

Volume (24H)

N/A

Min Price (24H)

N/A

Max Price (24H)

N/A
Filtered by Token Holder
poopaloop.eth
Balance
3 HBZ
0x27DB134012676a0542c667c610920e269AFE89B9
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Proxy

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *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

Contract ABI

[{"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"}]

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.