ETH Price: $3,168.36 (-0.66%)

Contract

0x87088B14c02E639453e91b4588611d4042cA1FC0
 

Overview

ETH Balance

0.006656168446668589 ETH

Eth Value

$21.09 (@ $3,168.36/ETH)
Transaction Hash
Method
Block
From
To
Propose202648062024-07-08 22:37:35189 days ago1720478255IN
0x87088B14...042cA1FC0
0 ETH0.00035992.41754027
Execute201855152024-06-27 20:48:59200 days ago1719521339IN
0x87088B14...042cA1FC0
0 ETH0.001491717.05189095
Propose201855132024-06-27 20:48:35200 days ago1719521315IN
0x87088B14...042cA1FC0
0 ETH0.001029037.04713964
Propose195281952024-03-27 21:25:59292 days ago1711574759IN
0x87088B14...042cA1FC0
0 ETH0.0060771542.04947266
Execute191726872024-02-07 0:14:35342 days ago1707264875IN
0x87088B14...042cA1FC0
0 ETH0.0023232121.82876895
Propose191719422024-02-06 21:44:11342 days ago1707255851IN
0x87088B14...042cA1FC0
0 ETH0.0039734226.77206213
Execute191719332024-02-06 21:42:23342 days ago1707255743IN
0x87088B14...042cA1FC0
0 ETH0.0030098728.23099043
Propose191719312024-02-06 21:41:59342 days ago1707255719IN
0x87088B14...042cA1FC0
0 ETH0.0041604328.03203213
Execute191709722024-02-06 18:27:47342 days ago1707244067IN
0x87088B14...042cA1FC0
0 ETH0.0033595632.11332514
Accept191709682024-02-06 18:26:59342 days ago1707244019IN
0x87088B14...042cA1FC0
0 ETH0.0022829432.3432065
Propose191709612024-02-06 18:25:35342 days ago1707243935IN
0x87088B14...042cA1FC0
0 ETH0.0051902635.31563897
Transfer191665422024-02-06 3:32:23343 days ago1707190343IN
0x87088B14...042cA1FC0
1 ETH0.0006286726.45165584
Execute190714682024-01-23 19:31:59356 days ago1706038319IN
0x87088B14...042cA1FC0
0 ETH0.0014376913.7425905
Propose190714652024-01-23 19:31:23356 days ago1706038283IN
0x87088B14...042cA1FC0
0 ETH0.0021986414.81397729
Execute185794312023-11-15 19:40:35425 days ago1700077235IN
0x87088B14...042cA1FC0
0 ETH0.004391941.19712832
Propose185794112023-11-15 19:36:35425 days ago1700076995IN
0x87088B14...042cA1FC0
0 ETH0.0068610746.23212109
Execute185308622023-11-09 0:37:35432 days ago1699490255IN
0x87088B14...042cA1FC0
0 ETH0.0207275928.05894488
Accept185308292023-11-09 0:30:59432 days ago1699489859IN
0x87088B14...042cA1FC0
0 ETH0.0022500431.87710732
Propose185308252023-11-09 0:30:11432 days ago1699489811IN
0x87088B14...042cA1FC0
0 ETH0.005659532.04068523
Execute184230442023-10-24 22:18:23447 days ago1698185903IN
0x87088B14...042cA1FC0
0 ETH0.0032122819.34484971
Propose184230412023-10-24 22:17:47447 days ago1698185867IN
0x87088B14...042cA1FC0
0 ETH0.0029263220.04043529
Execute184177612023-10-24 4:33:35448 days ago1698122015IN
0x87088B14...042cA1FC0
0 ETH0.0181296521.71569588
Execute184177432023-10-24 4:29:59448 days ago1698121799IN
0x87088B14...042cA1FC0
0 ETH0.0023342220.44265648
Propose184177412023-10-24 4:29:35448 days ago1698121775IN
0x87088B14...042cA1FC0
0 ETH0.0030274320.16693401
Execute184176882023-10-24 4:18:59448 days ago1698121139IN
0x87088B14...042cA1FC0
0 ETH0.0209494925.71354606
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
201855152024-06-27 20:48:59200 days ago1719521339
0x87088B14...042cA1FC0
0.37 ETH
191726872024-02-07 0:14:35342 days ago1707264875
0x87088B14...042cA1FC0
0.2 ETH
191719332024-02-06 21:42:23342 days ago1707255743
0x87088B14...042cA1FC0
0.3 ETH
191709722024-02-06 18:27:47342 days ago1707244067
0x87088B14...042cA1FC0
0.15 ETH
190714682024-01-23 19:31:59356 days ago1706038319
0x87088B14...042cA1FC0
0.08 ETH
185794312023-11-15 19:40:35425 days ago1700077235
0x87088B14...042cA1FC0
0.05 ETH
185308872023-11-09 0:42:35432 days ago1699490555
0x87088B14...042cA1FC0
0.000111 ETH
184230442023-10-24 22:18:23447 days ago1698185903
0x87088B14...042cA1FC0
0.25 ETH
184177432023-10-24 4:29:59448 days ago1698121799
0x87088B14...042cA1FC0
0.000444 ETH
182787902023-10-04 17:56:59467 days ago1696442219
0x87088B14...042cA1FC0
0.1 ETH
180943702023-09-08 21:28:11493 days ago1694208491
0x87088B14...042cA1FC0
0.05 ETH
180943672023-09-08 21:27:35493 days ago1694208455
0x87088B14...042cA1FC0
0.00610116 ETH
180824762023-09-07 5:29:59495 days ago1694064599
0x87088B14...042cA1FC0
0.15 ETH
179753932023-08-23 5:42:59510 days ago1692769379
0x87088B14...042cA1FC0
0.15357305 ETH
179753572023-08-23 5:35:35510 days ago1692768935
0x87088B14...042cA1FC0
0.05 ETH
178730122023-08-08 21:54:59524 days ago1691531699
0x87088B14...042cA1FC0
0.38 ETH
178667432023-08-08 0:51:11525 days ago1691455871
0x87088B14...042cA1FC0
0.05 ETH
178164632023-08-01 0:06:11532 days ago1690848371
0x87088B14...042cA1FC0
0.15 ETH
177942612023-07-28 21:34:59535 days ago1690580099
0x87088B14...042cA1FC0
0.09535088 ETH
177942252023-07-28 21:27:47535 days ago1690579667
0x87088B14...042cA1FC0
0.08822216 ETH
177942252023-07-28 21:27:47535 days ago1690579667
0x87088B14...042cA1FC0
4 wei
177942252023-07-28 21:27:47535 days ago1690579667
0x87088B14...042cA1FC0
0.2 ETH
177941522023-07-28 21:13:11535 days ago1690578791
0x87088B14...042cA1FC0
0.5 ETH
177936242023-07-28 19:26:11535 days ago1690572371
0x87088B14...042cA1FC0
0.135 ETH
174950542023-06-16 21:25:35577 days ago1686950735
0x87088B14...042cA1FC0
0.01 ETH
View All Internal Transactions
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"}]

