ETH Price: $2,935.87 (-0.74%)

Contract

0xbd3FB8f73A862E0f310A0bDd8b8DA7460e58Dfa5
 

Overview

ETH Balance

0 ETH

ETH Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To
Emergency Recove...265588562025-10-31 16:18:4785 days ago1761927527IN
0xbd3FB8f7...60e58Dfa5
0 ETH0.000000030.0003
Emergency Recove...265588542025-10-31 16:18:4385 days ago1761927523IN
0xbd3FB8f7...60e58Dfa5
0 ETH0.000000020.0003
Emergency Recove...265588522025-10-31 16:18:3985 days ago1761927519IN
0xbd3FB8f7...60e58Dfa5
0 ETH0.000000030.0003
Emergency Recove...265588482025-10-31 16:18:3185 days ago1761927511IN
0xbd3FB8f7...60e58Dfa5
0 ETH0.000000010.0003
Get Reward247973402025-09-20 21:41:35126 days ago1758404495IN
0xbd3FB8f7...60e58Dfa5
0 ETH0.000000560.00100044
Notify Reward Am...203644192025-06-10 6:57:33228 days ago1749538653IN
0xbd3FB8f7...60e58Dfa5
0 ETH00.00000267
Notify Reward Am...203643222025-06-10 6:54:19228 days ago1749538459IN
0xbd3FB8f7...60e58Dfa5
0 ETH00.0000027
Notify Reward Am...171726832025-03-28 9:46:21302 days ago1743155181IN
0xbd3FB8f7...60e58Dfa5
0 ETH0.00000010.00018124
Notify Reward Am...171382272025-03-27 14:37:49303 days ago1743086269IN
0xbd3FB8f7...60e58Dfa5
0 ETH00.00000688
Notify Reward Am...171381572025-03-27 14:35:29303 days ago1743086129IN
0xbd3FB8f7...60e58Dfa5
0 ETH00.00000714
Notify Reward Am...168262012025-03-20 9:16:57310 days ago1742462217IN
0xbd3FB8f7...60e58Dfa5
0 ETH0.000000210.00120084
Notify Reward Am...153050742025-02-13 4:12:43346 days ago1739419963IN
0xbd3FB8f7...60e58Dfa5
0 ETH0.00000150.00447727
Notify Reward Am...146343292025-01-28 15:34:33361 days ago1738078473IN
0xbd3FB8f7...60e58Dfa5
0 ETH0.000004180.00000564
Notify Reward Am...143889552025-01-22 23:15:25367 days ago1737587725IN
0xbd3FB8f7...60e58Dfa5
0 ETH0.000002170.00002996
Notify Reward Am...143879132025-01-22 22:40:41367 days ago1737585641IN
0xbd3FB8f7...60e58Dfa5
0 ETH0.000001310.00006625
Notify Reward Am...143878532025-01-22 22:38:41367 days ago1737585521IN
0xbd3FB8f7...60e58Dfa5
0 ETH0.000001370.00006918
Notify Reward Am...133030222024-12-28 19:57:39392 days ago1735415859IN
0xbd3FB8f7...60e58Dfa5
0 ETH0.000006930.00000071
Notify Reward Am...132262562024-12-27 1:18:47394 days ago1735262327IN
0xbd3FB8f7...60e58Dfa5
0 ETH0.000000840.0016099
Notify Reward Am...132262382024-12-27 1:18:11394 days ago1735262291IN
0xbd3FB8f7...60e58Dfa5
0 ETH0.000000880.00161348
Notify Reward Am...129426012024-12-20 11:43:37400 days ago1734695017IN
0xbd3FB8f7...60e58Dfa5
0 ETH0.00001360.00147004
Notify Reward Am...128527762024-12-18 9:49:27402 days ago1734515367IN
0xbd3FB8f7...60e58Dfa5
0 ETH0.000000120.00075866
Notify Reward Am...128527122024-12-18 9:47:19402 days ago1734515239IN
0xbd3FB8f7...60e58Dfa5
0 ETH0.000000140.00075394
Recover ERC20And...127786362024-12-16 16:38:07404 days ago1734367087IN
0xbd3FB8f7...60e58Dfa5
0 ETH0.000006890.00151977
Notify Reward Am...127128982024-12-15 4:06:51406 days ago1734235611IN
0xbd3FB8f7...60e58Dfa5
0 ETH0.000001890.00040606
Notify Reward Am...127123182024-12-15 3:47:31406 days ago1734234451IN
0xbd3FB8f7...60e58Dfa5
0 ETH0.000001120.00044993
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block From To
107441162024-10-30 14:20:47451 days ago1730298047  Contract Creation0 ETH

