Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 1 internal transaction
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
19638244 | 177 days ago | Contract Creation | 0 ETH |
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 Source Code Verified (Exact Match)
Contract Name:
StakingVaultProxy
Compiler Version
v0.8.25+commit.b61c2a91
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.4; import {ERC6551Proxy} from "solady/accounts/ERC6551Proxy.sol"; /// @notice Staking vault proxy. contract StakingVaultProxy is ERC6551Proxy { /// @dev Please update the implementation address accordingly. constructor() ERC6551Proxy(0x000000008Af8949624E9B5EFE71d3c37D4C06234) {} }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.4; /// @notice Relay proxy for upgradeable ERC6551 accounts. /// @author Solady (https://github.com/vectorized/solady/blob/main/src/accounts/ERC6551Proxy.sol) /// @author ERC6551 team (https://github.com/erc6551/reference/blob/main/src/examples/upgradeable/ERC6551AccountProxy.sol) /// /// @dev Note: This relay proxy is required for upgradeable ERC6551 accounts. /// /// ERC6551 clone -> ERC6551Proxy (relay) -> ERC6551 account implementation. /// /// This relay proxy also allows for correctly revealing the /// "Read as Proxy" and "Write as Proxy" tabs on Etherscan. /// /// After using the registry to deploy a ERC6551 clone pointing to this relay proxy, /// users must send 0 ETH to the clone before clicking on "Is this a proxy?" on Etherscan. /// Verification of this relay proxy on Etherscan is optional. contract ERC6551Proxy { /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/ /* IMMUTABLES */ /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/ /// @dev The default implementation. bytes32 internal immutable _defaultImplementation; /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/ /* STORAGE */ /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/ /// @dev The ERC-1967 storage slot for the implementation in the proxy. /// `uint256(keccak256("eip1967.proxy.implementation")) - 1`. bytes32 internal constant _ERC1967_IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/ /* CONSTRUCTOR */ /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/ constructor(address defaultImplementation) payable { _defaultImplementation = bytes32(uint256(uint160(defaultImplementation))); } /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/ /* FALLBACK */ /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/ fallback() external payable virtual { bytes32 implementation; assembly { mstore(0x40, returndatasize()) // Optimization trick to change `6040608052` into `3d604052`. implementation := sload(_ERC1967_IMPLEMENTATION_SLOT) } if (implementation == bytes32(0)) { implementation = _defaultImplementation; assembly { // Only initialize if the calldatasize is zero, so that staticcalls to // functions (which will have 4-byte function selectors) won't revert. // Some users may be fine without Etherscan proxy detection and thus may // choose to not initialize the ERC1967 implementation slot. if iszero(calldatasize()) { sstore(_ERC1967_IMPLEMENTATION_SLOT, implementation) } } } assembly { calldatacopy(returndatasize(), returndatasize(), calldatasize()) // forgefmt: disable-next-item if iszero(delegatecall(gas(), implementation, returndatasize(), calldatasize(), codesize(), returndatasize())) { returndatacopy(0x00, 0x00, returndatasize()) revert(0x00, returndatasize()) } returndatacopy(0x00, 0x00, returndatasize()) return(0x00, returndatasize()) } } }
{ "remappings": [ "forge-std/=test/utils/forge-std/", "murky/=lib/murky/", "dn404/=lib/dn404/src/", "solady/=lib/solady/src/", "ds-test/=lib/murky/lib/forge-std/lib/ds-test/src/", "forge-std/=lib/murky/lib/forge-std/src/", "murky/=lib/murky/", "openzeppelin-contracts/=lib/murky/lib/openzeppelin-contracts/", "solady/=lib/solady/src/", "soledge/=lib/soledge/src/" ], "optimizer": { "enabled": true, "runs": 200 }, "metadata": { "useLiteralContent": false, "bytecodeHash": "ipfs", "appendCBOR": true }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } }, "evmVersion": "cancun", "viaIR": false, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"}]
Contract Creation Code
60a0604052348015600e575f80fd5b506f8af8949624e9b5efe71d3c37d4c0623460805260805160c76100385f395f602c015260c75ff3fe3d6040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5480607357507f000000000000000000000000000000000000000000000000000000000000000036607357807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc555b363d3d373d38363d845af46089573d5f803e3d5ffd5b3d5f803e3d5ff3fea2646970667358221220e06c3b1649ab0022b83264080f9b16505b714722ff78de477db3e5328371e47e64736f6c63430008190033
Deployed Bytecode
0x3d6040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5480607357507f000000000000000000000000000000008af8949624e9b5efe71d3c37d4c0623436607357807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc555b363d3d373d38363d845af46089573d5f803e3d5ffd5b3d5f803e3d5ff3fea2646970667358221220e06c3b1649ab0022b83264080f9b16505b714722ff78de477db3e5328371e47e64736f6c63430008190033
Deployed Bytecode Sourcemap
2665:16:0:-:0;154:191:1;2652:30:0;2781:28;2775:35;;2829:574;;-1:-1:-1;2894:22:0;3307:14;3297:82;;3362:14;3332:28;3325:52;3297:82;3484:14;3466:16;3448;3435:64;3663:16;3651:10;3635:14;3617:16;3585:14;3578:5;3565:115;3555:250;;3727:16;3721:4;3715;3700:44;3774:16;3768:4;3761:30;3555:250;3845:16;3839:4;3833;3818:44;3888:16;3882:4;3875:30
Swarm Source
ipfs://e06c3b1649ab0022b83264080f9b16505b714722ff78de477db3e5328371e47e
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 27 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ 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.