ETH Price: $2,100.05 (-11.28%)

Contract

0x1710B416Ed730DE86b880A02634236DCfda323c4
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Finalize179549582023-08-20 9:07:11562 days ago1692522431IN
0x1710B416...Cfda323c4
0 ETH0.0007939412.4853119
Contribute179549542023-08-20 9:06:23562 days ago1692522383IN
0x1710B416...Cfda323c4
0.017 ETH0.0027108511.8385026
Contribute179549292023-08-20 9:01:11562 days ago1692522071IN
0x1710B416...Cfda323c4
0.01 ETH0.0030018413.05200153
Contribute179549232023-08-20 8:59:59562 days ago1692521999IN
0x1710B416...Cfda323c4
0.01000111 ETH0.0026386411.47233464
Contribute179549112023-08-20 8:57:23562 days ago1692521843IN
0x1710B416...Cfda323c4
0.01019877 ETH0.0026136411.31531749
Contribute179549052023-08-20 8:56:11562 days ago1692521771IN
0x1710B416...Cfda323c4
0.0101231 ETH0.0029672612.84613695
Contribute179548892023-08-20 8:52:59562 days ago1692521579IN
0x1710B416...Cfda323c4
0.0105 ETH0.0030742613.30809276
Contribute179548802023-08-20 8:51:11562 days ago1692521471IN
0x1710B416...Cfda323c4
0.01014123 ETH0.002859812.37921532
Contribute179548742023-08-20 8:49:59562 days ago1692521399IN
0x1710B416...Cfda323c4
0.0102 ETH0.002713911.74864002
Contribute179548722023-08-20 8:49:35562 days ago1692521375IN
0x1710B416...Cfda323c4
0.01 ETH0.0027066611.71784313
Contribute179548432023-08-20 8:43:47562 days ago1692521027IN
0x1710B416...Cfda323c4
0.0100001 ETH0.0029723211.97999297

Latest 2 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
179549582023-08-20 9:07:11562 days ago1692522431
0x1710B416...Cfda323c4
0.10816431 ETH
179548332023-08-20 8:41:47562 days ago1692520907  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

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

60a060405261025480380380610014816100df565b92833981016040828203126100c45781516001600160a01b03811681036100c45760208381015190936001600160401b0382116100c4570182601f820112156100c45780519061006b61006683610109565b6100df565b938285528583830101116100c45760005b8281106100b15750506100959360009184010152610124565b60405160da908161017a823960805181818160190152606f0152f35b818101860151858201870152850161007c565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6040519190601f01601f191682016001600160401b0381118382101761010457604052565b6100c9565b6001600160401b03811161010457601f01601f191660200190565b6080819052815160009283926020909101906001600160a01b03165af43d15610171573d9061015561006683610109565b9182523d6000602084013e5b156101695750565b602081519101fd5b60609061016156fe60806040526004361015604a575b600036818037808036817f00000000000000000000000000000000000000000000000000000000000000005af43d82803e156046573d90f35b3d90fd5b6000803560e01c6356973ee514605f5750600d565b3460a1578060031936011260a1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166080908152602090f35b80fdfea264697066735822122071fb9b5f96e8d1bb39716cafe53eda307c95659122e63328b4b21a20a30944a064736f6c6343000814003300000000000000000000000023c886396cfbadb0f3bac4b728150e8a59dc0e1000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000524ad6f10d500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d3c21bcecceda10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017508f1956a800000000000000000000000000000000000000000000000d3c21bcecceda1000000000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001518000000000000000000000000050c58f8bd97c1845c8e8ff56117dbce8a5b009b2000000000000000000000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005537565546100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055375655461000000000000000000000000000000000000000000000000000000000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da000000000000000000000000c0e0ec5541e26e93d5a9f5e999ab2a0a7f8260ae000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000151800000000000000000000000000000000000000000000000000000000000001c200000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc48375820f000000000000000000000000000000000000000000000000000000000000000100000000000000000000000081760e53f9008a61b5b6e9d9b6a388df86cdd7920000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x60806040526004361015604a575b600036818037808036817f00000000000000000000000023c886396cfbadb0f3bac4b728150e8a59dc0e105af43d82803e156046573d90f35b3d90fd5b6000803560e01c6356973ee514605f5750600d565b3460a1578060031936011260a1577f00000000000000000000000023c886396cfbadb0f3bac4b728150e8a59dc0e106001600160a01b03166080908152602090f35b80fdfea264697066735822122071fb9b5f96e8d1bb39716cafe53eda307c95659122e63328b4b21a20a30944a064736f6c63430008140033

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