Cross-Chain Transactions
Loading...
Loading

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

Contract Name:
BribeProxy

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 {IBribeFactory} from "./interfaces/IBribeFactory.sol";

contract BribeProxy {
    address private immutable bribeFactory;
    bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;

    constructor() {
        bribeFactory = 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 = IBribeFactory(bribeFactory).bribeImplementation();
        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 IBribeFactory {
    /**
     * @dev Emitted when the voter address is updated. This address is used for voting in fee vaults.
     *
     * @param oldVoter The address of the previous voter.
     * @param newVoter The address of the new voter that has been set.
     */
    event SetVoter(address indexed oldVoter, address indexed newVoter);

    /**
     * @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);

    event bribeImplementationChanged(address _oldbribeImplementation, address _newbribeImplementation);

    event AddDefaultRewardToken(address indexed token);
    event RemoveDefaultRewardToken(address indexed token);

    function createBribe(address _token0, address _token1, string memory _type) external returns (address);

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

    function bribeOwner() external view returns (address owner);

    function isDefaultRewardToken(address token_) external view returns (bool);

    function getDefaultRewardTokens() external view returns (address[] memory);

    function getBribeRewardTokens(address bribe_) external view returns (address[] memory);
}

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"}]

0x60a080604052346100225733608052610277908161002882396080518160470152f35b600080fdfe60806040527fb79187430000000000000000000000000000000000000000000000000000000060805273ffffffffffffffffffffffffffffffffffffffff60206080600481847f0000000000000000000000000000000000000000000000000000000000000000165afa90811561018f57600091610161575b6100c68183169161008a831515610263565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc541673ffffffffffffffffffffffffffffffffffffffff1690565b141580610158575b6100f4575b60008060405192368285378336915af4903d91826000833e156100f257f35bfd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790556100d3565b503315156100ce565b905060203d8111610188575b8061017a61018292610194565b608001610205565b90610078565b503d61016d565b610257565b601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09101166080016080811067ffffffffffffffff8211176101d657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8060209101126102525760805173ffffffffffffffffffffffffffffffffffffffff811681036102525790565b600080fd5b6040513d6000823e3d90fd5b156102525756fea164736f6c6343000813000a

Deployed Bytecode

0x60806040527fb79187430000000000000000000000000000000000000000000000000000000060805273ffffffffffffffffffffffffffffffffffffffff60206080600481847f000000000000000000000000fd91dc9a8c3268fc556838baed5871be3af6f32e165afa90811561018f57600091610161575b6100c68183169161008a831515610263565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc541673ffffffffffffffffffffffffffffffffffffffff1690565b141580610158575b6100f4575b60008060405192368285378336915af4903d91826000833e156100f257f35bfd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790556100d3565b503315156100ce565b905060203d8111610188575b8061017a61018292610194565b608001610205565b90610078565b503d61016d565b610257565b601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09101166080016080811067ffffffffffffffff8211176101d657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8060209101126102525760805173ffffffffffffffffffffffffffffffffffffffff811681036102525790565b600080fd5b6040513d6000823e3d90fd5b156102525756fea164736f6c6343000813000a

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.