ETH Price: $2,959.43 (-0.88%)

Contract

0x62554027c52f977b94B25D70Aedd061Ea4f3838A
 

Overview

ETH Balance

0 ETH

ETH Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To
Withdraw247948372025-09-20 20:18:09125 days ago1758399489IN
0x62554027...Ea4f3838A
0 ETH00.0000239
Withdraw205360582025-06-14 6:18:51224 days ago1749881931IN
0x62554027...Ea4f3838A
0 ETH00.00000879
Withdraw201335332025-06-04 22:41:21233 days ago1749076881IN
0x62554027...Ea4f3838A
0 ETH0.000000140.00100043
Withdraw201139302025-06-04 11:47:55234 days ago1749037675IN
0x62554027...Ea4f3838A
0 ETH0.000000150.00120046
Withdraw197069522025-05-26 1:41:59243 days ago1748223719IN
0x62554027...Ea4f3838A
0 ETH0.00000010.00083726
Withdraw190341582025-05-10 11:55:31259 days ago1746878131IN
0x62554027...Ea4f3838A
0 ETH0.000000140.00090152
Deposit182457892025-04-22 5:56:33277 days ago1745301393IN
0x62554027...Ea4f3838A
0 ETH0.000000280.00207812
Deposit175701452025-04-06 14:35:05293 days ago1743950105IN
0x62554027...Ea4f3838A
0 ETH0.000000130.00100048
Withdraw165568172025-03-14 3:37:29316 days ago1741923449IN
0x62554027...Ea4f3838A
0 ETH0.000000180.00130317
Withdraw154148862025-02-15 17:13:07343 days ago1739639587IN
0x62554027...Ea4f3838A
0 ETH0.000000690.00368277
Withdraw154071292025-02-15 12:54:33343 days ago1739624073IN
0x62554027...Ea4f3838A
0 ETH0.000000210.00158678
Deposit151253682025-02-09 0:22:31349 days ago1739060551IN
0x62554027...Ea4f3838A
0 ETH0.000000080.00071769
Withdraw151121382025-02-08 17:01:31350 days ago1739034091IN
0x62554027...Ea4f3838A
0 ETH0.000000580.00296244
Deposit145621432025-01-26 23:28:21362 days ago1737934101IN
0x62554027...Ea4f3838A
0 ETH0.00000030.00213413
Withdraw144534652025-01-24 11:05:45365 days ago1737716745IN
0x62554027...Ea4f3838A
0 ETH0.000000950.00486491
Withdraw144396812025-01-24 3:26:17365 days ago1737689177IN
0x62554027...Ea4f3838A
0 ETH0.000005170.01195147
Withdraw143046632025-01-21 0:25:41368 days ago1737419141IN
0x62554027...Ea4f3838A
0 ETH0.000000430.00110044
Deposit142262572025-01-19 4:52:09370 days ago1737262329IN
0x62554027...Ea4f3838A
0 ETH0.000000180.00120032
Withdraw141948092025-01-18 11:23:53371 days ago1737199433IN
0x62554027...Ea4f3838A
0 ETH0.000000850.00120083
Deposit140178252025-01-14 9:04:25375 days ago1736845465IN
0x62554027...Ea4f3838A
0 ETH0.000000170.00123073
Withdraw139945172025-01-13 20:07:29375 days ago1736798849IN
0x62554027...Ea4f3838A
0 ETH0.000000230.00139417
Get Reward139265112025-01-12 6:20:37377 days ago1736662837IN
0x62554027...Ea4f3838A
0 ETH0.000000110.00125334
Deposit All139264512025-01-12 6:18:37377 days ago1736662717IN
0x62554027...Ea4f3838A
0 ETH0.000000210.00135112
Withdraw All139260532025-01-12 6:05:21377 days ago1736661921IN
0x62554027...Ea4f3838A
0 ETH0.000000170.00126465
Deposit134007612024-12-31 2:15:37389 days ago1735611337IN
0x62554027...Ea4f3838A
0 ETH0.000000540.00037536
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block From To
116082632024-11-19 14:25:41431 days ago1732026341  Contract Creation0 ETH

