ETH Price: $2,649.29 (+0.68%)

Contract

0x676A795fe6E43C17c668de16730c3F690FEB7120
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00
Transaction Hash
Method
Block
From
To
Send Message204655902024-08-05 23:16:35187 days ago1722899795IN
0x676A795f...90FEB7120
0 ETH0.000968193.13218678
Relay Message204088982024-07-29 1:20:35195 days ago1722216035IN
0x676A795f...90FEB7120
0 ETH0.000134821
Send Message204057462024-07-28 14:48:35195 days ago1722178115IN
0x676A795f...90FEB7120
0 ETH0.000996883.48337434
Send Message200781452024-06-12 20:30:35241 days ago1718224235IN
0x676A795f...90FEB7120
0 ETH0.0028607715.14616026
Send Message200781352024-06-12 20:28:35241 days ago1718224115IN
0x676A795f...90FEB7120
0 ETH0.0029045115.8989683
Send Message200778862024-06-12 19:38:23241 days ago1718221103IN
0x676A795f...90FEB7120
0 ETH0.0030908318.91320522
Relay Message199288452024-05-22 23:56:47262 days ago1716422207IN
0x676A795f...90FEB7120
0 ETH0.000788336.05294213
Relay Message196933252024-04-20 1:23:23295 days ago1713576203IN
0x676A795f...90FEB7120
0 ETH0.000708035.39188554
Relay Message195929582024-04-05 23:57:35309 days ago1712361455IN
0x676A795f...90FEB7120
0 ETH0.0013236410
Relay Message195091032024-03-25 4:22:11320 days ago1711340531IN
0x676A795f...90FEB7120
0 ETH0.0015469111.5
Relay Message195082882024-03-25 1:36:11321 days ago1711330571IN
0x676A795f...90FEB7120
0 ETH0.0018981114.3388298
Relay Message194546422024-03-17 12:44:35328 days ago1710679475IN
0x676A795f...90FEB7120
0 ETH0.0032190824.22947835
Relay Message194367132024-03-15 0:13:47331 days ago1710461627IN
0x676A795f...90FEB7120
0 ETH0.039727748.05332815
Relay Message194366942024-03-15 0:09:59331 days ago1710461399IN
0x676A795f...90FEB7120
0 ETH0.036226240.26941025
Relay Message194366082024-03-14 23:52:47331 days ago1710460367IN
0x676A795f...90FEB7120
0 ETH0.03589241.37369109
Relay Message194358372024-03-14 21:15:47331 days ago1710450947IN
0x676A795f...90FEB7120
0 ETH0.0471754554.38406206
Relay Message194327962024-03-14 10:56:59331 days ago1710413819IN
0x676A795f...90FEB7120
0 ETH0.0370409843.12808249
Relay Message194326782024-03-14 10:32:35331 days ago1710412355IN
0x676A795f...90FEB7120
0 ETH0.0409448847.67241557
Relay Message194326742024-03-14 10:31:47331 days ago1710412307IN
0x676A795f...90FEB7120
0 ETH0.0361490642.17483194
Relay Message194322832024-03-14 9:12:59331 days ago1710407579IN
0x676A795f...90FEB7120
0 ETH0.0457097950.71197322
Relay Message194322102024-03-14 8:58:23331 days ago1710406703IN
0x676A795f...90FEB7120
0 ETH0.0423111548.07512667
Relay Message194315142024-03-14 6:37:11331 days ago1710398231IN
0x676A795f...90FEB7120
0 ETH0.0377890645.8075309
Relay Message194311932024-03-14 5:31:47331 days ago1710394307IN
0x676A795f...90FEB7120
0 ETH0.0389518244.54060712
Relay Message194311792024-03-14 5:28:59331 days ago1710394139IN
0x676A795f...90FEB7120
0 ETH0.0400897347.54294994
Relay Message194311692024-03-14 5:26:59331 days ago1710394019IN
0x676A795f...90FEB7120
0 ETH0.0431740251.306944
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
218030622025-02-08 16:43:359 hrs ago1739033015
0x676A795f...90FEB7120
0.12864323 ETH
218030622025-02-08 16:43:359 hrs ago1739033015
0x676A795f...90FEB7120
0.12864323 ETH
218027392025-02-08 15:37:5910 hrs ago1739029079
0x676A795f...90FEB7120
0.2 ETH
218027392025-02-08 15:37:5910 hrs ago1739029079
0x676A795f...90FEB7120
0.2 ETH
217999262025-02-08 6:12:1119 hrs ago1738995131
0x676A795f...90FEB7120
0.01519592 ETH
217999262025-02-08 6:12:1119 hrs ago1738995131
0x676A795f...90FEB7120
0.01519592 ETH
217975122025-02-07 22:07:2327 hrs ago1738966043
0x676A795f...90FEB7120
50 ETH
217975122025-02-07 22:07:2327 hrs ago1738966043
0x676A795f...90FEB7120
50 ETH
217974852025-02-07 22:01:5928 hrs ago1738965719
0x676A795f...90FEB7120
29.5 ETH
217974852025-02-07 22:01:5928 hrs ago1738965719
0x676A795f...90FEB7120
29.5 ETH
217972422025-02-07 21:13:2328 hrs ago1738962803
0x676A795f...90FEB7120
1.00000922 ETH
217972422025-02-07 21:13:2328 hrs ago1738962803
0x676A795f...90FEB7120
1.00000922 ETH
217963242025-02-07 18:08:5931 hrs ago1738951739
0x676A795f...90FEB7120
0.03 ETH
217963242025-02-07 18:08:5931 hrs ago1738951739
0x676A795f...90FEB7120
0.03 ETH
217950392025-02-07 13:50:2336 hrs ago1738936223
0x676A795f...90FEB7120
32 ETH
217950392025-02-07 13:50:2336 hrs ago1738936223
0x676A795f...90FEB7120
32 ETH
217923792025-02-07 4:54:5945 hrs ago1738904099
0x676A795f...90FEB7120
0.15 ETH
217923792025-02-07 4:54:5945 hrs ago1738904099
0x676A795f...90FEB7120
0.15 ETH
217905492025-02-06 22:47:592 days ago1738882079
0x676A795f...90FEB7120
200 ETH
217905492025-02-06 22:47:592 days ago1738882079
0x676A795f...90FEB7120
200 ETH
217883532025-02-06 15:26:592 days ago1738855619
0x676A795f...90FEB7120
0.03 ETH
217883532025-02-06 15:26:592 days ago1738855619
0x676A795f...90FEB7120
0.03 ETH
217880232025-02-06 14:20:592 days ago1738851659
0x676A795f...90FEB7120
0.002 ETH
217880232025-02-06 14:20:592 days ago1738851659
0x676A795f...90FEB7120
0.002 ETH
217877822025-02-06 13:32:472 days ago1738848767
0x676A795f...90FEB7120
0.00303455 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Lib_ResolvedDelegateProxy

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 4 : Lib_ResolvedDelegateProxy.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;

