Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0x905ade25B1f8f39Cf470E39c5A768EAF1f91Fd3e
Balance 0 ETH
Nonce 1
Code Size 1624 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

1624 bytes
0x6080604052600436106100295760003560e01c8063131e7e1c1461002e578063259debfe1461006a575b600080fd5b34801561003a57600080fd5b5060005461004e906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b61007d6100783660046103ec565b61007f565b005b600080548351602085015160408087015190517f1688f0b90000000000000000000000000000000000000000000000000000000081526001600160a01b0390941693631688f0b9936100d793909290916004016104ea565b6020604051808303816000875af11580156100f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061011a919061051c565b9050806001600160a01b0316636a76120234846000015185602001518660400151876060015160ff16600181111561015457610154610540565b88608001518960a001518a60c001518b60e001518c61010001518d61012001516040518c63ffffffff1660e01b81526004016101999a99989796959493929190610556565b60206040518083038185885af11580156101b7573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906101dc9190610600565b50505050565b634e487b7160e01b600052604160045260246000fd5b604051610140810167ffffffffffffffff8111828210171561021c5761021c6101e2565b60405290565b6040516060810167ffffffffffffffff8111828210171561021c5761021c6101e2565b6001600160a01b038116811461025a57600080fd5b50565b803561026881610245565b919050565b600082601f83011261027e57600080fd5b813567ffffffffffffffff80821115610299576102996101e2565b604051601f8301601f19908116603f011681019082821181831017156102c1576102c16101e2565b816040528381528660208588010111156102da57600080fd5b836020870160208301376000602085830101528094505050505092915050565b803560ff8116811461026857600080fd5b6000610140828403121561031e57600080fd5b6103266101f8565b90506103318261025d565b815260208201356020820152604082013567ffffffffffffffff8082111561035857600080fd5b6103648583860161026d565b6040840152610375606085016102fa565b60608401526080840135608084015260a084013560a084015260c084013560c08401526103a460e0850161025d565b60e084015261010091506103b982850161025d565b82840152610120915081840135818111156103d357600080fd5b6103df8682870161026d565b8385015250505092915050565b600080604083850312156103ff57600080fd5b823567ffffffffffffffff8082111561041757600080fd5b908401906060828703121561042b57600080fd5b610433610222565b823561043e81610245565b815260208301358281111561045257600080fd5b61045e8882860161026d565b6020830152506040830135604082015280945050602085013591508082111561048657600080fd5b506104938582860161030b565b9150509250929050565b6000815180845260005b818110156104c3576020818501810151868301820152016104a7565b818111156104d5576000602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b038416815260606020820152600061050c606083018561049d565b9050826040830152949350505050565b60006020828403121561052e57600080fd5b815161053981610245565b9392505050565b634e487b7160e01b600052602160045260246000fd5b60006101406001600160a01b038d1683528b602084015280604084015261057f8184018c61049d565b905060028a1061059f57634e487b7160e01b600052602160045260246000fd5b8960608401528860808401528760a08401528660c08401526105cc60e08401876001600160a01b03169052565b6001600160a01b0385166101008401528281036101208401526105ef818561049d565b9d9c50505050505050505050505050565b60006020828403121561061257600080fd5b8151801515811461053957600080fdfea2646970667358221220961cc47623edec8f5be5550912748ec915856c8b01714d5f57155d8aa3428f3064736f6c634300080a0033

Verified Source Code Partial Match

Compiler: v0.8.10+commit.fc410830 EVM: london Optimization: Yes (1000 runs)
DFSSafeFactory.sol 182 lines
// SPDX-License-Identifier: MIT
pragma solidity =0.8.10;










interface ISafe {
    enum Operation {
        Call,
        DelegateCall
    }

    function setup(
        address[] calldata _owners,
        uint256 _threshold,
        address to,
        bytes calldata data,
        address fallbackHandler,
        address paymentToken,
        uint256 payment,
        address payable paymentReceiver
    ) external;

