ETH Price: $3,265.63 (+3.01%)
Gas: 1 Gwei

Contract

0x63adF6350F926ed4D0900a1F255D0B9ba0dbC1f3
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Execute182085272023-09-24 22:06:47305 days ago1695593207IN
0x63adF635...ba0dbC1f3
0 ETH0.001509648.24246452
Accept182085232023-09-24 22:05:59305 days ago1695593159IN
0x63adF635...ba0dbC1f3
0 ETH0.000527257.6333108
Accept182084972023-09-24 22:00:35305 days ago1695592835IN
0x63adF635...ba0dbC1f3
0 ETH0.00057728.35638238
Accept182084872023-09-24 21:58:35305 days ago1695592715IN
0x63adF635...ba0dbC1f3
0 ETH0.000610878.84391668
Accept182084742023-09-24 21:55:59305 days ago1695592559IN
0x63adF635...ba0dbC1f3
0 ETH0.000631119.13695335
Accept182084582023-09-24 21:52:47305 days ago1695592367IN
0x63adF635...ba0dbC1f3
0 ETH0.000685429.92318467
Accept182083292023-09-24 21:26:47305 days ago1695590807IN
0x63adF635...ba0dbC1f3
0 ETH0.0007015410.15661978
Accept182082822023-09-24 21:17:23305 days ago1695590243IN
0x63adF635...ba0dbC1f3
0 ETH0.000646319.1581483
Accept182082302023-09-24 21:06:47305 days ago1695589607IN
0x63adF635...ba0dbC1f3
0 ETH0.000548067.9256747
Accept182082242023-09-24 21:05:35305 days ago1695589535IN
0x63adF635...ba0dbC1f3
0 ETH0.000646269.34570708
Propose182081822023-09-24 20:56:59305 days ago1695589019IN
0x63adF635...ba0dbC1f3
0 ETH0.001104036.82823719

Latest 3 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
182085272023-09-24 22:06:47305 days ago1695593207
0x63adF635...ba0dbC1f3
0.11 ETH
182081812023-09-24 20:56:47305 days ago1695589007
0x63adF635...ba0dbC1f3
0.11 ETH
182078212023-09-24 19:44:35305 days ago1695584675  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"}]

60a060405261025480380380610014816100df565b92833981016040828203126100c45781516001600160a01b03811681036100c45760208381015190936001600160401b0382116100c4570182601f820112156100c45780519061006b61006683610109565b6100df565b938285528583830101116100c45760005b8281106100b15750506100959360009184010152610124565b60405160da908161017a823960805181818160190152606f0152f35b818101860151858201870152850161007c565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6040519190601f01601f191682016001600160401b0381118382101761010457604052565b6100c9565b6001600160401b03811161010457601f01601f191660200190565b6080819052815160009283926020909101906001600160a01b03165af43d15610171573d9061015561006683610109565b9182523d6000602084013e5b156101695750565b602081519101fd5b60609061016156fe60806040526004361015604a575b600036818037808036817f00000000000000000000000000000000000000000000000000000000000000005af43d82803e156046573d90f35b3d90fd5b6000803560e01c6356973ee514605f5750600d565b3460a1578060031936011260a1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166080908152602090f35b80fdfea264697066735822122071fb9b5f96e8d1bb39716cafe53eda307c95659122e63328b4b21a20a30944a064736f6c63430008140033000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000005442d992cd3000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000004a000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000004e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000003f48000000000000000000000000000000000000000000000000000000000000062700000000000000000000000000000000000000000000000000000000000000fa0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc48375820f000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000818d78094f56255384bbdb645ba6fa61360d5ea300000000000000000000000047ac6df1c55f994292aa4c0add15b78439478cf0000000000000000000000000faf9a9f10a79a99b4ac6b36bebe320555d2d4b6e000000000000000000000000c6b33e2c8b20fb3a7cc7a9bec922dbbe7d391e2e0000000000000000000000000319c7c93690bef956ef785f7b051801ed71c7410000000000000000000000009dee7f63eef7b760d759d234c702ca90e642c5dc000000000000000000000000476a7df81de5294f8c9370644b319cfcdfb199ea000000000000000000000000230dda78c8e84bac9868a004a3a017a502d34ad7000000000000000000000000bb9296473aa6e31755df99d3fb7048712a9ec42a000000000000000000000000fa2eadec7e5cbc76bbf19138d2208c7dfd14e16400000000000000000000000000000000000000000000000000000000000000276c61756768206c696b6520626f6e6a6f766920706c6179696e672061207374696e6720736f6e670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000276c61756768206c696b6520626f6e6a6f766920706c6179696e672061207374696e6720736f6e6700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000312e5ae519803a4c8071678fe347c4db1deaf02900000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x60806040526004361015604a575b600036818037808036817f000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da5af43d82803e156046573d90f35b3d90fd5b6000803560e01c6356973ee514605f5750600d565b3460a1578060031936011260a1577f000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da6001600160a01b03166080908152602090f35b80fdfea264697066735822122071fb9b5f96e8d1bb39716cafe53eda307c95659122e63328b4b21a20a30944a064736f6c63430008140033

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

