Overview
ETH Balance
0 ETH
ETH Value
$0.00More Info
Private Name Tags
ContractCreator
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
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.
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x21704e10...af1596683 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
Proxy
Compiler Version
v0.8.25+commit.b61c2a91
ZkSolc Version
v1.5.7
Optimization Enabled:
Yes with Mode 3
Other Settings:
cancun EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /** * @title Minimal Proxy Contract * @dev Enhanced proxy implementation compatible with EIP-1967 */ contract Proxy { // EIP-1967 storage slots bytes32 private constant IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; constructor(address _impl) { require(_impl != address(0), "Invalid implementation"); assembly { sstore(IMPLEMENTATION_SLOT, _impl) } } /** * @dev Receive function to accept ETH */ receive() external payable { _fallback(); } /** * @dev Fallback function for all other calls */ fallback() external payable { _fallback(); } /** * @dev Returns the current implementation address */ function _implementation() internal view returns (address impl) { assembly { impl := sload(IMPLEMENTATION_SLOT) } } /** * @dev Core delegation function */ function _fallback() internal { address _impl = _implementation(); require(_impl != address(0), "Implementation not set"); assembly { // The pointer to the free memory slot let ptr := mload(0x40) // Copy function signature and arguments from calldata calldatacopy(ptr, 0, calldatasize()) // Delegate call to the implementation contract let result := delegatecall(gas(), _impl, ptr, calldatasize(), 0, 0) // Get the size of the last return data let size := returndatasize() // Copy the return data returndatacopy(ptr, 0, size) switch result case 0 { revert(ptr, size) } default { return(ptr, size) } } } }
{ "viaIR": true, "codegen": "yul", "remappings": [ "solady/=lib/solady/", "solemate/=/lib/solemate/src/", "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", "forge-std/=lib/forge-std/src/", "erc721a/contracts/=lib/ERC721A/contracts/", "erc721a-upgradeable/contracts/=lib/ERC721A-Upgradeable/contracts/", "@limitbreak/creator-token-standards/src/=lib/creator-token-standards/src/", "@limitbreak/permit-c/=lib/creator-token-standards/lib/PermitC/src/", "@opensea/tstorish/=lib/creator-token-standards/lib/tstorish/src/", "@openzeppelin/=lib/creator-token-standards/lib/openzeppelin-contracts/", "@rari-capital/solmate/=lib/creator-token-standards/lib/PermitC/lib/solmate/", "ERC721A-Upgradeable/=lib/ERC721A-Upgradeable/contracts/", "ERC721A/=lib/creator-token-standards/lib/ERC721A/contracts/", "PermitC/=lib/creator-token-standards/lib/PermitC/", "creator-token-standards/=lib/creator-token-standards/", "ds-test/=lib/solmate/lib/ds-test/src/", "erc4626-tests/=lib/creator-token-standards/lib/PermitC/lib/openzeppelin-contracts/lib/erc4626-tests/", "erc721a/=lib/creator-token-standards/lib/ERC721A/", "forge-gas-metering/=lib/creator-token-standards/lib/PermitC/lib/forge-gas-metering/", "murky/=lib/creator-token-standards/lib/murky/", "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/creator-token-standards/lib/PermitC/lib/openzeppelin-contracts/contracts/", "solmate/=lib/solmate/src/", "tstorish/=lib/creator-token-standards/lib/tstorish/src/" ], "evmVersion": "cancun", "outputSelection": { "*": { "*": [ "abi", "metadata" ], "": [ "ast" ] } }, "optimizer": { "enabled": true, "mode": "3", "fallback_to_optimizing_for_size": false, "disable_system_request_memoization": true }, "metadata": {}, "libraries": {}, "detectMissingLibraries": false, "enableEraVMExtensions": false, "forceEVMLA": false }
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"},{"stateMutability":"payable","type":"receive"}]
Deployed Bytecode
0x00010000000000020000006003100270000000390430019700000001002001900000001e0000c13d000000000341034f0000008002000039000000400020043f0000003d02000041000000000202041a0000003c05200197000000000004004b000000430000c13d000000000005004b000000450000613d0000000001000414000000040020008c000000820000c13d000000000100003100000045041001980000001f0510018f0000008002400039000000740000613d0000008006000039000000000703034f000000007807043c0000000006860436000000000026004b000000190000c13d000000740000013d0000000002000416000000000002004b000000410000c13d0000001f024000390000003a022001970000008002200039000000400020043f0000001f0340018f0000003b0540019800000080025000390000002f0000613d0000008006000039000000000701034f000000007807043c0000000006860436000000000026004b0000002b0000c13d000000000003004b0000003c0000613d000000000151034f0000000303300210000000000502043300000000053501cf000000000535022f000000000101043b0000010003300089000000000131022f00000000013101cf000000000151019f0000000000120435000000200040008c000000410000413d000000800100043d0000003c0010009c000000940000a13d0000000001000019000000e000010430000000000005004b0000004f0000c13d0000004001000041000000800010043f0000002001000039000000840010043f0000001601000039000000a40010043f0000004301000041000000c40010043f0000004401000041000000e0000104300000001f0640018f0000003b074001980000008005700039000000590000613d0000008008000039000000000901034f000000009a09043c0000000008a80436000000000058004b000000550000c13d000000000006004b000000660000613d000000000171034f0000000306600210000000000705043300000000076701cf000000000767022f000000000101043b0000010006600089000000000161022f00000000016101cf000000000171019f00000000001504350000000001000414000000040020008c000000a70000c13d000000000100003100000045041001980000001f0510018f0000008002400039000000740000613d0000008006000039000000000703034f000000007807043c0000000006860436000000000026004b000000700000c13d000000000005004b000000ca0000613d000000000343034f0000000304500210000000000502043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f0000000000320435000000ca0000013d000000390010009c0000003901008041000000c00110021000000042011001c700de00d90000040f00000060031002700000001f0530018f000000390030019d0000003b063001980000008004600039000000ba0000613d0000008007000039000000000801034f000000008908043c0000000007970436000000000047004b0000008f0000c13d000000ba0000013d000000000001004b000000d20000c13d000000400100043d00000044021000390000003f03000041000000000032043500000024021000390000001603000039000000000032043500000040020000410000000000210435000000040210003900000020030000390000000000320435000000390010009c0000003901008041000000400110021000000041011001c7000000e0000104300000006003400210000000390010009c0000003901008041000000c001100210000000000131019f00000042011001c700de00d90000040f000000800900003900000060031002700000001f0530018f000000390030019d0000003b063001980000008004600039000000ba0000613d000000000701034f000000007807043c0000000009890436000000000049004b000000b60000c13d000000000005004b000000c70000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f000000000014043500000039013001970000000100200190000000cf0000613d000000390010009c0000003901008041000000600110021000000042011001c7000000df0001042e000000600110021000000042011001c7000000e0000104300000003d02000041000000000012041b0000002001000039000001000010044300000120000004430000003e01000041000000df0001042e000000dc002104250000000102000039000000000001042d0000000002000019000000000001042d000000de00000432000000df0001042e000000e00001043000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff00000000000000000000000000000000000000000000000000000001ffffffe000000000000000000000000000000000000000000000000000000000ffffffe0000000000000000000000000ffffffffffffffffffffffffffffffffffffffff360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0000000200000000000000000000000000000040000001000000000000000000496e76616c696420696d706c656d656e746174696f6e0000000000000000000008c379a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000000000000800000000000000000496d706c656d656e746174696f6e206e6f7420736574000000000000000000000000000000000000000000000000000000000064000000800000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0cf1f84412826dd381355741c105c9c4933266b3451e80e3f3c5992387c233338
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ 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.