ETH Price: $3,433.93 (+1.04%)

Token

ERC20 ***
 

Overview

Max Total Supply

365 ERC20 ***

Holders

286

Market

Volume (24H)

N/A

Min Price (24H)

N/A

Max Price (24H)

N/A
Filtered by Token Holder
cowrie.eth
Balance
1 ERC20 ***
0x81d98c8fda0410ee3e9d7586cb949cd19fa4cf38
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x49542aD0...23F0a6369
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
MirrorProxy

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
Yes with 2000 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2021-12-05
*/

// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity 0.8.10;

/**
 * @title MirrorProxy
 * @author MirrorXYZ
 * The MirrorProxy contract is used to deploy minimal proxies.
 */
contract MirrorProxy {
    /**
     * @dev Storage slot with the address of the current implementation.
     * This is the keccak-256 hash of "eip1967.proxy.implementation" subtracted by 1, and is
     * validated in the constructor.
     */
    bytes32 internal constant _IMPLEMENTATION_SLOT =
        0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;

    /**
     * @notice Initializes a proxy by delegating logic to the implementation,
     * and reverts if the call is not successful. Stores implementation logic.
     * @param implementation - the implementation holds the logic for all proxies
     * @param initializationData - initialization call
     */
    constructor(address implementation, bytes memory initializationData) {
        // Delegatecall into the implementation, supplying initialization calldata.
        (bool ok, ) = implementation.delegatecall(initializationData);

        // Revert and include revert data if delegatecall to implementation reverts.
        if (!ok) {
            assembly {
                returndatacopy(0, 0, returndatasize())
                revert(0, returndatasize())
            }
        }

        assembly {
            sstore(_IMPLEMENTATION_SLOT, implementation)
        }
    }

    /**
     * @notice When any function is called on this contract, we delegate to
     * the logic contract stored in the implementation storage slot.
     */
    fallback() external payable {
        assembly {
            let ptr := mload(0x40)
            calldatacopy(ptr, 0, calldatasize())
            let result := delegatecall(
                gas(),
                sload(_IMPLEMENTATION_SLOT),
                ptr,
                calldatasize(),
                0,
                0
            )
            let size := returndatasize()
            returndatacopy(ptr, 0, size)

            switch result
            case 0 {
                revert(ptr, size)
            }
            default {
                return(ptr, size)
            }
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"implementation","type":"address"},{"internalType":"bytes","name":"initializationData","type":"bytes"}],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"}]

608060405234801561001057600080fd5b5060405161028238038061028283398101604081905261002f9161010b565b6000826001600160a01b03168260405161004991906101d9565b600060405180830381855af49150503d8060008114610084576040519150601f19603f3d011682016040523d82523d6000602084013e610089565b606091505b505090508061009c573d6000803e3d6000fd5b50507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc556101f5565b634e487b7160e01b600052604160045260246000fd5b60005b838110156100f65781810151838201526020016100de565b83811115610105576000848401525b50505050565b6000806040838503121561011e57600080fd5b82516001600160a01b038116811461013557600080fd5b60208401519092506001600160401b038082111561015257600080fd5b818501915085601f83011261016657600080fd5b815181811115610178576101786100c5565b604051601f8201601f19908116603f011681019083821181831017156101a0576101a06100c5565b816040528281528860208487010111156101b957600080fd5b6101ca8360208301602088016100db565b80955050505050509250929050565b600082516101eb8184602087016100db565b9190910192915050565b607f806102036000396000f3fe6080604052604051366000823760008036837f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d806000843e8180156045578184f35b8184fdfea264697066735822122036b5b33695501d38010c0c4b54421ed69b6a79f3a7d5575de37b45130d39e15b64736f6c634300080a00330000000000000000000000007ad52eceffcb3bd41bc434a9acfecdbc8ef8450e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000002a46039dca90000000000000000000000000000000000000000000000000000000000000120000000000000000000000000942cbea64876ff0b2e23c0712b37dc0091804e9c000000000000000000000000942cbea64876ff0b2e23c0712b37dc0091804e9c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200b1b5f34d93337da6e23d2d2fa0744ddcabf943513e38335cbca1bd74ecf1a420000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001554657374204d6972726f72204f70656e2053616c650000000000000000000000000000000000000000000000000000000000000000000000000000000000000c544553544f50454e53414c450000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003668747470733a2f2f6d6972726f722d6170692e636f6d2f65646974696f6e732f637573746f6d2f6f70656e2d73616c652d746573742f0000000000000000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052604051366000823760008036837f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d806000843e8180156045578184f35b8184fdfea264697066735822122036b5b33695501d38010c0c4b54421ed69b6a79f3a7d5575de37b45130d39e15b64736f6c634300080a0033

Deployed Bytecode Sourcemap

192:2092:0:-:0;;;1730:4;1724:11;1770:14;1767:1;1762:3;1749:36;1989:1;1969;1936:14;1914:3;1874:20;1868:27;1844:5;1813:192;2031:16;2084:4;2081:1;2076:3;2061:28;2112:6;2132:58;;;;2243:4;2238:3;2231:17;2132:58;2170:4;2165:3;2158:17

Swarm Source

ipfs://36b5b33695501d38010c0c4b54421ed69b6a79f3a7d5575de37b45130d39e15b
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.