/* Library Imports */
import { Lib_AddressManager } from "./Lib_AddressManager.sol";

/**
 * @title Lib_ResolvedDelegateProxy
 */
contract Lib_ResolvedDelegateProxy {
    /*************
     * Variables *
     *************/

    // Using mappings to store fields to avoid overwriting storage slots in the
    // implementation contract. For example, instead of storing these fields at
    // storage slot `0` & `1`, they are stored at `keccak256(key + slot)`.
    // See: https://solidity.readthedocs.io/en/v0.7.0/internals/layout_in_storage.html
    // NOTE: Do not use this code in your own contract system.
    //      There is a known flaw in this contract, and we will remove it from the repository
    //      in the near future. Due to the very limited way that we are using it, this flaw is
    //      not an issue in our system.
    mapping(address => string) private implementationName;
    mapping(address => Lib_AddressManager) private addressManager;

    /***************
     * Constructor *
     ***************/

    /**
     * @param _libAddressManager Address of the Lib_AddressManager.
     * @param _implementationName implementationName of the contract to proxy to.
     */
    constructor(address _libAddressManager, string memory _implementationName) {
        addressManager[address(this)] = Lib_AddressManager(_libAddressManager);
        implementationName[address(this)] = _implementationName;
    }

    /*********************
     * Fallback Function *
     *********************/

    fallback() external payable {
        address target = addressManager[address(this)].getAddress(
            (implementationName[address(this)])
        );

        require(target != address(0), "Target address must be initialized.");

        // slither-disable-next-line controlled-delegatecall
        (bool success, bytes memory returndata) = target.delegatecall(msg.data);

        if (success == true) {
            assembly {
                return(add(returndata, 0x20), mload(returndata))
            }
        } else {
            assembly {
                revert(add(returndata, 0x20), mload(returndata))
            }
        }
    }
}

File 2 of 4 : Lib_AddressManager.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;

/* External Imports */
import { Ownable } from "@openzeppelin/contracts/access/Ownable.sol";

/**
 * @title Lib_AddressManager
 */
contract Lib_AddressManager is Ownable {
    /**********
     * Events *
     **********/

    event AddressSet(string indexed _name, address _newAddress, address _oldAddress);

    /*************
     * Variables *
     *************/

    mapping(bytes32 => address) private addresses;

    /********************
     * Public Functions *
     ********************/

    /**
     * Changes the address associated with a particular name.
     * @param _name String name to associate an address with.
     * @param _address Address to associate with the name.
     */
    function setAddress(string memory _name, address _address) external onlyOwner {
        bytes32 nameHash = _getNameHash(_name);
        address oldAddress = addresses[nameHash];
        addresses[nameHash] = _address;

        emit AddressSet(_name, _address, oldAddress);
    }

    /**
     * Retrieves the address associated with a given name.
     * @param _name Name to retrieve an address for.
     * @return Address associated with the given name.
     */
    function getAddress(string memory _name) external view returns (address) {
        return addresses[_getNameHash(_name)];
    }

    /**********************
     * Internal Functions *
     **********************/

    /**
     * Computes the hash of a name.
     * @param _name Name to compute a hash for.
     * @return Hash of the given name.
     */
    function _getNameHash(string memory _name) internal pure returns (bytes32) {
        return keccak256(abi.encodePacked(_name));
    }
}

