ETH Price: $2,462.17 (+5.59%)

Contract

0x103d0e507DdC3882e36aABfD843731812AD47C6E
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Execute181474952023-09-16 8:21:47369 days ago1694852507IN
0x103d0e50...12AD47C6E
0 ETH0.001659459.06045912
Accept181474792023-09-16 8:18:35369 days ago1694852315IN
0x103d0e50...12AD47C6E
0 ETH0.000641289.28411338
Accept181474652023-09-16 8:15:47369 days ago1694852147IN
0x103d0e50...12AD47C6E
0 ETH0.000652029.43961761
Accept181474462023-09-16 8:11:59369 days ago1694851919IN
0x103d0e50...12AD47C6E
0 ETH0.000560648.11669323
Accept181474262023-09-16 8:07:59369 days ago1694851679IN
0x103d0e50...12AD47C6E
0 ETH0.00062679.07313953
Accept181474112023-09-16 8:04:47369 days ago1694851487IN
0x103d0e50...12AD47C6E
0 ETH0.000615488.91066277
Accept181473962023-09-16 8:01:23369 days ago1694851283IN
0x103d0e50...12AD47C6E
0 ETH0.000578768.37904512
Accept181473822023-09-16 7:58:35369 days ago1694851115IN
0x103d0e50...12AD47C6E
0 ETH0.00060858.80959022
Accept181473672023-09-16 7:55:35369 days ago1694850935IN
0x103d0e50...12AD47C6E
0 ETH0.00061668.73707335
Accept181473482023-09-16 7:51:35369 days ago1694850695IN
0x103d0e50...12AD47C6E
0 ETH0.000585548.4676095
Propose181473292023-09-16 7:47:35369 days ago1694850455IN
0x103d0e50...12AD47C6E
0 ETH0.001339728.28589653

Latest 3 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
181474952023-09-16 8:21:47369 days ago1694852507
0x103d0e50...12AD47C6E
0.16 ETH
181473282023-09-16 7:47:23369 days ago1694850443
0x103d0e50...12AD47C6E
0.16 ETH
181470992023-09-16 7:01:11369 days ago1694847671  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"}]

60a060405261025480380380610014816100df565b92833981016040828203126100c45781516001600160a01b03811681036100c45760208381015190936001600160401b0382116100c4570182601f820112156100c45780519061006b61006683610109565b6100df565b938285528583830101116100c45760005b8281106100b15750506100959360009184010152610124565b60405160da908161017a823960805181818160190152606f0152f35b818101860151858201870152850161007c565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6040519190601f01601f191682016001600160401b0381118382101761010457604052565b6100c9565b6001600160401b03811161010457601f01601f191660200190565b6080819052815160009283926020909101906001600160a01b03165af43d15610171573d9061015561006683610109565b9182523d6000602084013e5b156101695750565b602081519101fd5b60609061016156fe60806040526004361015604a575b600036818037808036817f00000000000000000000000000000000000000000000000000000000000000005af43d82803e156046573d90f35b3d90fd5b6000803560e01c6356973ee514605f5750600d565b3460a1578060031936011260a1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166080908152602090f35b80fdfea264697066735822122071fb9b5f96e8d1bb39716cafe53eda307c95659122e63328b4b21a20a30944a064736f6c63430008140033000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000005042d992cd3000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000460000000000000000000000000000000000000000000000000000000000000048000000000000000000000000000000000000000000000000000000000000004a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000380000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000093a800000000000000000000000000000000000000000000000000000000000008ca000000000000000000000000000000000000000000000000000000000000009c4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc48375820f000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000f865aafd4580c997270e36c55d8a76cb9e253cf0000000000000000000000000b1a6580c72acc3e16ba918eff9348434ad19eda10000000000000000000000000dcad4a259678c353d30303956e2bb0445fcf05900000000000000000000000047464fe3a606cb8d8bd1ca7f3dd39241d233037a000000000000000000000000d11613c07c274a8b9b356054fb3b9b4e4e3e81bf0000000000000000000000003ad0988897dc5a10a04039bcea844c65a5d26f1a000000000000000000000000a418e70908dd46de41116111d629ee7471f47c85000000000000000000000000f08874547f94c07896b756cdf4429775be1dc6e20000000000000000000000000293fb74aefcd0fcfc6c05bdf76b4253bb5e1ba6000000000000000000000000b86658c27ef6f6d72a4d762cff1bd40e80623298000000000000000000000000000000000000000000000000000000000000001b6a6f7365206d7572696e686f2042697264206974206861747465640000000000000000000000000000000000000000000000000000000000000000000000001b6a6f7365206d7572696e686f2042697264206974206861747465640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000443ddcd62c388d266cfed6e290044c826933a9a700000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x60806040526004361015604a575b600036818037808036817f000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da5af43d82803e156046573d90f35b3d90fd5b6000803560e01c6356973ee514605f5750600d565b3460a1578060031936011260a1577f000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da6001600160a01b03166080908152602090f35b80fdfea264697066735822122071fb9b5f96e8d1bb39716cafe53eda307c95659122e63328b4b21a20a30944a064736f6c63430008140033

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