Cross-Chain Transactions
Loading...
Loading

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

Contract Name:
GaugeProxy

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 2000 runs

Other Settings:
paris EvmVersion

Contract Source Code (Solidity Standard Json-Input format)

// SPDX-License-Identifier: MIT
pragma solidity =0.8.19;

import {StorageSlot} from "@openzeppelin/contracts/utils/StorageSlot.sol";

import {IGaugeFactory} from "./interfaces/IGaugeFactory.sol";

contract GaugeProxy {
    address private immutable gaugeFactory;
    bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;

    constructor() {
        gaugeFactory = msg.sender;
    }

    function _getImplementation() internal view returns (address) {
        return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;
    }

    function _setImplementation(address newImplementation) private {
        StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation;
    }

    fallback() external payable {
        address impl = IGaugeFactory(gaugeFactory).gaugeImplementation();
        require(impl != address(0));

        //Just for etherscan compatibility
        if (impl != _getImplementation() && msg.sender != (address(0))) {
            _setImplementation(impl);
        }

        assembly {
            let ptr := mload(0x40)
            calldatacopy(ptr, 0, calldatasize())
            let result := delegatecall(gas(), impl, ptr, calldatasize(), 0, 0)
            let size := returndatasize()
            returndatacopy(ptr, 0, size)

            switch result
            case 0 {
                revert(ptr, size)
            }
            default {
                return(ptr, size)
            }
        }
    }
}

// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.0) (utils/StorageSlot.sol)
// This file was procedurally generated from scripts/generate/templates/StorageSlot.js.

pragma solidity ^0.8.0;

/**
 * @dev Library for reading and writing primitive types to specific storage slots.
 *
 * Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts.
 * This library helps with reading and writing to such slots without the need for inline assembly.
 *
 * The functions in this library return Slot structs that contain a `value` member that can be used to read or write.
 *
 * Example usage to set ERC1967 implementation slot:
 * ```solidity
 * contract ERC1967 {
 *     bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;
 *
 *     function _getImplementation() internal view returns (address) {
 *         return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;
 *     }
 *
 *     function _setImplementation(address newImplementation) internal {
 *         require(Address.isContract(newImplementation), "ERC1967: new implementation is not a contract");
 *         StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation;
 *     }
 * }
 * ```
 *
 * _Available since v4.1 for `address`, `bool`, `bytes32`, `uint256`._
 * _Available since v4.9 for `string`, `bytes`._
 */
library StorageSlot {
    struct AddressSlot {
        address value;
    }

    struct BooleanSlot {
        bool value;
    }

    struct Bytes32Slot {
        bytes32 value;
    }

    struct Uint256Slot {
        uint256 value;
    }

    struct StringSlot {
        string value;
    }

    struct BytesSlot {
        bytes value;
    }

    /**
     * @dev Returns an `AddressSlot` with member `value` located at `slot`.
     */
    function getAddressSlot(bytes32 slot) internal pure returns (AddressSlot storage r) {
        /// @solidity memory-safe-assembly
        assembly {
            r.slot := slot
        }
    }

    /**
     * @dev Returns an `BooleanSlot` with member `value` located at `slot`.
     */
    function getBooleanSlot(bytes32 slot) internal pure returns (BooleanSlot storage r) {
        /// @solidity memory-safe-assembly
        assembly {
            r.slot := slot
        }
    }

    /**
     * @dev Returns an `Bytes32Slot` with member `value` located at `slot`.
     */
    function getBytes32Slot(bytes32 slot) internal pure returns (Bytes32Slot storage r) {
        /// @solidity memory-safe-assembly
        assembly {
            r.slot := slot
        }
    }

    /**
     * @dev Returns an `Uint256Slot` with member `value` located at `slot`.
     */
    function getUint256Slot(bytes32 slot) internal pure returns (Uint256Slot storage r) {
        /// @solidity memory-safe-assembly
        assembly {
            r.slot := slot
        }
    }

    /**
     * @dev Returns an `StringSlot` with member `value` located at `slot`.
     */
    function getStringSlot(bytes32 slot) internal pure returns (StringSlot storage r) {
        /// @solidity memory-safe-assembly
        assembly {
            r.slot := slot
        }
    }

    /**
     * @dev Returns an `StringSlot` representation of the string storage pointer `store`.
     */
    function getStringSlot(string storage store) internal pure returns (StringSlot storage r) {
        /// @solidity memory-safe-assembly
        assembly {
            r.slot := store.slot
        }
    }

    /**
     * @dev Returns an `BytesSlot` with member `value` located at `slot`.
     */
    function getBytesSlot(bytes32 slot) internal pure returns (BytesSlot storage r) {
        /// @solidity memory-safe-assembly
        assembly {
            r.slot := slot
        }
    }

    /**
     * @dev Returns an `BytesSlot` representation of the bytes storage pointer `store`.
     */
    function getBytesSlot(bytes storage store) internal pure returns (BytesSlot storage r) {
        /// @solidity memory-safe-assembly
        assembly {
            r.slot := store.slot
        }
    }
}

