ETH Price: $2,052.92 (-0.44%)

Contract

0xE357273545C152f07afE2c38257B7b653FD3f6d0
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Create Vesting211620672024-11-11 4:31:47135 days ago1731299507IN
0xE3572735...53FD3f6d0
0 ETH0.0065970617.52340111
Create Vesting211620222024-11-11 4:22:47135 days ago1731298967IN
0xE3572735...53FD3f6d0
0 ETH0.0058783115.61422108
Create Vesting208151052024-09-23 18:34:35183 days ago1727116475IN
0xE3572735...53FD3f6d0
0 ETH0.0062290521.74052165
Create Vesting207953592024-09-21 0:24:11186 days ago1726878251IN
0xE3572735...53FD3f6d0
0 ETH0.0093069832.48716657
Create Vesting205461472024-08-17 5:06:11221 days ago1723871171IN
0xE3572735...53FD3f6d0
0 ETH0.000366271.38738962
Create Vesting203703712024-07-23 16:16:59245 days ago1721751419IN
0xE3572735...53FD3f6d0
0 ETH0.00259376.50208929
Create Vesting202668992024-07-09 5:37:59260 days ago1720503479IN
0xE3572735...53FD3f6d0
0 ETH0.000900272.39164079
Create Vesting198694962024-05-14 16:43:59315 days ago1715705039IN
0xE3572735...53FD3f6d0
0 ETH0.002889657.67561926
Create Vesting198150852024-05-07 2:02:11323 days ago1715047331IN
0xE3572735...53FD3f6d0
0 ETH0.001144063.70250528
Create Vesting198148222024-05-07 1:09:23323 days ago1715044163IN
0xE3572735...53FD3f6d0
0 ETH0.001430873.80074784
Create Vesting198147132024-05-07 0:47:35323 days ago1715042855IN
0xE3572735...53FD3f6d0
0 ETH0.001446883.84316358
Create Vesting197270312024-04-24 18:31:11335 days ago1713983471IN
0xE3572735...53FD3f6d0
0 ETH0.0035959911.63897139
Create Vesting196657972024-04-16 4:55:23344 days ago1713243323IN
0xE3572735...53FD3f6d0
0 ETH0.0043245912.21664748
Create Vesting195197882024-03-26 16:27:47364 days ago1711470467IN
0xE3572735...53FD3f6d0
0 ETH0.0252074654.05510917
Create Vesting194664112024-03-19 4:26:47372 days ago1710822407IN
0xE3572735...53FD3f6d0
0 ETH0.0067992322.00327413
Create Vesting194169272024-03-12 5:31:11379 days ago1710221471IN
0xE3572735...53FD3f6d0
0 ETH0.0140486945.46884971
Create Vesting194168262024-03-12 5:10:59379 days ago1710220259IN
0xE3572735...53FD3f6d0
0 ETH0.0145615955.15190963
Create Vesting194168022024-03-12 5:06:11379 days ago1710219971IN
0xE3572735...53FD3f6d0
0 ETH0.0202180350.68408669
Create Vesting194167352024-03-12 4:52:47379 days ago1710219167IN
0xE3572735...53FD3f6d0
0 ETH0.017296348.86899997
Create Vesting193198192024-02-27 15:35:11392 days ago1709048111IN
0xE3572735...53FD3f6d0
0 ETH0.0226092956.66844057
Create Vesting192658732024-02-20 2:14:47400 days ago1708395287IN
0xE3572735...53FD3f6d0
0 ETH0.0096758922.96222318
Create Vesting192209002024-02-13 18:36:47406 days ago1707849407IN
0xE3572735...53FD3f6d0
0 ETH0.0113928732.18398412
Create Vesting192208342024-02-13 18:23:35406 days ago1707848615IN
0xE3572735...53FD3f6d0
0 ETH0.0159216837.78544279
Create Vesting192172062024-02-13 6:07:59407 days ago1707804479IN
0xE3572735...53FD3f6d0
0 ETH0.0070119116.64071336
Create Vesting192171712024-02-13 6:00:59407 days ago1707804059IN
0xE3572735...53FD3f6d0
0 ETH0.006962318.49356513
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
0x3d602d80212949922024-11-29 17:59:59116 days ago1732903199
0xE3572735...53FD3f6d0
 Contract Creation0 ETH
0x3d602d80212949922024-11-29 17:59:59116 days ago1732903199
0xE3572735...53FD3f6d0
 Contract Creation0 ETH
0x3d602d80212949922024-11-29 17:59:59116 days ago1732903199
0xE3572735...53FD3f6d0
 Contract Creation0 ETH
0x3d602d80212949922024-11-29 17:59:59116 days ago1732903199
0xE3572735...53FD3f6d0
 Contract Creation0 ETH
0x3d602d80212949922024-11-29 17:59:59116 days ago1732903199
0xE3572735...53FD3f6d0
 Contract Creation0 ETH
0x3d602d80212949922024-11-29 17:59:59116 days ago1732903199
0xE3572735...53FD3f6d0
 Contract Creation0 ETH
0x3d602d80212949922024-11-29 17:59:59116 days ago1732903199
0xE3572735...53FD3f6d0
 Contract Creation0 ETH