60a060405261025480380380610014816100df565b92833981016040828203126100c45781516001600160a01b03811681036100c45760208381015190936001600160401b0382116100c4570182601f820112156100c45780519061006b61006683610109565b6100df565b938285528583830101116100c45760005b8281106100b15750506100959360009184010152610124565b60405160da908161017a823960805181818160190152606f0152f35b818101860151858201870152850161007c565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6040519190601f01601f191682016001600160401b0381118382101761010457604052565b6100c9565b6001600160401b03811161010457601f01601f191660200190565b6080819052815160009283926020909101906001600160a01b03165af43d15610171573d9061015561006683610109565b9182523d6000602084013e5b156101695750565b602081519101fd5b60609061016156fe60806040526004361015604a575b600036818037808036817f00000000000000000000000000000000000000000000000000000000000000005af43d82803e156046573d90f35b3d90fd5b6000803560e01c6356973ee514605f5750600d565b3460a1578060031936011260a1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166080908152602090f35b80fdfea264697066735822122071fb9b5f96e8d1bb39716cafe53eda307c95659122e63328b4b21a20a30944a064736f6c63430008140033000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003e42d992cd3000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000360000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000093a800000000000000000000000000000000000000000000000000000000000000e1000000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc48375820f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000ba5f2ffb721648ee6a6c51c512a258ec62f1d6af000000000000000000000000000000000000000000000000000000000000000d7465616d2d66726f6e74656e6400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d7465616d2d66726f6e74656e6400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000075c0d88b8263d38e2a9d9b2af0e7982d2c79c7200000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x60806040526004361015604a575b600036818037808036817f000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da5af43d82803e156046573d90f35b3d90fd5b6000803560e01c6356973ee514605f5750600d565b3460a1578060031936011260a1577f000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da6001600160a01b03166080908152602090f35b80fdfea264697066735822122071fb9b5f96e8d1bb39716cafe53eda307c95659122e63328b4b21a20a30944a064736f6c63430008140033

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

