Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0x577E17c3CFBb5837764b83D43A07adF1dE02d9e0
Balance 0 ETH
Nonce 2
Code Size 850 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

850 bytes
0x6080604052600436106100295760003560e01c8063a619486e14610055578063d1f5789414610081575b600080546001600160a01b03163682803781823684845af490503d82833e80610050573d82fd5b503d81f35b34801561006157600080fd5b50600054604080516001600160a01b039092168252519081900360200190f35b34801561008d57600080fd5b506100a161009c36600461021d565b6100a3565b005b6000546001600160a01b0316156100f75760405162461bcd60e51b8152602060048201526013602482015272496e697469616c697a656420616c726561647960681b60448201526064015b60405180910390fd5b6001600160a01b0382166101585760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b60648201526084016100ee565b600080546001600160a01b0319166001600160a01b03841690811782556040516101839084906102ed565b600060405180830381855af49150503d80600081146101be576040519150601f19603f3d011682016040523d82523d6000602084013e6101c3565b606091505b50509050806102025760405162461bcd60e51b815260206004820152600b60248201526a1a5b9a5d0819985a5b195960aa1b60448201526064016100ee565b505050565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561023057600080fd5b82356001600160a01b038116811461024757600080fd5b9150602083013567ffffffffffffffff8082111561026457600080fd5b818501915085601f83011261027857600080fd5b81358181111561028a5761028a610207565b604051601f8201601f19908116603f011681019083821181831017156102b2576102b2610207565b816040528281528860208487010111156102cb57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000825160005b8181101561030e57602081860181015185830152016102f4565b50600092019182525091905056fea26469706673582212204562a53397a5ec95ae3a45e3c739fc82314f87e701a71907f89ebfd3656322ef64736f6c63430008110033

Verified Source Code Partial Match

Compiler: v0.8.17+commit.8df45f5f EVM: london Optimization: Yes (200 runs)
SmartAccountProxy.sol 44 lines
// SPDX-License-Identifier: LGPL-3.0-only
pragma solidity ^0.8.12;

/**
 * A wrapper factory contract to deploy SmartAccount as an Account-Abstraction wallet contract.
 */
interface ISmartAccountProxy {
    function masterCopy() external view returns (address);
}

/// @title SmartAccountProxy - Generic proxy contract allows to execute all transactions applying the code of a master contract.
contract SmartAccountProxy is ISmartAccountProxy {
    // singleton always needs to be first declared variable, to ensure that it is at the same location in the contracts to which calls are delegated.
    // To reduce deployment costs this variable is internal and needs to be retrieved via `getStorageAt`
    address internal singleton;

    /// @dev Constructor function sets address of singleton contract.
    /// @param _singleton Singleton address.
    function initialize(address _singleton, bytes memory _initdata) external {
        require(singleton == address(0), "Initialized already");
        require(_singleton != address(0), "Invalid singleton address provided");
        singleton = _singleton;

        (bool success,) = _singleton.delegatecall(_initdata);
        require(success, "init failed");
    }

    function masterCopy() external view returns (address) {
        return singleton;
    }

    /// @dev Fallback function forwards all transactions and returns all received return data.
    fallback() external payable {
        // solhint-disable-next-line no-inline-assembly
        assembly {
            let _singleton := and(sload(0), 0xffffffffffffffffffffffffffffffffffffffff)
            calldatacopy(0, 0, calldatasize())
            let success := delegatecall(gas(), _singleton, 0, calldatasize(), 0, 0)
            returndatacopy(0, 0, returndatasize())
            if eq(success, 0) { revert(0, returndatasize()) }
            return(0, returndatasize())
        }
    }
}

Read Contract

masterCopy 0xa619486e → address

Write Contract 1 functions

These functions modify contract state and require a wallet transaction to execute.

initialize 0xd1f57894
address _singleton
bytes _initdata

Recent Transactions

No transactions found for this address