0x3d602d80212949922024-11-29 17:59:59116 days ago1732903199
0xE3572735...53FD3f6d0
 Contract Creation0 ETH
0x3d602d80212949922024-11-29 17:59:59116 days ago1732903199
0xE3572735...53FD3f6d0
 Contract Creation0 ETH
0x3d602d80212949922024-11-29 17:59:59116 days ago1732903199
0xE3572735...53FD3f6d0
 Contract Creation0 ETH
0x3d602d80212949922024-11-29 17:59:59116 days ago1732903199
0xE3572735...53FD3f6d0
 Contract Creation0 ETH
0x3d602d80212949922024-11-29 17:59:59116 days ago1732903199
0xE3572735...53FD3f6d0
 Contract Creation0 ETH
0x3d602d80212949922024-11-29 17:59:59116 days ago1732903199
0xE3572735...53FD3f6d0
 Contract Creation0 ETH
0x3d602d80212949922024-11-29 17:59:59116 days ago1732903199
0xE3572735...53FD3f6d0
 Contract Creation0 ETH
0x3d602d80212949922024-11-29 17:59:59116 days ago1732903199
0xE3572735...53FD3f6d0
 Contract Creation0 ETH
0x3d602d80212949922024-11-29 17:59:59116 days ago1732903199
0xE3572735...53FD3f6d0
 Contract Creation0 ETH
0x3d602d80212949922024-11-29 17:59:59116 days ago1732903199
0xE3572735...53FD3f6d0
 Contract Creation0 ETH
0x3d602d80212949922024-11-29 17:59:59116 days ago1732903199
0xE3572735...53FD3f6d0
 Contract Creation0 ETH
0x3d602d80212949922024-11-29 17:59:59116 days ago1732903199
0xE3572735...53FD3f6d0
 Contract Creation0 ETH
0x3d602d80212949922024-11-29 17:59:59116 days ago1732903199
0xE3572735...53FD3f6d0
 Contract Creation0 ETH
0x3d602d80212949922024-11-29 17:59:59116 days ago1732903199
0xE3572735...53FD3f6d0
 Contract Creation0 ETH
0x3d602d80212949922024-11-29 17:59:59116 days ago1732903199
0xE3572735...53FD3f6d0
 Contract Creation0 ETH
0x3d602d80212949922024-11-29 17:59:59116 days ago1732903199
0xE3572735...53FD3f6d0
 Contract Creation0 ETH
0x3d602d80211620672024-11-11 4:31:47135 days ago1731299507
0xE3572735...53FD3f6d0
 Contract Creation0 ETH
0x3d602d80211620222024-11-11 4:22:47135 days ago1731298967
0xE3572735...53FD3f6d0
 Contract Creation0 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MinimalProxyFactory

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2020-09-01
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.6.2;

/**
 * @dev Collection of functions related to the address type
 */
library Address {
    /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     * ====
     */
    function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

    /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     *
     * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
     * of certain opcodes, possibly making contracts go over the 2300 gas limit
     * imposed by `transfer`, making them unable to receive funds via
     * `transfer`. {sendValue} removes this limitation.
     *
     * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].
     *
     * IMPORTANT: because control is transferred to `recipient`, care must be
     * taken to not create reentrancy vulnerabilities. Consider using
     * {ReentrancyGuard} or the
     * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
     */
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    /**
     * @dev Performs a Solidity function call using a low level `call`. A
     * plain`call` is an unsafe replacement for a function call: use this
     * function instead.
     *
     * If `target` reverts with a revert reason, it is bubbled up by this
     * function (like regular Solidity function calls).
     *
     * Returns the raw returned data. To convert to the expected return value,
     * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].
     *
     * Requirements:
     *
     * - `target` must be a contract.
     * - calling `target` with `data` must not revert.
     *
     * _Available since v3.1._
     */
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with
     * `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    /**
     * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but
     * with `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly

                // solhint-disable-next-line no-inline-assembly
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}