000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003e42d992cd3000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000360000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000093a800000000000000000000000000000000000000000000000000000000000000e1000000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc48375820f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000ba5f2ffb721648ee6a6c51c512a258ec62f1d6af000000000000000000000000000000000000000000000000000000000000000d7465616d2d66726f6e74656e6400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d7465616d2d66726f6e74656e6400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000075c0d88b8263d38e2a9d9b2af0e7982d2c79c7200000000000000000000000000000000000000000000000000000000

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

-----Encoded View---------------
35 Constructor Arguments found :
Arg [0] : 000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [2] : 00000000000000000000000000000000000000000000000000000000000003e4
Arg [3] : 2d992cd300000000000000000000000000000000000000000000000000000000
Arg [4] : 0000002000000000000000000000000000000000000000000000000000000000
Arg [5] : 000000a000000000000000000000000000000000000000000000000000000000
Arg [6] : 0000034000000000000000000000000000000000000000000000000000000000
Arg [7] : 0000036000000000000000000000000000000000000000000000000000000000
Arg [8] : 0000038000000000000000000000000000000000000000000000000000000000
Arg [9] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [10] : 0000010000000000000000000000000000000000000000000000000000000000
Arg [11] : 0000000100000000000000000000000000000000000000000000000000000000
Arg [12] : 0000000100000000000000000000000000000000000000000000000000000000
Arg [13] : 0000000100000000000000000000000000000000000000000000000000000000
Arg [14] : 0000000100000000000000000000000000000000000000000000000000000000
Arg [15] : 0000022000000000000000000000000000000000000000000000000000000000
Arg [16] : 0000026000000000000000000000000000000000000000000000000000000000
Arg [17] : 0000000900000000000000000000000000000000000000000000000000000000
Arg [18] : 000000e000000000000000000000000000000000000000000000000000000000
Arg [19] : 00093a8000000000000000000000000000000000000000000000000000000000
Arg [20] : 00000e1000000000000000000000000000000000000000000000000000000000
Arg [21] : 000007d000000000000000000000000000000000000000000000000000000000
Arg [22] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [23] : 000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc4
Arg [24] : 8375820f00000000000000000000000000000000000000000000000000000000
Arg [25] : 00000001000000000000000000000000ba5f2ffb721648ee6a6c51c512a258ec
Arg [26] : 62f1d6af00000000000000000000000000000000000000000000000000000000
Arg [27] : 0000000d7465616d2d66726f6e74656e64000000000000000000000000000000
Arg [28] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [29] : 0000000d7465616d2d66726f6e74656e64000000000000000000000000000000
Arg [30] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [31] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [32] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [33] : 00000001000000000000000000000000075c0d88b8263d38e2a9d9b2af0e7982
Arg [34] : d2c79c7200000000000000000000000000000000000000000000000000000000


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.