ETH Price: $3,391.25 (+4.08%)

Contract

0x83c4b6F35A922d7a2f273fD9fEBC8e6A4F7Cd0B4
 

Overview

ETH Balance

0.61545 ETH

Eth Value

$2,087.15 (@ $3,391.25/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Rage Quit193192302024-02-27 13:36:47300 days ago1709041007IN
0x83c4b6F3...A4F7Cd0B4
0 ETH0.005831149.99406336
Set Rage Quit193161892024-02-27 3:25:23300 days ago1709004323IN
0x83c4b6F3...A4F7Cd0B4
0 ETH0.0017369450.83092443
Execute180356312023-08-31 16:04:11480 days ago1693497851IN
0x83c4b6F3...A4F7Cd0B4
0 ETH0.0063880753.31479499
Propose180356192023-08-31 16:01:47480 days ago1693497707IN
0x83c4b6F3...A4F7Cd0B4
0 ETH0.0077075551.11754989
Execute180353822023-08-31 15:13:59480 days ago1693494839IN
0x83c4b6F3...A4F7Cd0B4
0 ETH0.0090747326.87614883
Propose180353532023-08-31 15:08:11480 days ago1693494491IN
0x83c4b6F3...A4F7Cd0B4
0 ETH0.0050137729.42925604
Safe Transfer Fr...179803672023-08-23 22:23:11488 days ago1692829391IN
0x83c4b6F3...A4F7Cd0B4
0 ETH0.0043722825.37762259
Safe Transfer Fr...179803622023-08-23 22:22:11488 days ago1692829331IN
0x83c4b6F3...A4F7Cd0B4
0 ETH0.0041580324.13577495

Latest 6 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
193192302024-02-27 13:36:47300 days ago1709041007
0x83c4b6F3...A4F7Cd0B4
0.20002125 ETH
193192302024-02-27 13:36:47300 days ago1709041007
0x83c4b6F3...A4F7Cd0B4
0.00512875 ETH
180353822023-08-31 15:13:59480 days ago1693494839
0x83c4b6F3...A4F7Cd0B4
0.0006 ETH
180353822023-08-31 15:13:59480 days ago1693494839
0x83c4b6F3...A4F7Cd0B4
0.18 ETH
179287622023-08-16 17:04:47495 days ago1692205487
0x83c4b6F3...A4F7Cd0B4
1 ETH
179282852023-08-16 15:28:47495 days ago1692199727  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"}]

60a060405261025480380380610014816100df565b92833981016040828203126100c45781516001600160a01b03811681036100c45760208381015190936001600160401b0382116100c4570182601f820112156100c45780519061006b61006683610109565b6100df565b938285528583830101116100c45760005b8281106100b15750506100959360009184010152610124565b60405160da908161017a823960805181818160190152606f0152f35b818101860151858201870152850161007c565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6040519190601f01601f191682016001600160401b0381118382101761010457604052565b6100c9565b6001600160401b03811161010457601f01601f191660200190565b6080819052815160009283926020909101906001600160a01b03165af43d15610171573d9061015561006683610109565b9182523d6000602084013e5b156101695750565b602081519101fd5b60609061016156fe60806040526004361015604a575b600036818037808036817f00000000000000000000000000000000000000000000000000000000000000005af43d82803e156046573d90f35b3d90fd5b6000803560e01c6356973ee514605f5750600d565b3460a1578060031936011260a1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166080908152602090f35b80fdfea264697066735822122071fb9b5f96e8d1bb39716cafe53eda307c95659122e63328b4b21a20a30944a064736f6c63430008140033000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000004442d992cd3000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000093a80000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000009c4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc48375820f00000000000000000000000000000000000000000000000000000000000000040000000000000000000000001464d4e3c815de3028572b850c6c34dfc57e9320000000000000000000000000c3edcbe0f93a6258c3933e86ffaa3bcf12f8d695000000000000000000000000afe6520e39b77158e15b3377c1528b590a887800000000000000000000000000518201899e316bf98c957c73e1326b77672fe52b0000000000000000000000000000000000000000000000000000000000000016416c7465726e61746976652054686573657320535331000000000000000000000000000000000000000000000000000000000000000000000000000000000016416c7465726e6174697665205468657365732053533100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a10d7855fdc6b54641e00ea05be5718b3a4212ee00000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x60806040526004361015604a575b600036818037808036817f000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da5af43d82803e156046573d90f35b3d90fd5b6000803560e01c6356973ee514605f5750600d565b3460a1578060031936011260a1577f000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da6001600160a01b03166080908152602090f35b80fdfea264697066735822122071fb9b5f96e8d1bb39716cafe53eda307c95659122e63328b4b21a20a30944a064736f6c63430008140033

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

000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000004442d992cd3000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000093a80000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000009c4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc48375820f00000000000000000000000000000000000000000000000000000000000000040000000000000000000000001464d4e3c815de3028572b850c6c34dfc57e9320000000000000000000000000c3edcbe0f93a6258c3933e86ffaa3bcf12f8d695000000000000000000000000afe6520e39b77158e15b3377c1528b590a887800000000000000000000000000518201899e316bf98c957c73e1326b77672fe52b0000000000000000000000000000000000000000000000000000000000000016416c7465726e61746976652054686573657320535331000000000000000000000000000000000000000000000000000000000000000000000000000000000016416c7465726e6174697665205468657365732053533100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a10d7855fdc6b54641e00ea05be5718b3a4212ee00000000000000000000000000000000000000000000000000000000

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

-----Encoded View---------------
38 Constructor Arguments found :
Arg [0] : 000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000444
Arg [3] : 2d992cd300000000000000000000000000000000000000000000000000000000
Arg [4] : 0000002000000000000000000000000000000000000000000000000000000000
Arg [5] : 000000a000000000000000000000000000000000000000000000000000000000
Arg [6] : 000003a000000000000000000000000000000000000000000000000000000000
Arg [7] : 000003c000000000000000000000000000000000000000000000000000000000
Arg [8] : 000003e000000000000000000000000000000000000000000000000000000000
Arg [9] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [10] : 0000010000000000000000000000000000000000000000000000000000000000
Arg [11] : 0000000100000000000000000000000000000000000000000000000000000000
Arg [12] : 0000000100000000000000000000000000000000000000000000000000000000
Arg [13] : 0000000100000000000000000000000000000000000000000000000000000000
Arg [14] : 0000000100000000000000000000000000000000000000000000000000000000
Arg [15] : 0000028000000000000000000000000000000000000000000000000000000000
Arg [16] : 000002c000000000000000000000000000000000000000000000000000000000
Arg [17] : 0000000c00000000000000000000000000000000000000000000000000000000
Arg [18] : 000000e000000000000000000000000000000000000000000000000000000000
Arg [19] : 00093a8000000000000000000000000000000000000000000000000000000000
Arg [20] : 0000003c00000000000000000000000000000000000000000000000000000000
Arg [21] : 000009c400000000000000000000000000000000000000000000000000000000
Arg [22] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [23] : 000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc4
Arg [24] : 8375820f00000000000000000000000000000000000000000000000000000000
Arg [25] : 000000040000000000000000000000001464d4e3c815de3028572b850c6c34df
Arg [26] : c57e9320000000000000000000000000c3edcbe0f93a6258c3933e86ffaa3bcf
Arg [27] : 12f8d695000000000000000000000000afe6520e39b77158e15b3377c1528b59
Arg [28] : 0a887800000000000000000000000000518201899e316bf98c957c73e1326b77
Arg [29] : 672fe52b00000000000000000000000000000000000000000000000000000000
Arg [30] : 00000016416c7465726e61746976652054686573657320535331000000000000
Arg [31] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [32] : 00000016416c7465726e61746976652054686573657320535331000000000000
Arg [33] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [34] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [35] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [36] : 00000001000000000000000000000000a10d7855fdc6b54641e00ea05be5718b
Arg [37] : 3a4212ee00000000000000000000000000000000000000000000000000000000


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.