ETH Price: $2,631.64 (+1.64%)

Contract

0xD6A9EF3DF67893bf1DA136122fBAC08b9c874E8C
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Execute181988652023-09-23 13:37:23333 days ago1695476243IN
0xD6A9EF3D...b9c874E8C
0 ETH0.001304347.12159701
Accept181988532023-09-23 13:34:59333 days ago1695476099IN
0xD6A9EF3D...b9c874E8C
0 ETH0.000508487.36149402
Accept181988422023-09-23 13:32:47333 days ago1695475967IN
0xD6A9EF3D...b9c874E8C
0 ETH0.00053867.79757574
Accept181988192023-09-23 13:27:59333 days ago1695475679IN
0xD6A9EF3D...b9c874E8C
0 ETH0.000503417.28818242
Accept181988032023-09-23 13:24:47333 days ago1695475487IN
0xD6A9EF3D...b9c874E8C
0 ETH0.000486197.0388524
Accept181987872023-09-23 13:21:35333 days ago1695475295IN
0xD6A9EF3D...b9c874E8C
0 ETH0.000479686.94459926
Accept181987742023-09-23 13:18:59333 days ago1695475139IN
0xD6A9EF3D...b9c874E8C
0 ETH0.000522187.55994147
Accept181987572023-09-23 13:15:35333 days ago1695474935IN
0xD6A9EF3D...b9c874E8C
0 ETH0.000509327.21700138
Accept181987442023-09-23 13:12:59333 days ago1695474779IN
0xD6A9EF3D...b9c874E8C
0 ETH0.00052567.60087593
Accept181987332023-09-23 13:10:47333 days ago1695474647IN
0xD6A9EF3D...b9c874E8C
0 ETH0.000532957.70707479
Propose181987122023-09-23 13:06:35333 days ago1695474395IN
0xD6A9EF3D...b9c874E8C
0 ETH0.00121777.53127451

Latest 3 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
181988652023-09-23 13:37:23333 days ago1695476243
0xD6A9EF3D...b9c874E8C
0.28 ETH
181987112023-09-23 13:06:23333 days ago1695474383
0xD6A9EF3D...b9c874E8C
0.28 ETH
181985472023-09-23 12:33:35333 days ago1695472415  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"}]

60a060405261025480380380610014816100df565b92833981016040828203126100c45781516001600160a01b03811681036100c45760208381015190936001600160401b0382116100c4570182601f820112156100c45780519061006b61006683610109565b6100df565b938285528583830101116100c45760005b8281106100b15750506100959360009184010152610124565b60405160da908161017a823960805181818160190152606f0152f35b818101860151858201870152850161007c565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6040519190601f01601f191682016001600160401b0381118382101761010457604052565b6100c9565b6001600160401b03811161010457601f01601f191660200190565b6080819052815160009283926020909101906001600160a01b03165af43d15610171573d9061015561006683610109565b9182523d6000602084013e5b156101695750565b602081519101fd5b60609061016156fe60806040526004361015604a575b600036818037808036817f00000000000000000000000000000000000000000000000000000000000000005af43d82803e156046573d90f35b3d90fd5b6000803560e01c6356973ee514605f5750600d565b3460a1578060031936011260a1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166080908152602090f35b80fdfea264697066735822122071fb9b5f96e8d1bb39716cafe53eda307c95659122e63328b4b21a20a30944a064736f6c63430008140033000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000005042d992cd3000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000460000000000000000000000000000000000000000000000000000000000000048000000000000000000000000000000000000000000000000000000000000004a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000380000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000069780000000000000000000000000000000000000000000000000000000000000fd200000000000000000000000000000000000000000000000000000000000000dac000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc48375820f000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000f51dd67288923cf6b01477246af0ca9d32f68d4000000000000000000000000c2c791c14f369001d72823b22b43cb4b4dc4a4a400000000000000000000000048ff7ccdf10cee4495050ea96bfbcc2881ef11c0000000000000000000000000f5f3e4cc9b62dc07e66dec08e6e006187d1d530600000000000000000000000026f28e681e07641bf8675bc0fe66dba7c5ed02eb0000000000000000000000003c327ff6306c7ac8b7d34f2ff2c3e47298fd0a990000000000000000000000004b2c6db6cc722c41545b3de65bbe174c3a7f18840000000000000000000000009f60384e795e5ce0a301143de1aea70f0fd9f36d00000000000000000000000068576129e497e3a4d237e463608986dbc61ee0f50000000000000000000000000d6dad0aceeafbde969829acec2fe7c0d04af960000000000000000000000000000000000000000000000000000000000000000f6d696767617220534c4142204f55540000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f6d696767617220534c4142204f5554000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000023edd675f6996563fa945cf85c62afc41572d46a00000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x60806040526004361015604a575b600036818037808036817f000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da5af43d82803e156046573d90f35b3d90fd5b6000803560e01c6356973ee514605f5750600d565b3460a1578060031936011260a1577f000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da6001600160a01b03166080908152602090f35b80fdfea264697066735822122071fb9b5f96e8d1bb39716cafe53eda307c95659122e63328b4b21a20a30944a064736f6c63430008140033

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

