ETH Price: $2,024.91 (-1.86%)

Contract

0xB448E44Cb9131d077c60F2604b680bd83C4686Ef
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Execute178899042023-08-11 6:38:23594 days ago1691735903IN
0xB448E44C...83C4686Ef
0 ETH0.0019675115.5392238
Accept178898952023-08-11 6:36:23594 days ago1691735783IN
0xB448E44C...83C4686Ef
0 ETH0.0010025214.51393353
Accept178898942023-08-11 6:36:11594 days ago1691735771IN
0xB448E44C...83C4686Ef
0 ETH0.000972714.08229326
Accept178898932023-08-11 6:35:59594 days ago1691735759IN
0xB448E44C...83C4686Ef
0 ETH0.0009881114.30535377
Accept178898922023-08-11 6:35:47594 days ago1691735747IN
0xB448E44C...83C4686Ef
0 ETH0.0010070114.57903172
Accept178898912023-08-11 6:35:35594 days ago1691735735IN
0xB448E44C...83C4686Ef
0 ETH0.0010249414.83862547
Accept178898902023-08-11 6:35:23594 days ago1691735723IN
0xB448E44C...83C4686Ef
0 ETH0.0010344414.97618355
Accept178898902023-08-11 6:35:23594 days ago1691735723IN
0xB448E44C...83C4686Ef
0 ETH0.0010344414.97618355
Accept178898892023-08-11 6:35:11594 days ago1691735711IN
0xB448E44C...83C4686Ef
0 ETH0.0010790915.29054324
Accept178898792023-08-11 6:33:11594 days ago1691735591IN
0xB448E44C...83C4686Ef
0 ETH0.0010730615.51770054
Propose178898762023-08-11 6:32:35594 days ago1691735555IN
0xB448E44C...83C4686Ef
0 ETH0.0025987115.83783575

Latest 3 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer178899042023-08-11 6:38:23594 days ago1691735903
0xB448E44C...83C4686Ef
0.6 ETH
Transfer178897172023-08-11 6:00:23594 days ago1691733623
0xB448E44C...83C4686Ef
0.6 ETH
0x60a06040178895852023-08-11 5:33:47594 days ago1691732027  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

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

60a060405261025480380380610014816100df565b92833981016040828203126100c45781516001600160a01b03811681036100c45760208381015190936001600160401b0382116100c4570182601f820112156100c45780519061006b61006683610109565b6100df565b938285528583830101116100c45760005b8281106100b15750506100959360009184010152610124565b60405160da908161017a823960805181818160190152606f0152f35b818101860151858201870152850161007c565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6040519190601f01601f191682016001600160401b0381118382101761010457604052565b6100c9565b6001600160401b03811161010457601f01601f191660200190565b6080819052815160009283926020909101906001600160a01b03165af43d15610171573d9061015561006683610109565b9182523d6000602084013e5b156101695750565b602081519101fd5b60609061016156fe60806040526004361015604a575b600036818037808036817f00000000000000000000000000000000000000000000000000000000000000005af43d82803e156046573d90f35b3d90fd5b6000803560e01c6356973ee514605f5750600d565b3460a1578060031936011260a1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166080908152602090f35b80fdfea264697066735822122071fb9b5f96e8d1bb39716cafe53eda307c95659122e63328b4b21a20a30944a064736f6c63430008140033000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000005042d992cd3000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000460000000000000000000000000000000000000000000000000000000000000048000000000000000000000000000000000000000000000000000000000000004a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000380000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000093a8000000000000000000000000000000000000000000000000000000000000062700000000000000000000000000000000000000000000000000000000000000bb8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc48375820f000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000001622fe22b1461e922dd366f066d46e90152b77bd0000000000000000000000003e22d98f338a5c3cc7627181dfb51a166b66032500000000000000000000000047894f1bbbd2a74b786122cbe791a3a6112644c9000000000000000000000000909b1c036e9f7d4c5694263a3e11bc19e4d2233b0000000000000000000000004715b213a9d8e66e75edc85f5af2b02ed6b3c91e000000000000000000000000f3e26262604526a604b66e7ca01d987387986b96000000000000000000000000f64b4055e0a1cd7f8b8f94db8a84899cb2686dcf00000000000000000000000071a90647fa0579c8927a5444601ced3eefa3448100000000000000000000000027b336a3f31d71dfd93551bf32366f8c66937164000000000000000000000000f682d1c85864ca708984fe3d4855608f64839f38000000000000000000000000000000000000000000000000000000000000001250726976617465207061727479204c495a410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001250726976617465207061727479204c495a4100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000004b9e35e81e171f2e2ad5b6809b85233257701c7700000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x60806040526004361015604a575b600036818037808036817f000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da5af43d82803e156046573d90f35b3d90fd5b6000803560e01c6356973ee514605f5750600d565b3460a1578060031936011260a1577f000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da6001600160a01b03166080908152602090f35b80fdfea264697066735822122071fb9b5f96e8d1bb39716cafe53eda307c95659122e63328b4b21a20a30944a064736f6c63430008140033

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

