ETH Price: $1,789.41 (+4.98%)

Contract

0xDD9744A3210C6CdD5c30b7D810BAa85E3f5eA35F
 

Overview

ETH Balance

0 ETH

ETH Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw158777432025-02-26 10:21:4156 days ago1740565301IN
0xDD9744A3...E3f5eA35F
0 ETH0.000000410.0027
Withdraw158768292025-02-26 9:51:1356 days ago1740563473IN
0xDD9744A3...E3f5eA35F
0 ETH0.000000350.0022903
Withdraw156705112025-02-21 15:13:5760 days ago1740150837IN
0xDD9744A3...E3f5eA35F
0 ETH0.000000160.00113789
Withdraw155767402025-02-19 11:08:1563 days ago1739963295IN
0xDD9744A3...E3f5eA35F
0 ETH0.00000020.00137566
Withdraw155737172025-02-19 9:27:2963 days ago1739957249IN
0xDD9744A3...E3f5eA35F
0 ETH0.000000210.00139349
Withdraw154750712025-02-17 2:39:1765 days ago1739759957IN
0xDD9744A3...E3f5eA35F
0 ETH0.000000440.0029738
Deposit149772842025-02-05 14:06:2377 days ago1738764383IN
0xDD9744A3...E3f5eA35F
0 ETH0.000000390.00295451
Withdraw146570642025-01-29 4:12:2384 days ago1738123943IN
0xDD9744A3...E3f5eA35F
0 ETH0.000000250.00171241
Deposit141040392025-01-16 8:58:1397 days ago1737017893IN
0xDD9744A3...E3f5eA35F
0 ETH0.000000190.00133548
Withdraw140645792025-01-15 11:02:5398 days ago1736938973IN
0xDD9744A3...E3f5eA35F
0 ETH0.00000020.00133476
Withdraw137935262025-01-09 4:27:47104 days ago1736396867IN
0xDD9744A3...E3f5eA35F
0 ETH0.000000160.00112224
Withdraw137880352025-01-09 1:24:45104 days ago1736385885IN
0xDD9744A3...E3f5eA35F
0 ETH0.000000190.00129358
Withdraw137257102025-01-07 14:47:15106 days ago1736261235IN
0xDD9744A3...E3f5eA35F
0 ETH0.000000170.00119914
Deposit135895892025-01-04 11:09:53109 days ago1735988993IN
0xDD9744A3...E3f5eA35F
0 ETH0.000000240.00166301
Deposit135895612025-01-04 11:08:57109 days ago1735988937IN
0xDD9744A3...E3f5eA35F
0 ETH0.000000250.00166838
Deposit135765602025-01-04 3:55:35109 days ago1735962935IN
0xDD9744A3...E3f5eA35F
0 ETH0.000000190.00148191
Deposit134251462024-12-31 15:48:27112 days ago1735660107IN
0xDD9744A3...E3f5eA35F
0 ETH0.000000170.0012
Deposit134251002024-12-31 15:46:55112 days ago1735660015IN
0xDD9744A3...E3f5eA35F
0 ETH0.000000170.00112703
Withdraw132757742024-12-28 4:49:23116 days ago1735361363IN
0xDD9744A3...E3f5eA35F
0 ETH0.000000170.00116262
Deposit130509052024-12-22 23:53:45121 days ago1734911625IN
0xDD9744A3...E3f5eA35F
0 ETH0.000000180.00157422
Deposit130406992024-12-22 18:13:33121 days ago1734891213IN
0xDD9744A3...E3f5eA35F
0 ETH0.00000020.00155766
Deposit129449612024-12-20 13:02:17124 days ago1734699737IN
0xDD9744A3...E3f5eA35F
0 ETH0.000000160.00125482
Deposit129006462024-12-19 12:25:07125 days ago1734611107IN
0xDD9744A3...E3f5eA35F
0 ETH0.00000020.00135589
Deposit128845832024-12-19 3:29:41125 days ago1734578981IN
0xDD9744A3...E3f5eA35F
0 ETH0.000000180.00136451
Deposit128386392024-12-18 1:58:13126 days ago1734487093IN
0xDD9744A3...E3f5eA35F
0 ETH0.000000330.00223102
View all transactions

Latest 1 internal transaction

Parent Transaction Hash Block From To
116562292024-11-20 17:04:33153 days ago1732122273  Contract Creation0 ETH

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
File 1 of 3 : GaugeProxy.sol
// 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)
            }
        }
    }
}

File 2 of 3 : StorageSlot.sol
// 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
        }
    }
}

File 3 of 3 : IGaugeFactory.sol
// 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"}]

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.