000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000005042d992cd3000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000460000000000000000000000000000000000000000000000000000000000000048000000000000000000000000000000000000000000000000000000000000004a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000380000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000069780000000000000000000000000000000000000000000000000000000000000fd200000000000000000000000000000000000000000000000000000000000000dac000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc48375820f000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000f51dd67288923cf6b01477246af0ca9d32f68d4000000000000000000000000c2c791c14f369001d72823b22b43cb4b4dc4a4a400000000000000000000000048ff7ccdf10cee4495050ea96bfbcc2881ef11c0000000000000000000000000f5f3e4cc9b62dc07e66dec08e6e006187d1d530600000000000000000000000026f28e681e07641bf8675bc0fe66dba7c5ed02eb0000000000000000000000003c327ff6306c7ac8b7d34f2ff2c3e47298fd0a990000000000000000000000004b2c6db6cc722c41545b3de65bbe174c3a7f18840000000000000000000000009f60384e795e5ce0a301143de1aea70f0fd9f36d00000000000000000000000068576129e497e3a4d237e463608986dbc61ee0f50000000000000000000000000d6dad0aceeafbde969829acec2fe7c0d04af960000000000000000000000000000000000000000000000000000000000000000f6d696767617220534c4142204f55540000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f6d696767617220534c4142204f5554000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000023edd675f6996563fa945cf85c62afc41572d46a00000000000000000000000000000000000000000000000000000000

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

-----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] : 0006978000000000000000000000000000000000000000000000000000000000
Arg [20] : 0000fd2000000000000000000000000000000000000000000000000000000000
Arg [21] : 00000dac00000000000000000000000000000000000000000000000000000000
Arg [22] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [23] : 000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc4
Arg [24] : 8375820f00000000000000000000000000000000000000000000000000000000
Arg [25] : 0000000a0000000000000000000000000f51dd67288923cf6b01477246af0ca9
Arg [26] : d32f68d4000000000000000000000000c2c791c14f369001d72823b22b43cb4b
Arg [27] : 4dc4a4a400000000000000000000000048ff7ccdf10cee4495050ea96bfbcc28
Arg [28] : 81ef11c0000000000000000000000000f5f3e4cc9b62dc07e66dec08e6e00618
Arg [29] : 7d1d530600000000000000000000000026f28e681e07641bf8675bc0fe66dba7
Arg [30] : c5ed02eb0000000000000000000000003c327ff6306c7ac8b7d34f2ff2c3e472
Arg [31] : 98fd0a990000000000000000000000004b2c6db6cc722c41545b3de65bbe174c
Arg [32] : 3a7f18840000000000000000000000009f60384e795e5ce0a301143de1aea70f
Arg [33] : 0fd9f36d00000000000000000000000068576129e497e3a4d237e463608986db
Arg [34] : c61ee0f50000000000000000000000000d6dad0aceeafbde969829acec2fe7c0
Arg [35] : d04af96000000000000000000000000000000000000000000000000000000000
Arg [36] : 0000000f6d696767617220534c4142204f555400000000000000000000000000
Arg [37] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [38] : 0000000f6d696767617220534c4142204f555400000000000000000000000000
Arg [39] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [40] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [41] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [42] : 0000000100000000000000000000000023edd675f6996563fa945cf85c62afc4
Arg [43] : 1572d46a00000000000000000000000000000000000000000000000000000000


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.