Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Name:
Proxy
Compiler Version
v0.8.20+commit.a1b79de6
Optimization Enabled:
Yes with 200 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// 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()) } } }
// 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)) } } }
// 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(); } _; } }
{ "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
- No Contract Security Audit Submitted- Submit Audit Here
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"}]
Contract Creation Code
60a060405261025480380380610014816100df565b92833981016040828203126100c45781516001600160a01b03811681036100c45760208381015190936001600160401b0382116100c4570182601f820112156100c45780519061006b61006683610109565b6100df565b938285528583830101116100c45760005b8281106100b15750506100959360009184010152610124565b60405160da908161017a823960805181818160190152606f0152f35b818101860151858201870152850161007c565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6040519190601f01601f191682016001600160401b0381118382101761010457604052565b6100c9565b6001600160401b03811161010457601f01601f191660200190565b6080819052815160009283926020909101906001600160a01b03165af43d15610171573d9061015561006683610109565b9182523d6000602084013e5b156101695750565b602081519101fd5b60609061016156fe60806040526004361015604a575b600036818037808036817f00000000000000000000000000000000000000000000000000000000000000005af43d82803e156046573d90f35b3d90fd5b6000803560e01c6356973ee514605f5750600d565b3460a1578060031936011260a1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166080908152602090f35b80fdfea264697066735822122071fb9b5f96e8d1bb39716cafe53eda307c95659122e63328b4b21a20a30944a064736f6c63430008140033000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000004e42d992cd3000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000460000000000000000000000000000000000000000000000000000000000000048000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000360000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000093a80000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc48375820f00000000000000000000000000000000000000000000000000000000000000090000000000000000000000008553bc4ffcb9cdb33e609aa3a530b8aa252c0e6800000000000000000000000036a808d7e9b8a8003bcc6c17dec8825f097be862000000000000000000000000ed4c9fa4c4675f5b396b9495bc6e6312c75c5f160000000000000000000000001ba9c113b45884440dbeadb24934764c0d3eba7300000000000000000000000066f8575bd17fdae229ce863b26a24a6da45b5abf000000000000000000000000171e526cc272657486848c9b93bb2a1d8ffa4da500000000000000000000000057f44b601d3184fc940779ce5c9f8e23cfa528350000000000000000000000009547e9f00354b1555b3f00f7f7a04d09a9ec3e1f0000000000000000000000001134c859293d7168808c43b21926061976b178c600000000000000000000000000000000000000000000000000000000000000114c617374204f6e65205374616e64696e6700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000114c617374204f6e65205374616e64696e67000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f63cd8b4c90f5d502fa049a6d93ddb2327ba783b00000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x60806040526004361015604a575b600036818037808036817f000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da5af43d82803e156046573d90f35b3d90fd5b6000803560e01c6356973ee514605f5750600d565b3460a1578060031936011260a1577f000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da6001600160a01b03166080908152602090f35b80fdfea264697066735822122071fb9b5f96e8d1bb39716cafe53eda307c95659122e63328b4b21a20a30944a064736f6c63430008140033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000004e42d992cd3000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000460000000000000000000000000000000000000000000000000000000000000048000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000360000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000093a80000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc48375820f00000000000000000000000000000000000000000000000000000000000000090000000000000000000000008553bc4ffcb9cdb33e609aa3a530b8aa252c0e6800000000000000000000000036a808d7e9b8a8003bcc6c17dec8825f097be862000000000000000000000000ed4c9fa4c4675f5b396b9495bc6e6312c75c5f160000000000000000000000001ba9c113b45884440dbeadb24934764c0d3eba7300000000000000000000000066f8575bd17fdae229ce863b26a24a6da45b5abf000000000000000000000000171e526cc272657486848c9b93bb2a1d8ffa4da500000000000000000000000057f44b601d3184fc940779ce5c9f8e23cfa528350000000000000000000000009547e9f00354b1555b3f00f7f7a04d09a9ec3e1f0000000000000000000000001134c859293d7168808c43b21926061976b178c600000000000000000000000000000000000000000000000000000000000000114c617374204f6e65205374616e64696e6700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000114c617374204f6e65205374616e64696e67000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f63cd8b4c90f5d502fa049a6d93ddb2327ba783b00000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : impl (address): 0xb676cfeEeD5c7B739452a502F1Eff9Ab684A56Da
Arg [1] : initCallData (bytes): 0x2d992cd3000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000460000000000000000000000000000000000000000000000000000000000000048000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000360000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000093a80000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc48375820f00000000000000000000000000000000000000000000000000000000000000090000000000000000000000008553bc4ffcb9cdb33e609aa3a530b8aa252c0e6800000000000000000000000036a808d7e9b8a8003bcc6c17dec8825f097be862000000000000000000000000ed4c9fa4c4675f5b396b9495bc6e6312c75c5f160000000000000000000000001ba9c113b45884440dbeadb24934764c0d3eba7300000000000000000000000066f8575bd17fdae229ce863b26a24a6da45b5abf000000000000000000000000171e526cc272657486848c9b93bb2a1d8ffa4da500000000000000000000000057f44b601d3184fc940779ce5c9f8e23cfa528350000000000000000000000009547e9f00354b1555b3f00f7f7a04d09a9ec3e1f0000000000000000000000001134c859293d7168808c43b21926061976b178c600000000000000000000000000000000000000000000000000000000000000114c617374204f6e65205374616e64696e6700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000114c617374204f6e65205374616e64696e67000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f63cd8b4c90f5d502fa049a6d93ddb2327ba783b
-----Encoded View---------------
43 Constructor Arguments found :
Arg [0] : 000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [2] : 00000000000000000000000000000000000000000000000000000000000004e4
Arg [3] : 2d992cd300000000000000000000000000000000000000000000000000000000
Arg [4] : 0000002000000000000000000000000000000000000000000000000000000000
Arg [5] : 000000a000000000000000000000000000000000000000000000000000000000
Arg [6] : 0000044000000000000000000000000000000000000000000000000000000000
Arg [7] : 0000046000000000000000000000000000000000000000000000000000000000
Arg [8] : 0000048000000000000000000000000000000000000000000000000000000000
Arg [9] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [10] : 0000010000000000000000000000000000000000000000000000000000000000
Arg [11] : 0000000100000000000000000000000000000000000000000000000000000000
Arg [12] : 0000000100000000000000000000000000000000000000000000000000000000
Arg [13] : 0000000100000000000000000000000000000000000000000000000000000000
Arg [14] : 0000000100000000000000000000000000000000000000000000000000000000
Arg [15] : 0000032000000000000000000000000000000000000000000000000000000000
Arg [16] : 0000036000000000000000000000000000000000000000000000000000000000
Arg [17] : 0000000100000000000000000000000000000000000000000000000000000000
Arg [18] : 000000e000000000000000000000000000000000000000000000000000000000
Arg [19] : 00093a8000000000000000000000000000000000000000000000000000000000
Arg [20] : 0000003c00000000000000000000000000000000000000000000000000000000
Arg [21] : 000001f400000000000000000000000000000000000000000000000000000000
Arg [22] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [23] : 000000fa000000000000000000000000f7f52dd34bc21eda08c0b804c7c1dbc4
Arg [24] : 8375820f00000000000000000000000000000000000000000000000000000000
Arg [25] : 000000090000000000000000000000008553bc4ffcb9cdb33e609aa3a530b8aa
Arg [26] : 252c0e6800000000000000000000000036a808d7e9b8a8003bcc6c17dec8825f
Arg [27] : 097be862000000000000000000000000ed4c9fa4c4675f5b396b9495bc6e6312
Arg [28] : c75c5f160000000000000000000000001ba9c113b45884440dbeadb24934764c
Arg [29] : 0d3eba7300000000000000000000000066f8575bd17fdae229ce863b26a24a6d
Arg [30] : a45b5abf000000000000000000000000171e526cc272657486848c9b93bb2a1d
Arg [31] : 8ffa4da500000000000000000000000057f44b601d3184fc940779ce5c9f8e23
Arg [32] : cfa528350000000000000000000000009547e9f00354b1555b3f00f7f7a04d09
Arg [33] : a9ec3e1f0000000000000000000000001134c859293d7168808c43b219260619
Arg [34] : 76b178c600000000000000000000000000000000000000000000000000000000
Arg [35] : 000000114c617374204f6e65205374616e64696e670000000000000000000000
Arg [36] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [37] : 000000114c617374204f6e65205374616e64696e670000000000000000000000
Arg [38] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [39] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [40] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [41] : 00000001000000000000000000000000f63cd8b4c90f5d502fa049a6d93ddb23
Arg [42] : 27ba783b00000000000000000000000000000000000000000000000000000000
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 33 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
Loading...
Loading
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.