    function execTransaction(
        address to,
        uint256 value,
        bytes calldata data,
        Operation operation,
        uint256 safeTxGas,
        uint256 baseGas,
        uint256 gasPrice,
        address gasToken,
        address payable refundReceiver,
        bytes memory signatures
    ) external payable returns (bool success);

    function execTransactionFromModule(
        address to,
        uint256 value,
        bytes memory data,
        Operation operation
    ) external returns (bool success);

    function checkSignatures(
        bytes32 dataHash,
        bytes memory data,
        bytes memory signatures
    ) external view;

    function checkNSignatures(
        address executor,
        bytes32 dataHash,
        bytes memory /* data */,
        bytes memory signatures,
        uint256 requiredSignatures
    ) external view;

    function approveHash(bytes32 hashToApprove) external;

    function domainSeparator() external view returns (bytes32);

    function getTransactionHash(
        address to,
        uint256 value,
        bytes calldata data,
        Operation operation,
        uint256 safeTxGas,
        uint256 baseGas,
        uint256 gasPrice,
        address gasToken,
        address refundReceiver,
        uint256 _nonce
    ) external view returns (bytes32);

    function nonce() external view returns (uint256);

    function setFallbackHandler(address handler) external;

    function getOwners() external view returns (address[] memory);

    function isOwner(address owner) external view returns (bool);

    function getThreshold() external view returns (uint256);

    function enableModule(address module) external;

    function isModuleEnabled(address module) external view returns (bool);

    function disableModule(address prevModule, address module) external;

    function getModulesPaginated(
        address start,
        uint256 pageSize
    ) external view returns (address[] memory array, address next);
}







interface ISafeProxyFactory {
    event ProxyCreation(address indexed proxy, address singleton);
    function createProxyWithNonce(address singleton, bytes memory initializer, uint256 saltNonce) external returns (address proxy);
    function proxyCreationCode() external pure returns (bytes memory);
}









contract DFSSafeFactory {
    error UnsupportedChain(uint256);

    struct SafeCreationData {
        address singleton;
        bytes initializer;
        uint256 saltNonce;
    }

    struct SafeExecutionData {
        address to;
        uint256 value;
        bytes data;
        uint8 operation;
        uint256 safeTxGas;
        uint256 baseGas;
        uint256 gasPrice;
        address gasToken;
        address payable refundReceiver;
        bytes signatures;
    }

    ISafeProxyFactory public safeFactory;

    constructor(){
        uint256 chainId = block.chainid;

        if (chainId == 1){
            safeFactory = ISafeProxyFactory(0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2);
        } else if (chainId == 10){
            safeFactory = ISafeProxyFactory(0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC);
        } else if (chainId == 42161){
            safeFactory = ISafeProxyFactory(0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2);
        } else if (chainId == 8453){
            safeFactory = ISafeProxyFactory(0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC);
        } else {
            revert UnsupportedChain(chainId);
        }
    }

    function createSafeAndExecute(SafeCreationData memory _creationData, SafeExecutionData memory _executionData) public payable {
        ISafe createdSafe = ISafe(safeFactory.createProxyWithNonce(
            _creationData.singleton,
            _creationData.initializer,
            _creationData.saltNonce
        ));
        createdSafe.execTransaction{value: msg.value}(
            _executionData.to,
            _executionData.value,
            _executionData.data,
            ISafe.Operation(_executionData.operation),
            _executionData.safeTxGas,
            _executionData.baseGas,
            _executionData.gasPrice,
            _executionData.gasToken,
            _executionData.refundReceiver,
            _executionData.signatures
        );
    }
}

Read Contract

safeFactory 0x131e7e1c → address

Write Contract 1 functions

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

createSafeAndExecute 0xf7771136
tuple _creationData
tuple _executionData

Recent Transactions

No transactions found for this address