contract MinimalProxyFactory {
    using Address for address;

    event VestingCreated(address indexed _address, bytes32 _salt);

    constructor() public {
    }

    function createVesting(address _implementation, bytes32 _salt, bytes memory _data) public virtual returns (address addr) {
        bytes32 salt = keccak256(abi.encodePacked(_salt, msg.sender));

        // solium-disable-next-line security/no-inline-assembly
        bytes memory slotcode = abi.encodePacked(
            hex"3d602d80600a3d3981f3363d3d373d3d3d363d73",
            _implementation,
            hex"5af43d82803e903d91602b57fd5bf3"
        );

        assembly {
            addr := create2(0, add(slotcode, 0x20), mload(slotcode), salt)
        }
        require(addr != address(0), "MinimalProxyFactory#createVesting: CREATION_FAILED");

        emit VestingCreated(addr, _salt);

        if (_data.length > 0) {
            (bool success,) = addr.call(_data);
            require(success, "MinimalProxyFactory#createVesting: CALL_FAILED");
        }
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_address","type":"address"},{"indexed":false,"internalType":"bytes32","name":"_salt","type":"bytes32"}],"name":"VestingCreated","type":"event"},{"inputs":[{"internalType":"address","name":"_implementation","type":"address"},{"internalType":"bytes32","name":"_salt","type":"bytes32"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"createVesting","outputs":[{"internalType":"address","name":"addr","type":"address"}],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b506103b1806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80638374d84b14610030575b600080fd5b6100eb6004803603606081101561004657600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561007657600080fd5b82018360208201111561008857600080fd5b803590602001918460018302840111640100000000831117156100aa57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610107945050505050565b604080516001600160a01b039092168252519081900360200190f35b60408051602080820185905233606090811b8385015283518084036034018152605484018552805190830120733d602d80600a3d3981f3363d3d373d3d3d363d7360601b60748501529087901b6bffffffffffffffffffffffff191660888401526e5af43d82803e903d91602b57fd5bf360881b609c8401528351808403608b01815260ab90930190935281516000939291839190830185f592506001600160a01b0383166101e75760405162461bcd60e51b815260040180806020018281038252603281526020018061031c6032913960400191505060405180910390fd5b6040805186815290516001600160a01b038516917feaa996f76fa9fcacd351918a2a275ae6d45845f79256ffbe8c0a87ca608e9970919081900360200190a2835115610312576000836001600160a01b0316856040518082805190602001908083835b602083106102695780518252601f19909201916020918201910161024a565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146102cb576040519150601f19603f3d011682016040523d82523d6000602084013e6102d0565b606091505b50509050806103105760405162461bcd60e51b815260040180806020018281038252602e81526020018061034e602e913960400191505060405180910390fd5b505b5050939250505056fe4d696e696d616c50726f7879466163746f72792363726561746556657374696e673a204352454154494f4e5f4641494c45444d696e696d616c50726f7879466163746f72792363726561746556657374696e673a2043414c4c5f4641494c4544a26469706673582212204c3a3f1aabf25c74af9990c8d098ccc893836dab18774a23045021b96882199464736f6c634300060c0033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80638374d84b14610030575b600080fd5b6100eb6004803603606081101561004657600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561007657600080fd5b82018360208201111561008857600080fd5b803590602001918460018302840111640100000000831117156100aa57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610107945050505050565b604080516001600160a01b039092168252519081900360200190f35b60408051602080820185905233606090811b8385015283518084036034018152605484018552805190830120733d602d80600a3d3981f3363d3d373d3d3d363d7360601b60748501529087901b6bffffffffffffffffffffffff191660888401526e5af43d82803e903d91602b57fd5bf360881b609c8401528351808403608b01815260ab90930190935281516000939291839190830185f592506001600160a01b0383166101e75760405162461bcd60e51b815260040180806020018281038252603281526020018061031c6032913960400191505060405180910390fd5b6040805186815290516001600160a01b038516917feaa996f76fa9fcacd351918a2a275ae6d45845f79256ffbe8c0a87ca608e9970919081900360200190a2835115610312576000836001600160a01b0316856040518082805190602001908083835b602083106102695780518252601f19909201916020918201910161024a565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146102cb576040519150601f19603f3d011682016040523d82523d6000602084013e6102d0565b606091505b50509050806103105760405162461bcd60e51b815260040180806020018281038252602e81526020018061034e602e913960400191505060405180910390fd5b505b5050939250505056fe4d696e696d616c50726f7879466163746f72792363726561746556657374696e673a204352454154494f4e5f4641494c45444d696e696d616c50726f7879466163746f72792363726561746556657374696e673a2043414c4c5f4641494c4544a26469706673582212204c3a3f1aabf25c74af9990c8d098ccc893836dab18774a23045021b96882199464736f6c634300060c0033

Deployed Bytecode Sourcemap

6225:1072:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6402:892;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6402:892:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6402:892:0;;-1:-1:-1;6402:892:0;;-1:-1:-1;;;;;6402:892:0:i;:::-;;;;-1:-1:-1;;;;;6402:892:0;;;;;;;;;;;;;;;6559:35;;;;;;;;;;6583:10;6559:35;;;;;;;;;;;;;;;;;;;;;;6549:46;;;;;;-1:-1:-1;;;6697:167:0;;;;;;;;-1:-1:-1;;6697:167:0;;;;;-1:-1:-1;;;6697:167:0;;;;;;;;;;;;;;;;;;;;6941:15;;-1:-1:-1;;6549:46:0;6697:167;6549:46;;6941:15;6920:19;;-1:-1:-1;6909:54:0;6901:62;-1:-1:-1;;;;;;6992:18:0;;6984:81;;;;-1:-1:-1;;;6984:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7083:27;;;;;;;;-1:-1:-1;;;;;7083:27:0;;;;;;;;;;;;;7127:12;;:16;7123:164;;7161:12;7178:4;-1:-1:-1;;;;;7178:9:0;7188:5;7178:16;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7178:16:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7160:34;;;7217:7;7209:66;;;;-1:-1:-1;;;7209:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7123:164;;6402:892;;;;;;;:::o

Swarm Source

ipfs://4c3a3f1aabf25c74af9990c8d098ccc893836dab18774a23045021b968821994

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
Loading...
Loading
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.