00000000000000000000000023c886396cfbadb0f3bac4b728150e8a59dc0e1000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000524ad6f10d500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d3c21bcecceda10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017508f1956a800000000000000000000000000000000000000000000000d3c21bcecceda1000000000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001518000000000000000000000000050c58f8bd97c1845c8e8ff56117dbce8a5b009b2000000000000000000000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005537565546100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055375655461000000000000000000000000000000000000000000000000000000000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da000000000000000000000000c0e0ec5541e26e93d5a9f5e999ab2a0a7f8260ae000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000151800000000000000000000000000000000000000000000000000000000000001c200000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc48375820f000000000000000000000000000000000000000000000000000000000000000100000000000000000000000081760e53f9008a61b5b6e9d9b6a388df86cdd7920000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : impl (address): 0x23C886396CFbaDB0F3bAC4b728150e8A59dC0E10
Arg [1] : initCallData (bytes): 0xad6f10d500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d3c21bcecceda10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017508f1956a800000000000000000000000000000000000000000000000d3c21bcecceda1000000000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001518000000000000000000000000050c58f8bd97c1845c8e8ff56117dbce8a5b009b2000000000000000000000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005537565546100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055375655461000000000000000000000000000000000000000000000000000000000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da000000000000000000000000c0e0ec5541e26e93d5a9f5e999ab2a0a7f8260ae000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000151800000000000000000000000000000000000000000000000000000000000001c200000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc48375820f000000000000000000000000000000000000000000000000000000000000000100000000000000000000000081760e53f9008a61b5b6e9d9b6a388df86cdd79200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

-----Encoded View---------------
45 Constructor Arguments found :
Arg [0] : 00000000000000000000000023c886396cfbadb0f3bac4b728150e8a59dc0e10
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000524
Arg [3] : ad6f10d500000000000000000000000000000000000000000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000d3c21bcecced
Arg [7] : a100000000000000000000000000000000000000000000000000000000000000
Arg [8] : 00000000000000000000000000000000000000000000000000000000017508f1
Arg [9] : 956a800000000000000000000000000000000000000000000000d3c21bcecced
Arg [10] : a100000000000000000000000000000000000000000000000000000000000000
Arg [11] : 0000271000000000000000000000000000000000000000000000000000000000
Arg [12] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [13] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [14] : 0001518000000000000000000000000050c58f8bd97c1845c8e8ff56117dbce8
Arg [15] : a5b009b200000000000000000000011100000000000000000000000000000000
Arg [16] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [17] : 000001c000000000000000000000000000000000000000000000000000000000
Arg [18] : 0000016000000000000000000000000000000000000000000000000000000000
Arg [19] : 000001a000000000000000000000000000000000000000000000000000000000
Arg [20] : 0000000300000000000000000000000000000000000000000000000000000000
Arg [21] : 000001e000000000000000000000000000000000000000000000000000000000
Arg [22] : 0000000100000000000000000000000000000000000000000000000000000000
Arg [23] : 0000000100000000000000000000000000000000000000000000000000000000
Arg [24] : 0000000100000000000000000000000000000000000000000000000000000000
Arg [25] : 0000000100000000000000000000000000000000000000000000000000000000
Arg [26] : 0000032000000000000000000000000000000000000000000000000000000000
Arg [27] : 0000034000000000000000000000000000000000000000000000000000000000
Arg [28] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [29] : 0000000553756554610000000000000000000000000000000000000000000000
Arg [30] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [31] : 0000000553756554610000000000000000000000000000000000000000000000
Arg [32] : 00000000000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab
Arg [33] : 684a56da000000000000000000000000c0e0ec5541e26e93d5a9f5e999ab2a0a
Arg [34] : 7f8260ae00000000000000000000000000000000000000000000000000000000
Arg [35] : 0000010000000000000000000000000000000000000000000000000000000000
Arg [36] : 0001518000000000000000000000000000000000000000000000000000000000
Arg [37] : 00001c2000000000000000000000000000000000000000000000000000000000
Arg [38] : 00001f4000000000000000000000000000000000000000000000000000000000
Arg [39] : 000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc4
Arg [40] : 8375820f00000000000000000000000000000000000000000000000000000000
Arg [41] : 0000000100000000000000000000000081760e53f9008a61b5b6e9d9b6a388df
Arg [42] : 86cdd79200000000000000000000000000000000000000000000000000000000
Arg [43] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [44] : 0000000000000000000000000000000000000000000000000000000000000000


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.