ETH Price: $2,113.69 (+1.30%)

Contract

0xa2e4C1Fe15801F6F2d6087e4529c2C8f7E8DcA7f
 

Overview

ETH Balance

0.073 ETH

Eth Value

$154.30 (@ $2,113.69/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Contribute179021272023-08-12 23:42:11945 days ago1691883731IN
0xa2e4C1Fe...f7E8DcA7f
0.013 ETH0.0024721611.25842128
Contribute179021242023-08-12 23:41:35945 days ago1691883695IN
0xa2e4C1Fe...f7E8DcA7f
0.01 ETH0.0025448311.589332
Contribute179021192023-08-12 23:40:35945 days ago1691883635IN
0xa2e4C1Fe...f7E8DcA7f
0.05 ETH0.0028933112.22436984

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Method Block
From
To
0x60a06040179018772023-08-12 22:51:47945 days ago1691880707  Contract Creation0 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Proxy

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 3 : Proxy.sol
// SPDX-License-Identifier: GPL-3.0
pragma solidity 0.8.20;

import "./LibRawResult.sol";
import "./Implementation.sol";

/// @notice Base class for all proxy contracts.
contract Proxy {
    using LibRawResult for bytes;

    /// @notice The address of the implementation contract used by this proxy.
    Implementation public immutable IMPL;

    // Made `payable` to allow initialized crowdfunds to receive ETH as an
    // initial contribution.
    constructor(Implementation impl, bytes memory initCallData) payable {
        IMPL = impl;
        (bool s, bytes memory r) = address(impl).delegatecall(initCallData);
        if (!s) {
            r.rawRevert();
        }
    }

    // Forward all calls to the implementation.
    fallback() external payable {
        Implementation impl = IMPL;
        assembly {
            calldatacopy(0x00, 0x00, calldatasize())
            let s := delegatecall(gas(), impl, 0x00, calldatasize(), 0x00, 0)
            returndatacopy(0x00, 0x00, returndatasize())
            if iszero(s) {
                revert(0x00, returndatasize())
            }
            return(0x00, returndatasize())
        }
    }
}

// SPDX-License-Identifier: GPL-3.0
pragma solidity 0.8.20;

library LibRawResult {
    // Revert with the data in `b`.
    function rawRevert(bytes memory b) internal pure {
        assembly {
            revert(add(b, 32), mload(b))
        }
    }

    // Return with the data in `b`.
    function rawReturn(bytes memory b) internal pure {
        assembly {
            return(add(b, 32), mload(b))
        }
    }
}

File 3 of 3 : Implementation.sol
// SPDX-License-Identifier: GPL-3.0
pragma solidity 0.8.20;

// Base contract for all contracts intended to be delegatecalled into.
abstract contract Implementation {
    error OnlyDelegateCallError();
    error OnlyConstructorError();

    address public immutable IMPL;

    constructor() {
        IMPL = address(this);
    }

    // Reverts if the current function context is not inside of a delegatecall.
    modifier onlyDelegateCall() virtual {
        if (address(this) == IMPL) {
            revert OnlyDelegateCallError();
        }
        _;
    }

    // Reverts if the current function context is not inside of a constructor.
    modifier onlyConstructor() {
        if (address(this).code.length != 0) {
            revert OnlyConstructorError();
        }
        _;
    }
}

Settings
{
  "remappings": [
    "ds-test/=lib/forge-std/lib/ds-test/src/",
    "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/",
    "forge-std/=lib/forge-std/src/",
    "openzeppelin-contracts/=lib/openzeppelin-contracts/",
    "openzeppelin/=lib/openzeppelin-contracts/",
    "solmate/=lib/solmate/src/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "metadata": {
    "bytecodeHash": "ipfs",
    "appendCBOR": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "paris",
  "libraries": {},
  "viaIR": true
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"contract Implementation","name":"impl","type":"address"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"payable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"IMPL","outputs":[{"internalType":"contract Implementation","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60a060405261025480380380610014816100df565b92833981016040828203126100c45781516001600160a01b03811681036100c45760208381015190936001600160401b0382116100c4570182601f820112156100c45780519061006b61006683610109565b6100df565b938285528583830101116100c45760005b8281106100b15750506100959360009184010152610124565b60405160da908161017a823960805181818160190152606f0152f35b818101860151858201870152850161007c565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6040519190601f01601f191682016001600160401b0381118382101761010457604052565b6100c9565b6001600160401b03811161010457601f01601f191660200190565b6080819052815160009283926020909101906001600160a01b03165af43d15610171573d9061015561006683610109565b9182523d6000602084013e5b156101695750565b602081519101fd5b60609061016156fe60806040526004361015604a575b600036818037808036817f00000000000000000000000000000000000000000000000000000000000000005af43d82803e156046573d90f35b3d90fd5b6000803560e01c6356973ee514605f5750600d565b3460a1578060031936011260a1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166080908152602090f35b80fdfea264697066735822122071fb9b5f96e8d1bb39716cafe53eda307c95659122e63328b4b21a20a30944a064736f6c6343000814003300000000000000000000000023c886396cfbadb0f3bac4b728150e8a59dc0e10000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000005c4ad6f10d500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d3c21bcecceda100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000214e8348c4f000000000000000000000000000000000000000000000000d3c21bcecceda10000000000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000278d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d476574536f6d6547686f73747300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d476574536f6d6547686f73747300000000000000000000000000000000000000000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da000000000000000000000000c0e0ec5541e26e93d5a9f5e999ab2a0a7f8260ae00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000093a800000000000000000000000000000000000000000000000000000000000007080000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc48375820f00000000000000000000000000000000000000000000000000000000000000060000000000000000000000001c0ec596303ce6666f5a4d24c29e78cf881cb5d3000000000000000000000000ab72e08f71c726cdf6c4b0fde966c18c0bffdf470000000000000000000000005725eb3576165fc21cfdb6ff4896dc7ad1606d6f00000000000000000000000082764c729e3393a0592808db46e608ca54604f81000000000000000000000000563087f280a1fb43ebb8f9ac1c0541b82afcdaed000000000000000000000000ce4e2080810cf0fcf67e1a72e86fa82125cbcf5d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x60806040526004361015604a575b600036818037808036817f00000000000000000000000023c886396cfbadb0f3bac4b728150e8a59dc0e105af43d82803e156046573d90f35b3d90fd5b6000803560e01c6356973ee514605f5750600d565b3460a1578060031936011260a1577f00000000000000000000000023c886396cfbadb0f3bac4b728150e8a59dc0e106001600160a01b03166080908152602090f35b80fdfea264697066735822122071fb9b5f96e8d1bb39716cafe53eda307c95659122e63328b4b21a20a30944a064736f6c63430008140033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000023c886396cfbadb0f3bac4b728150e8a59dc0e10000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000005c4ad6f10d500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d3c21bcecceda100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000214e8348c4f000000000000000000000000000000000000000000000000d3c21bcecceda10000000000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000278d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d476574536f6d6547686f73747300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d476574536f6d6547686f73747300000000000000000000000000000000000000000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da000000000000000000000000c0e0ec5541e26e93d5a9f5e999ab2a0a7f8260ae00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000093a800000000000000000000000000000000000000000000000000000000000007080000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc48375820f00000000000000000000000000000000000000000000000000000000000000060000000000000000000000001c0ec596303ce6666f5a4d24c29e78cf881cb5d3000000000000000000000000ab72e08f71c726cdf6c4b0fde966c18c0bffdf470000000000000000000000005725eb3576165fc21cfdb6ff4896dc7ad1606d6f00000000000000000000000082764c729e3393a0592808db46e608ca54604f81000000000000000000000000563087f280a1fb43ebb8f9ac1c0541b82afcdaed000000000000000000000000ce4e2080810cf0fcf67e1a72e86fa82125cbcf5d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : impl (address): 0x23C886396CFbaDB0F3bAC4b728150e8A59dC0E10
Arg [1] : initCallData (bytes): 0xad6f10d500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d3c21bcecceda100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000214e8348c4f000000000000000000000000000000000000000000000000d3c21bcecceda10000000000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000278d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d476574536f6d6547686f73747300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d476574536f6d6547686f73747300000000000000000000000000000000000000000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da000000000000000000000000c0e0ec5541e26e93d5a9f5e999ab2a0a7f8260ae00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000093a800000000000000000000000000000000000000000000000000000000000007080000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc48375820f00000000000000000000000000000000000000000000000000000000000000060000000000000000000000001c0ec596303ce6666f5a4d24c29e78cf881cb5d3000000000000000000000000ab72e08f71c726cdf6c4b0fde966c18c0bffdf470000000000000000000000005725eb3576165fc21cfdb6ff4896dc7ad1606d6f00000000000000000000000082764c729e3393a0592808db46e608ca54604f81000000000000000000000000563087f280a1fb43ebb8f9ac1c0541b82afcdaed000000000000000000000000ce4e2080810cf0fcf67e1a72e86fa82125cbcf5d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

-----Encoded View---------------
50 Constructor Arguments found :
Arg [0] : 00000000000000000000000023c886396cfbadb0f3bac4b728150e8a59dc0e10
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [2] : 00000000000000000000000000000000000000000000000000000000000005c4
Arg [3] : ad6f10d500000000000000000000000000000000000000000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000d3c21bcecced
Arg [7] : a100000000000000000000000000000000000000000000000000000000000000
Arg [8] : 000000000000000000000000000000000000000000000000000000000214e834
Arg [9] : 8c4f000000000000000000000000000000000000000000000000d3c21bcecced
Arg [10] : a100000000000000000000000000000000000000000000000000000000000000
Arg [11] : 0000271000000000000000000000000000000000000000000000000000000000
Arg [12] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [13] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [14] : 00278d0000000000000000000000000000000000000000000000000000000000
Arg [15] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [16] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [17] : 000001c000000000000000000000000000000000000000000000000000000000
Arg [18] : 0000016000000000000000000000000000000000000000000000000000000000
Arg [19] : 000001a000000000000000000000000000000000000000000000000000000000
Arg [20] : 0000000100000000000000000000000000000000000000000000000000000000
Arg [21] : 000001e000000000000000000000000000000000000000000000000000000000
Arg [22] : 0000000100000000000000000000000000000000000000000000000000000000
Arg [23] : 0000000100000000000000000000000000000000000000000000000000000000
Arg [24] : 0000000100000000000000000000000000000000000000000000000000000000
Arg [25] : 0000000100000000000000000000000000000000000000000000000000000000
Arg [26] : 000003c000000000000000000000000000000000000000000000000000000000
Arg [27] : 000003e000000000000000000000000000000000000000000000000000000000
Arg [28] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [29] : 0000000d476574536f6d6547686f737473000000000000000000000000000000
Arg [30] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [31] : 0000000d476574536f6d6547686f737473000000000000000000000000000000
Arg [32] : 00000000000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab
Arg [33] : 684a56da000000000000000000000000c0e0ec5541e26e93d5a9f5e999ab2a0a
Arg [34] : 7f8260ae00000000000000000000000000000000000000000000000000000000
Arg [35] : 0000010000000000000000000000000000000000000000000000000000000000
Arg [36] : 00093a8000000000000000000000000000000000000000000000000000000000
Arg [37] : 0000708000000000000000000000000000000000000000000000000000000000
Arg [38] : 0000138800000000000000000000000000000000000000000000000000000000
Arg [39] : 000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc4
Arg [40] : 8375820f00000000000000000000000000000000000000000000000000000000
Arg [41] : 000000060000000000000000000000001c0ec596303ce6666f5a4d24c29e78cf
Arg [42] : 881cb5d3000000000000000000000000ab72e08f71c726cdf6c4b0fde966c18c
Arg [43] : 0bffdf470000000000000000000000005725eb3576165fc21cfdb6ff4896dc7a
Arg [44] : d1606d6f00000000000000000000000082764c729e3393a0592808db46e608ca
Arg [45] : 54604f81000000000000000000000000563087f280a1fb43ebb8f9ac1c0541b8
Arg [46] : 2afcdaed000000000000000000000000ce4e2080810cf0fcf67e1a72e86fa821
Arg [47] : 25cbcf5d00000000000000000000000000000000000000000000000000000000
Arg [48] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [49] : 0000000000000000000000000000000000000000000000000000000000000000


Block Uncle Number Difficulty Gas Used Reward
View All Uncles
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.