ETH Price: $3,110.35 (+1.24%)
Gas: 5 Gwei

Contract

0x3184Fa44A66038e74d9584E6B6095fc98AEbD157
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Execute178974532023-08-12 8:00:11333 days ago1691827211IN
0x3184Fa44...98AEbD157
0 ETH0.0018590914.68401383
Accept178974502023-08-12 7:59:35333 days ago1691827175IN
0x3184Fa44...98AEbD157
0 ETH0.0010288214.89476313
Accept178974492023-08-12 7:59:23333 days ago1691827163IN
0x3184Fa44...98AEbD157
0 ETH0.0011155616.1505114
Accept178974382023-08-12 7:57:11333 days ago1691827031IN
0x3184Fa44...98AEbD157
0 ETH0.0010523115.23477902
Accept178974342023-08-12 7:56:23333 days ago1691826983IN
0x3184Fa44...98AEbD157
0 ETH0.001060615.35477167
Accept178974332023-08-12 7:56:11333 days ago1691826971IN
0x3184Fa44...98AEbD157
0 ETH0.0010647815.41532733
Accept178974132023-08-12 7:52:11333 days ago1691826731IN
0x3184Fa44...98AEbD157
0 ETH0.0011985417.35183
Accept178974122023-08-12 7:51:59333 days ago1691826719IN
0x3184Fa44...98AEbD157
0 ETH0.0012090617.50420966
Accept178974072023-08-12 7:50:59333 days ago1691826659IN
0x3184Fa44...98AEbD157
0 ETH0.001186616.81386037
Propose178973942023-08-12 7:48:23333 days ago1691826503IN
0x3184Fa44...98AEbD157
0 ETH0.0029218717.80727626

Latest 3 internal transactions

Advanced mode:
Parent Transaction Hash Block From To Value
178974532023-08-12 8:00:11333 days ago1691827211
0x3184Fa44...98AEbD157
0.3 ETH
178972762023-08-12 7:24:35333 days ago1691825075
0x3184Fa44...98AEbD157
0.3 ETH
178971232023-08-12 6:53:47333 days ago1691823227  Contract Creation0 ETH
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())
        }
    }
}

File 2 of 3 : LibRawResult.sol
// 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

[{"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"}]

60a060405261025480380380610014816100df565b92833981016040828203126100c45781516001600160a01b03811681036100c45760208381015190936001600160401b0382116100c4570182601f820112156100c45780519061006b61006683610109565b6100df565b938285528583830101116100c45760005b8281106100b15750506100959360009184010152610124565b60405160da908161017a823960805181818160190152606f0152f35b818101860151858201870152850161007c565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6040519190601f01601f191682016001600160401b0381118382101761010457604052565b6100c9565b6001600160401b03811161010457601f01601f191660200190565b6080819052815160009283926020909101906001600160a01b03165af43d15610171573d9061015561006683610109565b9182523d6000602084013e5b156101695750565b602081519101fd5b60609061016156fe60806040526004361015604a575b600036818037808036817f00000000000000000000000000000000000000000000000000000000000000005af43d82803e156046573d90f35b3d90fd5b6000803560e01c6356973ee514605f5750600d565b3460a1578060031936011260a1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166080908152602090f35b80fdfea264697066735822122071fb9b5f96e8d1bb39716cafe53eda307c95659122e63328b4b21a20a30944a064736f6c63430008140033000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000005042d992cd3000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000460000000000000000000000000000000000000000000000000000000000000048000000000000000000000000000000000000000000000000000000000000004a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000380000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000093a8000000000000000000000000000000000000000000000000000000000000062700000000000000000000000000000000000000000000000000000000000000bb8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc48375820f000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000006e1de1e48c02e80019e72144773ce91f80988b6000000000000000000000000ffb6c36146878b6351aebaef23f01efa694905e900000000000000000000000085777ba6b0add7485c5d212d98be309ef6dc63c600000000000000000000000078c0577657a40ad9b9f7f24aa5a709a5eb660b02000000000000000000000000e17f667ce44404fb434b9d02222d9780d8aec7e4000000000000000000000000bc6d889251fabca01958fdf54c5c5babd9a00ac90000000000000000000000005be6777273b6bc57f675fd2ee857544d684e4ec3000000000000000000000000c9193ae0d19e9b0aee84848ab8e019f5a1ded2b8000000000000000000000000e1eed22e8f7fe6d4e401f14f4e9297e9d3100a1a000000000000000000000000e14b37c720ff08200aa9057f769f91adcce452950000000000000000000000000000000000000000000000000000000000000007427261746865720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074272617468657200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000ef3584675f3f90d00bf571ed172c9ed8e48fb52700000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x60806040526004361015604a575b600036818037808036817f000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da5af43d82803e156046573d90f35b3d90fd5b6000803560e01c6356973ee514605f5750600d565b3460a1578060031936011260a1577f000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da6001600160a01b03166080908152602090f35b80fdfea264697066735822122071fb9b5f96e8d1bb39716cafe53eda307c95659122e63328b4b21a20a30944a064736f6c63430008140033

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

