ETH Price: $3,486.70 (+3.71%)
Gas: 1 Gwei

Contract

0x777B1b4e79058778f8362A3dc53Ee90f35934E8E
 

Overview

ETH Balance

0.007491502296267439 ETH

Eth Value

$26.12 (@ $3,486.70/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Execute201908652024-06-28 14:44:472 days ago1719585887IN
0x777B1b4e...f35934E8E
0 ETH0.001313938.37914477
Execute201359982024-06-20 22:44:3510 days ago1718923475IN
0x777B1b4e...f35934E8E
0 ETH0.000797565.08736874
Execute201210082024-06-18 20:24:3512 days ago1718742275IN
0x777B1b4e...f35934E8E
0 ETH0.000896125.71340961
Execute200975712024-06-15 13:44:3515 days ago1718459075IN
0x777B1b4e...f35934E8E
0 ETH0.000780464.97558476
Execute200972732024-06-15 12:44:3515 days ago1718455475IN
0x777B1b4e...f35934E8E
0 ETH0.000888256.3589592
Execute200972732024-06-15 12:44:3515 days ago1718455475IN
0x777B1b4e...f35934E8E
0 ETH0.00099736.3589592
Execute197576692024-04-29 1:24:3563 days ago1714353875IN
0x777B1b4e...f35934E8E
0 ETH0.000657974.7091998
Execute197566762024-04-28 22:04:3563 days ago1714341875IN
0x777B1b4e...f35934E8E
0 ETH0.000800445.73130864
Execute196068652024-04-07 22:44:3584 days ago1712529875IN
0x777B1b4e...f35934E8E
0 ETH0.0019309713.82015221
Bridge Solid Out195551562024-03-31 16:48:2391 days ago1711903703IN
0x777B1b4e...f35934E8E
0 ETH0.0007577521.85697396
Bridge Solid Out195551312024-03-31 16:43:1191 days ago1711903391IN
0x777B1b4e...f35934E8E
0 ETH0.0008050623.32646086
Bridge Solid Out195550712024-03-31 16:30:5991 days ago1711902659IN
0x777B1b4e...f35934E8E
0 ETH0.0007535321.8726941
Bridge Solid Out195550632024-03-31 16:29:1191 days ago1711902551IN
0x777B1b4e...f35934E8E
0 ETH0.0008044123.39858097
Execute195038912024-03-24 10:44:4798 days ago1711277087IN
0x777B1b4e...f35934E8E
0 ETH0.0023911817.1212626
Execute195036932024-03-24 10:04:3598 days ago1711274675IN
0x777B1b4e...f35934E8E
0 ETH0.002301816.47697296
Execute194975762024-03-23 13:24:3599 days ago1711200275IN
0x777B1b4e...f35934E8E
0 ETH0.0029213520.91190909
Execute194911392024-03-22 15:44:23100 days ago1711122263IN
0x777B1b4e...f35934E8E
0 ETH0.004090429.27283144
Execute194910392024-03-22 15:24:23100 days ago1711121063IN
0x777B1b4e...f35934E8E
0 ETH0.004683133.52018545
Execute194910392024-03-22 15:24:23100 days ago1711121063IN
0x777B1b4e...f35934E8E
0 ETH0.005256733.52018545
Execute194890552024-03-22 8:44:23100 days ago1711097063IN
0x777B1b4e...f35934E8E
0 ETH0.0039799825.38675429
Execute194383482024-03-15 5:44:47108 days ago1710481487IN
0x777B1b4e...f35934E8E
0 ETH0.0058949737.59025707
Execute194009632024-03-09 23:55:59113 days ago1710028559IN
0x777B1b4e...f35934E8E
0 ETH0.0073790852.82622146
Execute193013582024-02-25 1:36:11127 days ago1708824971IN
0x777B1b4e...f35934E8E
0 ETH0.0034817122.20511164
Execute192655812024-02-20 1:16:23132 days ago1708391783IN
0x777B1b4e...f35934E8E
0 ETH0.0045956932.8917022
Execute192655812024-02-20 1:16:23132 days ago1708391783IN
0x777B1b4e...f35934E8E
0 ETH0.0051581432.8917022
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
201793362024-06-27 0:07:234 days ago1719446843
0x777B1b4e...f35934E8E
0.00125 ETH
201793362024-06-27 0:07:234 days ago1719446843
0x777B1b4e...f35934E8E
0.00125 ETH
201793362024-06-27 0:07:234 days ago1719446843
0x777B1b4e...f35934E8E
0.0025 ETH
201793362024-06-27 0:07:234 days ago1719446843
0x777B1b4e...f35934E8E
0.00125 ETH
201793362024-06-27 0:07:234 days ago1719446843
0x777B1b4e...f35934E8E
0.00125 ETH
201793362024-06-27 0:07:234 days ago1719446843
0x777B1b4e...f35934E8E
0.0025 ETH
201793362024-06-27 0:07:234 days ago1719446843
0x777B1b4e...f35934E8E
0.00125 ETH
201793362024-06-27 0:07:234 days ago1719446843
0x777B1b4e...f35934E8E
0.00125 ETH
201793362024-06-27 0:07:234 days ago1719446843
0x777B1b4e...f35934E8E
0.0025 ETH
201793362024-06-27 0:07:234 days ago1719446843
0x777B1b4e...f35934E8E
0.00125 ETH
201793362024-06-27 0:07:234 days ago1719446843
0x777B1b4e...f35934E8E
0.00125 ETH
201793362024-06-27 0:07:234 days ago1719446843
0x777B1b4e...f35934E8E
0.0025 ETH
201292652024-06-20 0:08:1111 days ago1718842091
0x777B1b4e...f35934E8E
0.00125 ETH
201292652024-06-20 0:08:1111 days ago1718842091
0x777B1b4e...f35934E8E
0.00125 ETH
201292652024-06-20 0:08:1111 days ago1718842091
0x777B1b4e...f35934E8E
0.0025 ETH
201292652024-06-20 0:08:1111 days ago1718842091
0x777B1b4e...f35934E8E
0.00125 ETH
201292652024-06-20 0:08:1111 days ago1718842091
0x777B1b4e...f35934E8E
0.00125 ETH
201292652024-06-20 0:08:1111 days ago1718842091
0x777B1b4e...f35934E8E
0.0025 ETH
201292652024-06-20 0:08:1111 days ago1718842091
0x777B1b4e...f35934E8E
0.00125 ETH
201292652024-06-20 0:08:1111 days ago1718842091
0x777B1b4e...f35934E8E
0.00125 ETH
201292652024-06-20 0:08:1111 days ago1718842091
0x777B1b4e...f35934E8E
0.0025 ETH
201292652024-06-20 0:08:1111 days ago1718842091
0x777B1b4e...f35934E8E
0.00125 ETH
201292652024-06-20 0:08:1111 days ago1718842091
0x777B1b4e...f35934E8E
0.00125 ETH
201292652024-06-20 0:08:1111 days ago1718842091
0x777B1b4e...f35934E8E
0.0025 ETH
200792072024-06-13 0:04:3518 days ago1718237075
0x777B1b4e...f35934E8E
0.00125 ETH
View All Internal Transactions
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xa14e7F4B...37467f4dA
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
SolidlyProxy

Compiler Version
v0.8.11+commit.d7f03943

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : SolidlyProxy.sol
// SPDX-License-Identifier: BUSL
pragma solidity 0.8.11;

/**
 * @title Solidly+ governance killable proxy
 * @author Solidly+
 * @notice EIP-1967 upgradeable proxy with the ability to kill governance and render the contract immutable
 */
contract SolidlyProxy {
    bytes32 constant IMPLEMENTATION_SLOT =
        0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; // keccak256('eip1967.proxy.implementation'), actually used for interface so etherscan picks up the interface
    bytes32 constant LOGIC_SLOT =
        0x5942be825425c77e56e4bce97986794ab0f100954e40fc1390ae0e003710a3ab; // keccak256('LOGIC') - 1, actual logic implementation
    bytes32 constant GOVERNANCE_SLOT =
        0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103; // keccak256('eip1967.proxy.admin')
    bytes32 constant INITIALIZED_SLOT =
        0x834ce84547018237034401a09067277cdcbe7bbf7d7d30f6b382b0a102b7b4a3; // keccak256('eip1967.proxy.initialized')

    /**
     * @notice Reverts if msg.sender is not governance
     */
    modifier onlyGovernance() {
        require(msg.sender == governanceAddress(), "Only governance");
        _;
    }

    /**
     * @notice Reverts if contract is already initialized
     * @dev Used by implementations to ensure initialize() is only called once
     */
    modifier notInitialized() {
        bool initialized;
        assembly {
            initialized := sload(INITIALIZED_SLOT)
            if eq(initialized, 1) {
                revert(0, 0)
            }
            sstore(INITIALIZED_SLOT, 1)
        }
        _;
    }

    /**
     * @notice Sets up deployer as a proxy governance
     */
    constructor() {
        address _governanceAddress = msg.sender;
        assembly {
            sstore(GOVERNANCE_SLOT, _governanceAddress)
        }
    }

    /**
     * @notice Detect whether or not governance is killed
     * @return Return true if governance is killed, false if not
     * @dev If governance is killed this contract becomes immutable
     */
    function governanceIsKilled() public view returns (bool) {
        return governanceAddress() == address(0);
    }

    /**
     * @notice Kill governance, making this contract immutable
     * @dev Only governance can kil governance
     */
    function killGovernance() external onlyGovernance {
        updateGovernanceAddress(address(0));
    }

    /**
     * @notice Update implementation address
     * @param _interfaceAddress Address of the new interface
     * @dev Only governance can update implementation
     */
    function updateInterfaceAddress(address _interfaceAddress)
        external
        onlyGovernance
    {
        assembly {
            sstore(IMPLEMENTATION_SLOT, _interfaceAddress)
        }
    }

    /**
     * @notice Actually updates interface, kept for etherscan pattern recognition
     * @param _implementationAddress Address of the new implementation
     * @dev Only governance can update implementation
     */
    function updateImplementationAddress(address _implementationAddress)
        external
        onlyGovernance
    {
        assembly {
            sstore(IMPLEMENTATION_SLOT, _implementationAddress)
        }
    }

    /**
     * @notice Update implementation address
     * @param _logicAddress Address of the new implementation
     * @dev Only governance can update implementation
     */
    function updateLogicAddress(address _logicAddress) external onlyGovernance {
        assembly {
            sstore(LOGIC_SLOT, _logicAddress)
        }
    }

    /**
     * @notice Update governance address
     * @param _governanceAddress New governance address
     * @dev Only governance can update governance
     */
    function updateGovernanceAddress(address _governanceAddress)
        public
        onlyGovernance
    {
        assembly {
            sstore(GOVERNANCE_SLOT, _governanceAddress)
        }
    }

    /**
     * @notice Fetch the current implementation address
     * @return _implementationAddress Returns the current implementation address
     */
    function implementationAddress()
        public
        view
        returns (address _implementationAddress)
    {
        assembly {
            _implementationAddress := sload(IMPLEMENTATION_SLOT)
        }
    }

    /**
     * @notice Fetch the current implementation address
     * @return _interfaceAddress Returns the current implementation address
     */
    function interfaceAddress()
        public
        view
        virtual
        returns (address _interfaceAddress)
    {
        assembly {
            _interfaceAddress := sload(IMPLEMENTATION_SLOT)
        }
    }

    /**
     * @notice Fetch the current implementation address
     * @return _logicAddress Returns the current implementation address
     */
    function logicAddress()
        public
        view
        virtual
        returns (address _logicAddress)
    {
        assembly {
            _logicAddress := sload(LOGIC_SLOT)
        }
    }

    /**
     * @notice Fetch current governance address
     * @return _governanceAddress Returns current governance address
     */
    function governanceAddress()
        public
        view
        virtual
        returns (address _governanceAddress)
    {
        assembly {
            _governanceAddress := sload(GOVERNANCE_SLOT)
        }
    }

    /**
     * @notice Fallback function that delegatecalls the subimplementation instead of what's in the IMPLEMENTATION_SLOT
     */
    function _delegateCallSubimplmentation() internal virtual {
        assembly {
            let contractLogic := sload(LOGIC_SLOT)
            calldatacopy(0x0, 0x0, calldatasize())
            let success := delegatecall(
                gas(),
                contractLogic,
                0x0,
                calldatasize(),
                0,
                0
            )
            let returnDataSize := returndatasize()
            returndatacopy(0, 0, returnDataSize)
            switch success
            case 0 {
                revert(0, returnDataSize)
            }
            default {
                return(0, returnDataSize)
            }
        }
    }

    /**
     * @notice Delegatecall fallback proxy
     */
    fallback() external payable virtual {
        _delegateCallSubimplmentation();
    }

    receive() external payable virtual {
        _delegateCallSubimplmentation();
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "metadata": {
    "bytecodeHash": "none"
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"governanceAddress","outputs":[{"internalType":"address","name":"_governanceAddress","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"governanceIsKilled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"implementationAddress","outputs":[{"internalType":"address","name":"_implementationAddress","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"interfaceAddress","outputs":[{"internalType":"address","name":"_interfaceAddress","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"killGovernance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"logicAddress","outputs":[{"internalType":"address","name":"_logicAddress","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_governanceAddress","type":"address"}],"name":"updateGovernanceAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_implementationAddress","type":"address"}],"name":"updateImplementationAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_interfaceAddress","type":"address"}],"name":"updateInterfaceAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_logicAddress","type":"address"}],"name":"updateLogicAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

Deployed Bytecode

0x6080604052600436106100955760003560e01c8063b56fbb9711610059578063b56fbb9714610189578063b90d8930146101a9578063b97a231914610155578063cf6126ed146101c9578063eb5ee83a146101c9576100a4565b8063179781c4146100ac578063654ea5e7146100d6578063795053d3146100eb5780639c1fcc4c14610121578063aa8a675414610155576100a4565b366100a4576100a26101e9565b005b6100a26101e9565b3480156100b857600080fd5b506100c1610232565b60405190151581526020015b60405180910390f35b3480156100e257600080fd5b506100a261025a565b3480156100f757600080fd5b50600080516020610423833981519152545b6040516001600160a01b0390911681526020016100cd565b34801561012d57600080fd5b507f5942be825425c77e56e4bce97986794ab0f100954e40fc1390ae0e003710a3ab54610109565b34801561016157600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54610109565b34801561019557600080fd5b506100a26101a43660046103c9565b6102af565b3480156101b557600080fd5b506100a26101c43660046103c9565b610313565b3480156101d557600080fd5b506100a26101e43660046103c9565b610365565b7f5942be825425c77e56e4bce97986794ab0f100954e40fc1390ae0e003710a3ab543660008037600080366000845af490503d806000803e81801561022d57816000f35b816000fd5b60008061024b6000805160206104238339815191525490565b6001600160a01b031614905090565b600080516020610423833981519152546001600160a01b0316336001600160a01b0316146102a35760405162461bcd60e51b815260040161029a906103f9565b60405180910390fd5b6102ad6000610313565b565b600080516020610423833981519152546001600160a01b0316336001600160a01b0316146102ef5760405162461bcd60e51b815260040161029a906103f9565b7f5942be825425c77e56e4bce97986794ab0f100954e40fc1390ae0e003710a3ab55565b600080516020610423833981519152546001600160a01b0316336001600160a01b0316146103535760405162461bcd60e51b815260040161029a906103f9565b60008051602061042383398151915255565b600080516020610423833981519152546001600160a01b0316336001600160a01b0316146103a55760405162461bcd60e51b815260040161029a906103f9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b6000602082840312156103db57600080fd5b81356001600160a01b03811681146103f257600080fd5b9392505050565b6020808252600f908201526e4f6e6c7920676f7665726e616e636560881b60408201526060019056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103a164736f6c634300080b000a

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.