ETH Price: $3,002.95 (+1.25%)
Gas: 5 Gwei

Contract

0x12302fE9c02ff50939BaAaaf415fc226C078613C
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Create Proxy Wit...158898222022-11-03 13:34:11546 days ago1667482451IN
Safe: Proxy Factory 1.0.0
0 ETH0.0046697915.27803375
Create Proxy Wit...158897242022-11-03 13:14:23546 days ago1667481263IN
Safe: Proxy Factory 1.0.0
0 ETH0.0018047517.04448108
Create Proxy Wit...156527402022-10-01 10:33:35579 days ago1664620415IN
Safe: Proxy Factory 1.0.0
0 ETH0.001356474.43244364
Create Proxy151100082022-07-09 18:29:00663 days ago1657391340IN
Safe: Proxy Factory 1.0.0
0 ETH0.0030352712.60349566
Create Proxy151074682022-07-09 9:04:16663 days ago1657357456IN
Safe: Proxy Factory 1.0.0
0 ETH0.0030559710.64386609
Create Proxy150711662022-07-03 18:24:53669 days ago1656872693IN
Safe: Proxy Factory 1.0.0
0 ETH0.0010388729.68215792
Create Proxy148326572022-05-24 0:23:31709 days ago1653351811IN
Safe: Proxy Factory 1.0.0
0 ETH0.0019063617.96610517
Create Proxy Wit...148231142022-05-22 11:29:36711 days ago1653218976IN
Safe: Proxy Factory 1.0.0
0 ETH0.0013146112.16259062
Create Proxy144067632022-03-17 22:50:13776 days ago1647557413IN
Safe: Proxy Factory 1.0.0
0 ETH0.011416130.07
Create Proxy Wit...129967122021-08-10 10:00:20996 days ago1628589620IN
Safe: Proxy Factory 1.0.0
0 ETH0.0179520460.5
Create Proxy Wit...127246222021-06-28 20:19:051039 days ago1624911545IN
Safe: Proxy Factory 1.0.0
0 ETH0.0086141629
Create Proxy125436732021-05-31 18:17:391067 days ago1622485059IN
Safe: Proxy Factory 1.0.0
0 ETH0.0060293321
Create Proxy Wit...118563542021-02-14 18:10:101173 days ago1613326210IN
Safe: Proxy Factory 1.0.0
0 ETH0.04789923166.88
Create Proxy Wit...109136292020-09-22 17:29:311318 days ago1600795771IN
Safe: Proxy Factory 1.0.0
0 ETH0.09919054345.217125
Create Proxy Wit...107430562020-08-27 14:05:161344 days ago1598537116IN
Safe: Proxy Factory 1.0.0
0 ETH0.03851915134.2
Create Proxy Wit...104203132020-07-08 17:52:571394 days ago1594230777IN
Safe: Proxy Factory 1.0.0
0 ETH0.028477371.5
Create Proxy Wit...103979202020-07-05 6:55:181397 days ago1593932118IN
Safe: Proxy Factory 1.0.0
0 ETH0.0034906510
Create Proxy Wit...103979182020-07-05 6:54:311397 days ago1593932071IN
Safe: Proxy Factory 1.0.0
0 ETH0.0034906510
Create Proxy Wit...103979182020-07-05 6:54:311397 days ago1593932071IN
Safe: Proxy Factory 1.0.0
0 ETH0.0034906510
Create Proxy Wit...103979182020-07-05 6:54:311397 days ago1593932071IN
Safe: Proxy Factory 1.0.0
0 ETH0.0034906510
Create Proxy Wit...103979182020-07-05 6:54:311397 days ago1593932071IN
Safe: Proxy Factory 1.0.0
0 ETH0.0034906510
Create Proxy Wit...103979182020-07-05 6:54:311397 days ago1593932071IN
Safe: Proxy Factory 1.0.0
0 ETH0.0034906510
Create Proxy Wit...103979182020-07-05 6:54:311397 days ago1593932071IN
Safe: Proxy Factory 1.0.0
0 ETH0.0034906510
Create Proxy Wit...103978232020-07-05 6:37:351397 days ago1593931055IN
Safe: Proxy Factory 1.0.0
0 ETH0.0034906510
Create Proxy Wit...103978232020-07-05 6:37:351397 days ago1593931055IN
Safe: Proxy Factory 1.0.0
0 ETH0.0034906510
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
158897242022-11-03 13:14:23546 days ago1667481263
Safe: Proxy Factory 1.0.0
 Contract Creation0 ETH