000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000005042d992cd3000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000460000000000000000000000000000000000000000000000000000000000000048000000000000000000000000000000000000000000000000000000000000004a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000380000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000093a8000000000000000000000000000000000000000000000000000000000000062700000000000000000000000000000000000000000000000000000000000000bb8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc48375820f000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000006e1de1e48c02e80019e72144773ce91f80988b6000000000000000000000000ffb6c36146878b6351aebaef23f01efa694905e900000000000000000000000085777ba6b0add7485c5d212d98be309ef6dc63c600000000000000000000000078c0577657a40ad9b9f7f24aa5a709a5eb660b02000000000000000000000000e17f667ce44404fb434b9d02222d9780d8aec7e4000000000000000000000000bc6d889251fabca01958fdf54c5c5babd9a00ac90000000000000000000000005be6777273b6bc57f675fd2ee857544d684e4ec3000000000000000000000000c9193ae0d19e9b0aee84848ab8e019f5a1ded2b8000000000000000000000000e1eed22e8f7fe6d4e401f14f4e9297e9d3100a1a000000000000000000000000e14b37c720ff08200aa9057f769f91adcce452950000000000000000000000000000000000000000000000000000000000000007427261746865720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074272617468657200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000ef3584675f3f90d00bf571ed172c9ed8e48fb52700000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : impl (address): 0xb676cfeEeD5c7B739452a502F1Eff9Ab684A56Da
Arg [1] : initCallData (bytes): 0x2d992cd3000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000460000000000000000000000000000000000000000000000000000000000000048000000000000000000000000000000000000000000000000000000000000004a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000380000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000093a8000000000000000000000000000000000000000000000000000000000000062700000000000000000000000000000000000000000000000000000000000000bb8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc48375820f000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000006e1de1e48c02e80019e72144773ce91f80988b6000000000000000000000000ffb6c36146878b6351aebaef23f01efa694905e900000000000000000000000085777ba6b0add7485c5d212d98be309ef6dc63c600000000000000000000000078c0577657a40ad9b9f7f24aa5a709a5eb660b02000000000000000000000000e17f667ce44404fb434b9d02222d9780d8aec7e4000000000000000000000000bc6d889251fabca01958fdf54c5c5babd9a00ac90000000000000000000000005be6777273b6bc57f675fd2ee857544d684e4ec3000000000000000000000000c9193ae0d19e9b0aee84848ab8e019f5a1ded2b8000000000000000000000000e1eed22e8f7fe6d4e401f14f4e9297e9d3100a1a000000000000000000000000e14b37c720ff08200aa9057f769f91adcce452950000000000000000000000000000000000000000000000000000000000000007427261746865720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074272617468657200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000ef3584675f3f90d00bf571ed172c9ed8e48fb527

-----Encoded View---------------
44 Constructor Arguments found :
Arg [0] : 000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000504
Arg [3] : 2d992cd300000000000000000000000000000000000000000000000000000000
Arg [4] : 0000002000000000000000000000000000000000000000000000000000000000
Arg [5] : 000000a000000000000000000000000000000000000000000000000000000000
Arg [6] : 0000046000000000000000000000000000000000000000000000000000000000
Arg [7] : 0000048000000000000000000000000000000000000000000000000000000000
Arg [8] : 000004a000000000000000000000000000000000000000000000000000000000
Arg [9] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [10] : 0000010000000000000000000000000000000000000000000000000000000000
Arg [11] : 0000000100000000000000000000000000000000000000000000000000000000
Arg [12] : 0000000100000000000000000000000000000000000000000000000000000000
Arg [13] : 0000000100000000000000000000000000000000000000000000000000000000
Arg [14] : 0000000100000000000000000000000000000000000000000000000000000000
Arg [15] : 0000034000000000000000000000000000000000000000000000000000000000
Arg [16] : 0000038000000000000000000000000000000000000000000000000000000000
Arg [17] : 0000000300000000000000000000000000000000000000000000000000000000
Arg [18] : 000000e000000000000000000000000000000000000000000000000000000000
Arg [19] : 00093a8000000000000000000000000000000000000000000000000000000000
Arg [20] : 0000627000000000000000000000000000000000000000000000000000000000
Arg [21] : 00000bb800000000000000000000000000000000000000000000000000000000
Arg [22] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [23] : 000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc4
Arg [24] : 8375820f00000000000000000000000000000000000000000000000000000000
Arg [25] : 0000000a00000000000000000000000006e1de1e48c02e80019e72144773ce91
Arg [26] : f80988b6000000000000000000000000ffb6c36146878b6351aebaef23f01efa
Arg [27] : 694905e900000000000000000000000085777ba6b0add7485c5d212d98be309e
Arg [28] : f6dc63c600000000000000000000000078c0577657a40ad9b9f7f24aa5a709a5
Arg [29] : eb660b02000000000000000000000000e17f667ce44404fb434b9d02222d9780
Arg [30] : d8aec7e4000000000000000000000000bc6d889251fabca01958fdf54c5c5bab
Arg [31] : d9a00ac90000000000000000000000005be6777273b6bc57f675fd2ee857544d
Arg [32] : 684e4ec3000000000000000000000000c9193ae0d19e9b0aee84848ab8e019f5
Arg [33] : a1ded2b8000000000000000000000000e1eed22e8f7fe6d4e401f14f4e9297e9
Arg [34] : d3100a1a000000000000000000000000e14b37c720ff08200aa9057f769f91ad
Arg [35] : cce4529500000000000000000000000000000000000000000000000000000000
Arg [36] : 0000000742726174686572000000000000000000000000000000000000000000
Arg [37] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [38] : 0000000742726174686572000000000000000000000000000000000000000000
Arg [39] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [40] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [41] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [42] : 00000001000000000000000000000000ef3584675f3f90d00bf571ed172c9ed8
Arg [43] : e48fb52700000000000000000000000000000000000000000000000000000000


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
[ 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.