000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000005442d992cd3000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000004a000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000004e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000003f48000000000000000000000000000000000000000000000000000000000000062700000000000000000000000000000000000000000000000000000000000000fa0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc48375820f000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000818d78094f56255384bbdb645ba6fa61360d5ea300000000000000000000000047ac6df1c55f994292aa4c0add15b78439478cf0000000000000000000000000faf9a9f10a79a99b4ac6b36bebe320555d2d4b6e000000000000000000000000c6b33e2c8b20fb3a7cc7a9bec922dbbe7d391e2e0000000000000000000000000319c7c93690bef956ef785f7b051801ed71c7410000000000000000000000009dee7f63eef7b760d759d234c702ca90e642c5dc000000000000000000000000476a7df81de5294f8c9370644b319cfcdfb199ea000000000000000000000000230dda78c8e84bac9868a004a3a017a502d34ad7000000000000000000000000bb9296473aa6e31755df99d3fb7048712a9ec42a000000000000000000000000fa2eadec7e5cbc76bbf19138d2208c7dfd14e16400000000000000000000000000000000000000000000000000000000000000276c61756768206c696b6520626f6e6a6f766920706c6179696e672061207374696e6720736f6e670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000276c61756768206c696b6520626f6e6a6f766920706c6179696e672061207374696e6720736f6e6700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000312e5ae519803a4c8071678fe347c4db1deaf02900000000000000000000000000000000000000000000000000000000

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

-----Encoded View---------------
46 Constructor Arguments found :
Arg [0] : 000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000544
Arg [3] : 2d992cd300000000000000000000000000000000000000000000000000000000
Arg [4] : 0000002000000000000000000000000000000000000000000000000000000000
Arg [5] : 000000a000000000000000000000000000000000000000000000000000000000
Arg [6] : 000004a000000000000000000000000000000000000000000000000000000000
Arg [7] : 000004c000000000000000000000000000000000000000000000000000000000
Arg [8] : 000004e000000000000000000000000000000000000000000000000000000000
Arg [9] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [10] : 0000010000000000000000000000000000000000000000000000000000000000
Arg [11] : 0000000100000000000000000000000000000000000000000000000000000000
Arg [12] : 0000000100000000000000000000000000000000000000000000000000000000
Arg [13] : 0000000100000000000000000000000000000000000000000000000000000000
Arg [14] : 0000000100000000000000000000000000000000000000000000000000000000
Arg [15] : 0000034000000000000000000000000000000000000000000000000000000000
Arg [16] : 000003a000000000000000000000000000000000000000000000000000000000
Arg [17] : 0000000100000000000000000000000000000000000000000000000000000000
Arg [18] : 000000e000000000000000000000000000000000000000000000000000000000
Arg [19] : 0003f48000000000000000000000000000000000000000000000000000000000
Arg [20] : 0000627000000000000000000000000000000000000000000000000000000000
Arg [21] : 00000fa000000000000000000000000000000000000000000000000000000000
Arg [22] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [23] : 000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc4
Arg [24] : 8375820f00000000000000000000000000000000000000000000000000000000
Arg [25] : 0000000a000000000000000000000000818d78094f56255384bbdb645ba6fa61
Arg [26] : 360d5ea300000000000000000000000047ac6df1c55f994292aa4c0add15b784
Arg [27] : 39478cf0000000000000000000000000faf9a9f10a79a99b4ac6b36bebe32055
Arg [28] : 5d2d4b6e000000000000000000000000c6b33e2c8b20fb3a7cc7a9bec922dbbe
Arg [29] : 7d391e2e0000000000000000000000000319c7c93690bef956ef785f7b051801
Arg [30] : ed71c7410000000000000000000000009dee7f63eef7b760d759d234c702ca90
Arg [31] : e642c5dc000000000000000000000000476a7df81de5294f8c9370644b319cfc
Arg [32] : dfb199ea000000000000000000000000230dda78c8e84bac9868a004a3a017a5
Arg [33] : 02d34ad7000000000000000000000000bb9296473aa6e31755df99d3fb704871
Arg [34] : 2a9ec42a000000000000000000000000fa2eadec7e5cbc76bbf19138d2208c7d
Arg [35] : fd14e16400000000000000000000000000000000000000000000000000000000
Arg [36] : 000000276c61756768206c696b6520626f6e6a6f766920706c6179696e672061
Arg [37] : 207374696e6720736f6e67000000000000000000000000000000000000000000
Arg [38] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [39] : 000000276c61756768206c696b6520626f6e6a6f766920706c6179696e672061
Arg [40] : 207374696e6720736f6e67000000000000000000000000000000000000000000
Arg [41] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [42] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [43] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [44] : 00000001000000000000000000000000312e5ae519803a4c8071678fe347c4db
Arg [45] : 1deaf02900000000000000000000000000000000000000000000000000000000


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.