000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000005042d992cd3000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000460000000000000000000000000000000000000000000000000000000000000048000000000000000000000000000000000000000000000000000000000000004a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000380000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000093a800000000000000000000000000000000000000000000000000000000000008ca000000000000000000000000000000000000000000000000000000000000009c4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc48375820f000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000f865aafd4580c997270e36c55d8a76cb9e253cf0000000000000000000000000b1a6580c72acc3e16ba918eff9348434ad19eda10000000000000000000000000dcad4a259678c353d30303956e2bb0445fcf05900000000000000000000000047464fe3a606cb8d8bd1ca7f3dd39241d233037a000000000000000000000000d11613c07c274a8b9b356054fb3b9b4e4e3e81bf0000000000000000000000003ad0988897dc5a10a04039bcea844c65a5d26f1a000000000000000000000000a418e70908dd46de41116111d629ee7471f47c85000000000000000000000000f08874547f94c07896b756cdf4429775be1dc6e20000000000000000000000000293fb74aefcd0fcfc6c05bdf76b4253bb5e1ba6000000000000000000000000b86658c27ef6f6d72a4d762cff1bd40e80623298000000000000000000000000000000000000000000000000000000000000001b6a6f7365206d7572696e686f2042697264206974206861747465640000000000000000000000000000000000000000000000000000000000000000000000001b6a6f7365206d7572696e686f2042697264206974206861747465640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000443ddcd62c388d266cfed6e290044c826933a9a700000000000000000000000000000000000000000000000000000000

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

-----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] : 00008ca000000000000000000000000000000000000000000000000000000000
Arg [21] : 000009c400000000000000000000000000000000000000000000000000000000
Arg [22] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [23] : 000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc4
Arg [24] : 8375820f00000000000000000000000000000000000000000000000000000000
Arg [25] : 0000000a000000000000000000000000f865aafd4580c997270e36c55d8a76cb
Arg [26] : 9e253cf0000000000000000000000000b1a6580c72acc3e16ba918eff9348434
Arg [27] : ad19eda10000000000000000000000000dcad4a259678c353d30303956e2bb04
Arg [28] : 45fcf05900000000000000000000000047464fe3a606cb8d8bd1ca7f3dd39241
Arg [29] : d233037a000000000000000000000000d11613c07c274a8b9b356054fb3b9b4e
Arg [30] : 4e3e81bf0000000000000000000000003ad0988897dc5a10a04039bcea844c65
Arg [31] : a5d26f1a000000000000000000000000a418e70908dd46de41116111d629ee74
Arg [32] : 71f47c85000000000000000000000000f08874547f94c07896b756cdf4429775
Arg [33] : be1dc6e20000000000000000000000000293fb74aefcd0fcfc6c05bdf76b4253
Arg [34] : bb5e1ba6000000000000000000000000b86658c27ef6f6d72a4d762cff1bd40e
Arg [35] : 8062329800000000000000000000000000000000000000000000000000000000
Arg [36] : 0000001b6a6f7365206d7572696e686f20426972642069742068617474656400
Arg [37] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [38] : 0000001b6a6f7365206d7572696e686f20426972642069742068617474656400
Arg [39] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [40] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [41] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [42] : 00000001000000000000000000000000443ddcd62c388d266cfed6e290044c82
Arg [43] : 6933a9a700000000000000000000000000000000000000000000000000000000


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.