158696172022-10-31 17:44:59549 days ago1667238299
Safe: Proxy Factory 1.0.0
 Contract Creation0 ETH
152099822022-07-25 6:10:46647 days ago1658729446
Safe: Proxy Factory 1.0.0
 Contract Creation0 ETH
151100082022-07-09 18:29:00663 days ago1657391340
Safe: Proxy Factory 1.0.0
 Contract Creation0 ETH
151074682022-07-09 9:04:16663 days ago1657357456
Safe: Proxy Factory 1.0.0
 Contract Creation0 ETH
148326572022-05-24 0:23:31709 days ago1653351811
Safe: Proxy Factory 1.0.0
 Contract Creation0 ETH
148231142022-05-22 11:29:36711 days ago1653218976
Safe: Proxy Factory 1.0.0
 Contract Creation0 ETH
144067632022-03-17 22:50:13776 days ago1647557413
Safe: Proxy Factory 1.0.0
 Contract Creation0 ETH
129967122021-08-10 10:00:20996 days ago1628589620
Safe: Proxy Factory 1.0.0
 Contract Creation0 ETH
127246222021-06-28 20:19:051039 days ago1624911545
Safe: Proxy Factory 1.0.0
 Contract Creation0 ETH
125436732021-05-31 18:17:391067 days ago1622485059
Safe: Proxy Factory 1.0.0
 Contract Creation0 ETH
118563542021-02-14 18:10:101173 days ago1613326210
Safe: Proxy Factory 1.0.0
 Contract Creation0 ETH
109136292020-09-22 17:29:311318 days ago1600795771
Safe: Proxy Factory 1.0.0
 Contract Creation0 ETH
107430562020-08-27 14:05:161344 days ago1598537116
Safe: Proxy Factory 1.0.0
 Contract Creation0 ETH
104203132020-07-08 17:52:571394 days ago1594230777
Safe: Proxy Factory 1.0.0
 Contract Creation0 ETH
103979202020-07-05 6:55:181397 days ago1593932118
Safe: Proxy Factory 1.0.0
 Contract Creation0 ETH
103979182020-07-05 6:54:311397 days ago1593932071
Safe: Proxy Factory 1.0.0
 Contract Creation0 ETH
103979182020-07-05 6:54:311397 days ago1593932071
Safe: Proxy Factory 1.0.0
 Contract Creation0 ETH
103979182020-07-05 6:54:311397 days ago1593932071
Safe: Proxy Factory 1.0.0
 Contract Creation0 ETH
103979182020-07-05 6:54:311397 days ago1593932071
Safe: Proxy Factory 1.0.0
 Contract Creation0 ETH
103979182020-07-05 6:54:311397 days ago1593932071
Safe: Proxy Factory 1.0.0
 Contract Creation0 ETH
103979182020-07-05 6:54:311397 days ago1593932071
Safe: Proxy Factory 1.0.0
 Contract Creation0 ETH
103978232020-07-05 6:37:351397 days ago1593931055
Safe: Proxy Factory 1.0.0
 Contract Creation0 ETH
103978232020-07-05 6:37:351397 days ago1593931055
Safe: Proxy Factory 1.0.0
 Contract Creation0 ETH
103978232020-07-05 6:37:351397 days ago1593931055
Safe: Proxy Factory 1.0.0
 Contract Creation0 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ProxyFactory

Compiler Version
v0.5.7+commit.6da8b019

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Audited
/**
 *Submitted for verification at Etherscan.io on 2019-03-27
*/

pragma solidity ^0.5.0;