000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000005042d992cd3000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000460000000000000000000000000000000000000000000000000000000000000048000000000000000000000000000000000000000000000000000000000000004a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000380000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000093a8000000000000000000000000000000000000000000000000000000000000062700000000000000000000000000000000000000000000000000000000000000bb8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc48375820f000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000001622fe22b1461e922dd366f066d46e90152b77bd0000000000000000000000003e22d98f338a5c3cc7627181dfb51a166b66032500000000000000000000000047894f1bbbd2a74b786122cbe791a3a6112644c9000000000000000000000000909b1c036e9f7d4c5694263a3e11bc19e4d2233b0000000000000000000000004715b213a9d8e66e75edc85f5af2b02ed6b3c91e000000000000000000000000f3e26262604526a604b66e7ca01d987387986b96000000000000000000000000f64b4055e0a1cd7f8b8f94db8a84899cb2686dcf00000000000000000000000071a90647fa0579c8927a5444601ced3eefa3448100000000000000000000000027b336a3f31d71dfd93551bf32366f8c66937164000000000000000000000000f682d1c85864ca708984fe3d4855608f64839f38000000000000000000000000000000000000000000000000000000000000001250726976617465207061727479204c495a410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001250726976617465207061727479204c495a4100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000004b9e35e81e171f2e2ad5b6809b85233257701c7700000000000000000000000000000000000000000000000000000000

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

-----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] : 00093a8000000000000000000000000000000000000000000000000000000000
Arg [20] : 0000627000000000000000000000000000000000000000000000000000000000
Arg [21] : 00000bb800000000000000000000000000000000000000000000000000000000
Arg [22] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [23] : 000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc4
Arg [24] : 8375820f00000000000000000000000000000000000000000000000000000000
Arg [25] : 0000000a0000000000000000000000001622fe22b1461e922dd366f066d46e90
Arg [26] : 152b77bd0000000000000000000000003e22d98f338a5c3cc7627181dfb51a16
Arg [27] : 6b66032500000000000000000000000047894f1bbbd2a74b786122cbe791a3a6
Arg [28] : 112644c9000000000000000000000000909b1c036e9f7d4c5694263a3e11bc19
Arg [29] : e4d2233b0000000000000000000000004715b213a9d8e66e75edc85f5af2b02e
Arg [30] : d6b3c91e000000000000000000000000f3e26262604526a604b66e7ca01d9873
Arg [31] : 87986b96000000000000000000000000f64b4055e0a1cd7f8b8f94db8a84899c
Arg [32] : b2686dcf00000000000000000000000071a90647fa0579c8927a5444601ced3e
Arg [33] : efa3448100000000000000000000000027b336a3f31d71dfd93551bf32366f8c
Arg [34] : 66937164000000000000000000000000f682d1c85864ca708984fe3d4855608f
Arg [35] : 64839f3800000000000000000000000000000000000000000000000000000000
Arg [36] : 0000001250726976617465207061727479204c495a4100000000000000000000
Arg [37] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [38] : 0000001250726976617465207061727479204c495a4100000000000000000000
Arg [39] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [40] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [41] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [42] : 000000010000000000000000000000004b9e35e81e171f2e2ad5b6809b852332
Arg [43] : 57701c7700000000000000000000000000000000000000000000000000000000


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.