File 3 of 4 : Ownable.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import "../utils/Context.sol";

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _setOwner(_msgSender());
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

File 4 of 4 : Context.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_libAddressManager","type":"address"},{"internalType":"string","name":"_implementationName","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"}]

608060405234801561001057600080fd5b506040516104fd3803806104fd83398101604081905261002f91610125565b30600090815260016020908152604080832080546001600160a01b0319166001600160a01b038716179055828252909120825161006e92840190610076565b505050610252565b82805461008290610217565b90600052602060002090601f0160209004810192826100a457600085556100ea565b82601f106100bd57805160ff19168380011785556100ea565b828001600101855582156100ea579182015b828111156100ea5782518255916020019190600101906100cf565b506100f69291506100fa565b5090565b5b808211156100f657600081556001016100fb565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561013857600080fd5b82516001600160a01b038116811461014f57600080fd5b602084810151919350906001600160401b038082111561016e57600080fd5b818601915086601f83011261018257600080fd5b8151818111156101945761019461010f565b604051601f8201601f19908116603f011681019083821181831017156101bc576101bc61010f565b8160405282815289868487010111156101d457600080fd5b600093505b828410156101f657848401860151818501870152928501926101d9565b828411156102075760008684830101525b8096505050505050509250929050565b600181811c9082168061022b57607f821691505b6020821081141561024c57634e487b7160e01b600052602260045260246000fd5b50919050565b61029c806102616000396000f3fe6080604081815230600090815260016020908152828220549082905291812063bf40fac160e01b909352916001600160a01b039091169063bf40fac19061004790608461017e565b60206040518083038186803b15801561005f57600080fd5b505afa158015610073573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100979190610226565b90506001600160a01b0381166100ff5760405162461bcd60e51b815260206004820152602360248201527f5461726765742061646472657373206d75737420626520696e697469616c697a60448201526232b21760e91b606482015260840160405180910390fd5b600080826001600160a01b031660003660405161011d929190610256565b600060405180830381855af49150503d8060008114610158576040519150601f19603f3d011682016040523d82523d6000602084013e61015d565b606091505b5090925090506001821515141561017657805160208201f35b805160208201fd5b600060208083526000845481600182811c9150808316806101a057607f831692505b8583108114156101be57634e487b7160e01b85526022600452602485fd5b8786018381526020018180156101db57600181146101ec57610217565b60ff19861682528782019650610217565b60008b81526020902060005b86811015610211578154848201529085019089016101f8565b83019750505b50949998505050505050505050565b60006020828403121561023857600080fd5b81516001600160a01b038116811461024f57600080fd5b9392505050565b818382376000910190815291905056fea2646970667358221220edb025fb8656bfe68e1f6fdcfa8ab0e0c6a5e51eccebff0b181072c10fc6096564736f6c634300080900330000000000000000000000006968f3f16c3e64003f02e121cf0d5ccbf5625a420000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001a42564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000

Deployed Bytecode

0x6080604081815230600090815260016020908152828220549082905291812063bf40fac160e01b909352916001600160a01b039091169063bf40fac19061004790608461017e565b60206040518083038186803b15801561005f57600080fd5b505afa158015610073573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100979190610226565b90506001600160a01b0381166100ff5760405162461bcd60e51b815260206004820152602360248201527f5461726765742061646472657373206d75737420626520696e697469616c697a60448201526232b21760e91b606482015260840160405180910390fd5b600080826001600160a01b031660003660405161011d929190610256565b600060405180830381855af49150503d8060008114610158576040519150601f19603f3d011682016040523d82523d6000602084013e61015d565b606091505b5090925090506001821515141561017657805160208201f35b805160208201fd5b600060208083526000845481600182811c9150808316806101a057607f831692505b8583108114156101be57634e487b7160e01b85526022600452602485fd5b8786018381526020018180156101db57600181146101ec57610217565b60ff19861682528782019650610217565b60008b81526020902060005b86811015610211578154848201529085019089016101f8565b83019750505b50949998505050505050505050565b60006020828403121561023857600080fd5b81516001600160a01b038116811461024f57600080fd5b9392505050565b818382376000910190815291905056fea2646970667358221220edb025fb8656bfe68e1f6fdcfa8ab0e0c6a5e51eccebff0b181072c10fc6096564736f6c63430008090033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000006968f3f16c3e64003f02e121cf0d5ccbf5625a420000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001a42564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000

-----Decoded View---------------
Arg [0] : _libAddressManager (address): 0x6968f3F16C3e64003F02E121cf0D5CCBf5625a42
Arg [1] : _implementationName (string): BVM_L1CrossDomainMessenger

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000006968f3f16c3e64003f02e121cf0d5ccbf5625a42
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [2] : 000000000000000000000000000000000000000000000000000000000000001a
Arg [3] : 42564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000


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.