contract Proxy {

    // masterCopy 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 masterCopy;

    /// @dev Constructor function sets address of master copy contract.
    /// @param _masterCopy Master copy address.
    constructor(address _masterCopy)
        public
    {
        require(_masterCopy != address(0), "Invalid master copy address provided");
        masterCopy = _masterCopy;
    }

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

contract ProxyFactory {

    event ProxyCreation(Proxy proxy);

    /// @dev Allows to create new proxy contact and execute a message call to the new proxy within one transaction.
    /// @param masterCopy Address of master copy.
    /// @param data Payload for message call sent to new proxy contract.
    function createProxy(address masterCopy, bytes memory data)
        public
        returns (Proxy proxy)
    {
        proxy = new Proxy(masterCopy);
        if (data.length > 0)
            // solium-disable-next-line security/no-inline-assembly
            assembly {
                if eq(call(gas, proxy, 0, add(data, 0x20), mload(data), 0, 0), 0) { revert(0, 0) }
            }
        emit ProxyCreation(proxy);
    }

    /// @dev Allows to retrieve the runtime code of a deployed Proxy. This can be used to check that the expected Proxy was deployed.
    function proxyRuntimeCode() public pure returns (bytes memory) {
        return type(Proxy).runtimeCode;
    }

    /// @dev Allows to retrieve the creation code used for the Proxy deployment. With this it is easily possible to calculate predicted address.
    function proxyCreationCode() public pure returns (bytes memory) {
        return type(Proxy).creationCode;
    }

    /// @dev Allows to create new proxy contact and execute a message call to the new proxy within one transaction.
    /// @param _mastercopy Address of master copy.
    /// @param initializer Payload for message call sent to new proxy contract.
    /// @param saltNonce Nonce that will be used to generate the salt to calculate the address of the new proxy contract.
    function createProxyWithNonce(address _mastercopy, bytes memory initializer, uint256 saltNonce)
        public
        returns (Proxy proxy)
    {
        // If the initializer changes the proxy address should change too. Hashing the initializer data is cheaper than just concatinating it
        bytes32 salt = keccak256(abi.encodePacked(keccak256(initializer), saltNonce));
        bytes memory deploymentData = abi.encodePacked(type(Proxy).creationCode, uint256(_mastercopy));
        // solium-disable-next-line security/no-inline-assembly
        assembly {
            proxy := create2(0x0, add(0x20, deploymentData), mload(deploymentData), salt)
        }
        if (initializer.length > 0)
            // solium-disable-next-line security/no-inline-assembly
            assembly {
                if eq(call(gas, proxy, 0, add(initializer, 0x20), mload(initializer), 0, 0), 0) { revert(0,0) }
            }
        emit ProxyCreation(proxy);
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_mastercopy","type":"address"},{"name":"initializer","type":"bytes"},{"name":"saltNonce","type":"uint256"}],"name":"createProxyWithNonce","outputs":[{"name":"proxy","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"proxyCreationCode","outputs":[{"name":"","type":"bytes"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"masterCopy","type":"address"},{"name":"data","type":"bytes"}],"name":"createProxy","outputs":[{"name":"proxy","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"proxyRuntimeCode","outputs":[{"name":"","type":"bytes"}],"payable":false,"stateMutability":"pure","type":"function"},{"anonymous":false,"inputs":[{"indexed":false,"name":"proxy","type":"address"}],"name":"ProxyCreation","type":"event"}]

608060405234801561001057600080fd5b506108c4806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80631688f0b91461005157806353e5d9351461017657806361b69abd146101f9578063addacc0f14610314575b600080fd5b6101346004803603606081101561006757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156100a457600080fd5b8201836020820111156100b657600080fd5b803590602001918460018302840111640100000000831117156100d857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050610397565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61017e610520565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101be5780820151818401526020810190506101a3565b50505050905090810190601f1680156101eb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102d26004803603604081101561020f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561024c57600080fd5b82018360208201111561025e57600080fd5b8035906020019184600183028401116401000000008311171561028057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061054b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61031c61063e565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561035c578082015181840152602081019050610341565b50505050905090810190601f1680156103895780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60008083805190602001208360405160200180838152602001828152602001925050506040516020818303038152906040528051906020012090506060604051806020016103e490610669565b6020820181038252601f19601f820116604052508673ffffffffffffffffffffffffffffffffffffffff166040516020018083805190602001908083835b602083106104455780518252602082019150602081019050602083039250610422565b6001836020036101000a038019825116818451168082178552505050505050905001828152602001925050506040516020818303038152906040529050818151826020016000f592506000855111156104b45760008060008751602089016000885af114156104b357600080fd5b5b7fa38789425dbeee0239e16ff2d2567e31720127fbc6430758c1a4efc6aef29f8083604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150509392505050565b60606040518060200161053290610669565b6020820181038252601f19601f82011660405250905090565b60008260405161055a90610669565b808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050604051809103906000f0801580156105ac573d6000803e3d6000fd5b5090506000825111156105d55760008060008451602086016000865af114156105d457600080fd5b5b7fa38789425dbeee0239e16ff2d2567e31720127fbc6430758c1a4efc6aef29f8081604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a192915050565b60606040518060200161065090610676565b6020820181038252601f19601f82011660405250905090565b6101a88061068383390190565b606e8061082b8339019056fe608060405234801561001057600080fd5b506040516020806101a88339810180604052602081101561003057600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806101846024913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050606e806101166000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054163660008037600080366000845af43d6000803e6000811415603d573d6000fd5b3d6000f3fea165627a7a723058201e7d648b83cfac072cbccefc2ffc62a6999d4a050ee87a721942de1da9670db80029496e76616c6964206d617374657220636f707920616464726573732070726f7669646564608060405273ffffffffffffffffffffffffffffffffffffffff600054163660008037600080366000845af43d6000803e6000811415603d573d6000fd5b3d6000f3fea165627a7a723058201e7d648b83cfac072cbccefc2ffc62a6999d4a050ee87a721942de1da9670db80029a165627a7a723058202d28aa9eea1924153a1b556d5028be3f7add47a2c285a327b525e9a29d3216d10029

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80631688f0b91461005157806353e5d9351461017657806361b69abd146101f9578063addacc0f14610314575b600080fd5b6101346004803603606081101561006757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156100a457600080fd5b8201836020820111156100b657600080fd5b803590602001918460018302840111640100000000831117156100d857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050610397565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61017e610520565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101be5780820151818401526020810190506101a3565b50505050905090810190601f1680156101eb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102d26004803603604081101561020f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561024c57600080fd5b82018360208201111561025e57600080fd5b8035906020019184600183028401116401000000008311171561028057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061054b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61031c61063e565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561035c578082015181840152602081019050610341565b50505050905090810190601f1680156103895780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60008083805190602001208360405160200180838152602001828152602001925050506040516020818303038152906040528051906020012090506060604051806020016103e490610669565b6020820181038252601f19601f820116604052508673ffffffffffffffffffffffffffffffffffffffff166040516020018083805190602001908083835b602083106104455780518252602082019150602081019050602083039250610422565b6001836020036101000a038019825116818451168082178552505050505050905001828152602001925050506040516020818303038152906040529050818151826020016000f592506000855111156104b45760008060008751602089016000885af114156104b357600080fd5b5b7fa38789425dbeee0239e16ff2d2567e31720127fbc6430758c1a4efc6aef29f8083604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150509392505050565b60606040518060200161053290610669565b6020820181038252601f19601f82011660405250905090565b60008260405161055a90610669565b808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050604051809103906000f0801580156105ac573d6000803e3d6000fd5b5090506000825111156105d55760008060008451602086016000865af114156105d457600080fd5b5b7fa38789425dbeee0239e16ff2d2567e31720127fbc6430758c1a4efc6aef29f8081604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a192915050565b60606040518060200161065090610676565b6020820181038252601f19601f82011660405250905090565b6101a88061068383390190565b606e8061082b8339019056fe608060405234801561001057600080fd5b506040516020806101a88339810180604052602081101561003057600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806101846024913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050606e806101166000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054163660008037600080366000845af43d6000803e6000811415603d573d6000fd5b3d6000f3fea165627a7a723058201e7d648b83cfac072cbccefc2ffc62a6999d4a050ee87a721942de1da9670db80029496e76616c6964206d617374657220636f707920616464726573732070726f7669646564608060405273ffffffffffffffffffffffffffffffffffffffff600054163660008037600080366000845af43d6000803e6000811415603d573d6000fd5b3d6000f3fea165627a7a723058201e7d648b83cfac072cbccefc2ffc62a6999d4a050ee87a721942de1da9670db80029a165627a7a723058202d28aa9eea1924153a1b556d5028be3f7add47a2c285a327b525e9a29d3216d10029

Swarm Source

bzzr://2d28aa9eea1924153a1b556d5028be3f7add47a2c285a327b525e9a29d3216d1

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

OVERVIEW

Factory contract to deploy Safe proxies version 1.0.0

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ 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.