// SPDX-License-Identifier: MIT
pragma solidity >=0.8.0;

interface IGaugeFactory {
    event GaugeImplementationChanged(address _oldGaugeImplementation, address _newGaugeImplementation);
    /**
     * @dev Emitted when the default Blast governor address for new bribes is updated.
     *
     * @param oldDefaultBlastGovernor The address of the previous default Blast governor.
     * @param newDefaultBlastGovernor The address of the new default Blast governor that has been set.
     */
    event SetDefaultBlastGovernor(address indexed oldDefaultBlastGovernor, address indexed newDefaultBlastGovernor);

    function createGauge(
        address _rewardToken,
        address _ve,
        address _token,
        address _distribution,
        address _internal_bribe,
        address _external_bribe,
        bool _isDistributeEmissionToMerkle,
        address _feeVault
    ) external returns (address);

    function gaugeImplementation() external view returns (address impl);

    function merklGaugeMiddleman() external view returns (address);

    function gaugeOwner() external view returns (address);
}

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

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"}]

0x60a080604052346100225733608052610277908161002882396080518160470152f35b600080fdfe60806040527feda5458a0000000000000000000000000000000000000000000000000000000060805273ffffffffffffffffffffffffffffffffffffffff60206080600481847f0000000000000000000000000000000000000000000000000000000000000000165afa90811561018f57600091610161575b6100c68183169161008a831515610263565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc541673ffffffffffffffffffffffffffffffffffffffff1690565b141580610158575b6100f4575b60008060405192368285378336915af4903d91826000833e156100f257f35bfd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790556100d3565b503315156100ce565b905060203d8111610188575b8061017a61018292610194565b608001610205565b90610078565b503d61016d565b610257565b601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09101166080016080811067ffffffffffffffff8211176101d657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8060209101126102525760805173ffffffffffffffffffffffffffffffffffffffff811681036102525790565b600080fd5b6040513d6000823e3d90fd5b156102525756fea164736f6c6343000813000a

Deployed Bytecode

0x60806040527feda5458a0000000000000000000000000000000000000000000000000000000060805273ffffffffffffffffffffffffffffffffffffffff60206080600481847f0000000000000000000000004515bf577f5c0d2b42b2528d5dd8c4ec47efa408165afa90811561018f57600091610161575b6100c68183169161008a831515610263565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc541673ffffffffffffffffffffffffffffffffffffffff1690565b141580610158575b6100f4575b60008060405192368285378336915af4903d91826000833e156100f257f35bfd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790556100d3565b503315156100ce565b905060203d8111610188575b8061017a61018292610194565b608001610205565b90610078565b503d61016d565b610257565b601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09101166080016080811067ffffffffffffffff8211176101d657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8060209101126102525760805173ffffffffffffffffffffffffffffffffffffffff811681036102525790565b600080fd5b6040513d6000823e3d90fd5b156102525756fea164736f6c6343000813000a

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
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.