ETH Price: $3,346.36 (+0.33%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Execute183600012023-10-16 2:38:35443 days ago1697423915IN
0xDBDC2bEc...67B020A20
0 ETH0.001612968.80603382
Accept183599922023-10-16 2:36:47443 days ago1697423807IN
0xDBDC2bEc...67B020A20
0 ETH0.000597188.64573108
Accept183599772023-10-16 2:33:47443 days ago1697423627IN
0xDBDC2bEc...67B020A20
0 ETH0.000638269.24050782
Accept183599652023-10-16 2:31:23443 days ago1697423483IN
0xDBDC2bEc...67B020A20
0 ETH0.000562188.13905346
Accept183599512023-10-16 2:28:35443 days ago1697423315IN
0xDBDC2bEc...67B020A20
0 ETH0.000417496.04430972
Accept183599402023-10-16 2:26:23443 days ago1697423183IN
0xDBDC2bEc...67B020A20
0 ETH0.000437196.32947843
Accept183599292023-10-16 2:24:11443 days ago1697423051IN
0xDBDC2bEc...67B020A20
0 ETH0.000376385.44901852
Accept183599162023-10-16 2:21:35443 days ago1697422895IN
0xDBDC2bEc...67B020A20
0 ETH0.000362775.14044546
Accept183599052023-10-16 2:19:23443 days ago1697422763IN
0xDBDC2bEc...67B020A20
0 ETH0.000355685.14353724
Accept183598942023-10-16 2:17:11443 days ago1697422631IN
0xDBDC2bEc...67B020A20
0 ETH0.000391245.65780689
Propose183598792023-10-16 2:14:11443 days ago1697422451IN
0xDBDC2bEc...67B020A20
0 ETH0.000819335.06702566

Latest 3 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
183600012023-10-16 2:38:35443 days ago1697423915
0xDBDC2bEc...67B020A20
0.17 ETH
183598782023-10-16 2:13:59443 days ago1697422439
0xDBDC2bEc...67B020A20
0.17 ETH
183596762023-10-16 1:33:11443 days ago1697419991  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:
paris 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"}]

60a060405261025480380380610014816100df565b92833981016040828203126100c45781516001600160a01b03811681036100c45760208381015190936001600160401b0382116100c4570182601f820112156100c45780519061006b61006683610109565b6100df565b938285528583830101116100c45760005b8281106100b15750506100959360009184010152610124565b60405160da908161017a823960805181818160190152606f0152f35b818101860151858201870152850161007c565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6040519190601f01601f191682016001600160401b0381118382101761010457604052565b6100c9565b6001600160401b03811161010457601f01601f191660200190565b6080819052815160009283926020909101906001600160a01b03165af43d15610171573d9061015561006683610109565b9182523d6000602084013e5b156101695750565b602081519101fd5b60609061016156fe60806040526004361015604a575b600036818037808036817f00000000000000000000000000000000000000000000000000000000000000005af43d82803e156046573d90f35b3d90fd5b6000803560e01c6356973ee514605f5750600d565b3460a1578060031936011260a1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166080908152602090f35b80fdfea264697066735822122071fb9b5f96e8d1bb39716cafe53eda307c95659122e63328b4b21a20a30944a064736f6c63430008140033000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000005042d992cd3000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000460000000000000000000000000000000000000000000000000000000000000048000000000000000000000000000000000000000000000000000000000000004a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000380000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000fd20000000000000000000000000000000000000000000000000000000000000151800000000000000000000000000000000000000000000000000000000000000dac000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc48375820f000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000058414a039176a16594e42fe1aebb4295f70b495e000000000000000000000000824d8f0b9bddb791c35290d82c5d785f6fd3f680000000000000000000000000c6da97bc9da36ba997def93b9c8a220ea8a77ac30000000000000000000000004bf4c32b94d5a2f070e879d42b99b823273d82f5000000000000000000000000dfac8dd881e3822004697871bf574b5aff823dd4000000000000000000000000d7ab5eb8fd7c6584c2f79d8782f26e490b9a796600000000000000000000000072e3d95604104aa43623dfae882e369995beb8af0000000000000000000000000066f387da4b816a44e7b3b9cdb4633ed3dcb56b000000000000000000000000735744e7ba1c28717577e0399568aecd0a57501a000000000000000000000000c544cd2fefb0ba23853f498818d23923eebdfc9900000000000000000000000000000000000000000000000000000000000000077a6f6520626f790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000077a6f6520626f7900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000db791797f413c8c2e86ca6a4671f7ed37811101d00000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x60806040526004361015604a575b600036818037808036817f000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da5af43d82803e156046573d90f35b3d90fd5b6000803560e01c6356973ee514605f5750600d565b3460a1578060031936011260a1577f000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da6001600160a01b03166080908152602090f35b80fdfea264697066735822122071fb9b5f96e8d1bb39716cafe53eda307c95659122e63328b4b21a20a30944a064736f6c63430008140033

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

000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000005042d992cd3000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000460000000000000000000000000000000000000000000000000000000000000048000000000000000000000000000000000000000000000000000000000000004a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000380000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000fd20000000000000000000000000000000000000000000000000000000000000151800000000000000000000000000000000000000000000000000000000000000dac000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc48375820f000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000058414a039176a16594e42fe1aebb4295f70b495e000000000000000000000000824d8f0b9bddb791c35290d82c5d785f6fd3f680000000000000000000000000c6da97bc9da36ba997def93b9c8a220ea8a77ac30000000000000000000000004bf4c32b94d5a2f070e879d42b99b823273d82f5000000000000000000000000dfac8dd881e3822004697871bf574b5aff823dd4000000000000000000000000d7ab5eb8fd7c6584c2f79d8782f26e490b9a796600000000000000000000000072e3d95604104aa43623dfae882e369995beb8af0000000000000000000000000066f387da4b816a44e7b3b9cdb4633ed3dcb56b000000000000000000000000735744e7ba1c28717577e0399568aecd0a57501a000000000000000000000000c544cd2fefb0ba23853f498818d23923eebdfc9900000000000000000000000000000000000000000000000000000000000000077a6f6520626f790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000077a6f6520626f7900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000db791797f413c8c2e86ca6a4671f7ed37811101d00000000000000000000000000000000000000000000000000000000

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

-----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] : 0000000100000000000000000000000000000000000000000000000000000000
Arg [18] : 000000e000000000000000000000000000000000000000000000000000000000
Arg [19] : 000fd20000000000000000000000000000000000000000000000000000000000
Arg [20] : 0001518000000000000000000000000000000000000000000000000000000000
Arg [21] : 00000dac00000000000000000000000000000000000000000000000000000000
Arg [22] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [23] : 000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc4
Arg [24] : 8375820f00000000000000000000000000000000000000000000000000000000
Arg [25] : 0000000a00000000000000000000000058414a039176a16594e42fe1aebb4295
Arg [26] : f70b495e000000000000000000000000824d8f0b9bddb791c35290d82c5d785f
Arg [27] : 6fd3f680000000000000000000000000c6da97bc9da36ba997def93b9c8a220e
Arg [28] : a8a77ac30000000000000000000000004bf4c32b94d5a2f070e879d42b99b823
Arg [29] : 273d82f5000000000000000000000000dfac8dd881e3822004697871bf574b5a
Arg [30] : ff823dd4000000000000000000000000d7ab5eb8fd7c6584c2f79d8782f26e49
Arg [31] : 0b9a796600000000000000000000000072e3d95604104aa43623dfae882e3699
Arg [32] : 95beb8af0000000000000000000000000066f387da4b816a44e7b3b9cdb4633e
Arg [33] : d3dcb56b000000000000000000000000735744e7ba1c28717577e0399568aecd
Arg [34] : 0a57501a000000000000000000000000c544cd2fefb0ba23853f498818d23923
Arg [35] : eebdfc9900000000000000000000000000000000000000000000000000000000
Arg [36] : 000000077a6f6520626f79000000000000000000000000000000000000000000
Arg [37] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [38] : 000000077a6f6520626f79000000000000000000000000000000000000000000
Arg [39] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [40] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [41] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [42] : 00000001000000000000000000000000db791797f413c8c2e86ca6a4671f7ed3
Arg [43] : 7811101d00000000000000000000000000000000000000000000000000000000


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.