Transaction Hash:
Block:
19335884 at Feb-29-2024 09:34:59 PM +UTC
Transaction Fee:
0.054118373987849415 ETH
$161.87
Gas Used:
656,321 Gas / 82.457172615 Gwei
Emitted Events:
180 |
L1ChugSplashProxy.0x2849b43074093a05396b6f2a937dee8565b15a48a7b3d4bffb732a5017380af5( 0x2849b43074093a05396b6f2a937dee8565b15a48a7b3d4bffb732a5017380af5, 0x0000000000000000000000009296b6aad727a5e994ab83271be474bcfad2577b, 0x0000000000000000000000009296b6aad727a5e994ab83271be474bcfad2577b, 000000000000000000000000000000000000000000000000008e1bc9bf040000, 0000000000000000000000000000000000000000000000000000000000000040, 0000000000000000000000000000000000000000000000000000000000000000 )
|
181 |
Proxy.0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32( 0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32, 0x0000000000000000000000006e5572f31bd9385709ec61305afc749f0fa8fae1, 0x0000000000000000000000004200000000000000000000000000000000000007, 0x0000000000000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000020, 00000000000000000000000000000000000000000000000000000000000001ed, 000000000000000000000000000000000000000000000000008e1bc9bf040000, 000000000000000000000000000000000000000000000000008e1bc9bf040000, 000000000007cb4e00d764ad0b00010000000000000000000000000000000000, 00000000000000000000002f330000000000000000000000003a05e5d33d7ab3, 864d53aaec93c8301c1fa4911500000000000000000000000043000000000000, 0000000000000000000000000500000000000000000000000000000000000000, 0000000000008e1bc9bf04000000000000000000000000000000000000000000, 00000000000000000000030d4000000000000000000000000000000000000000, 000000000000000000000000c000000000000000000000000000000000000000, 000000000000000000000000a41635f5fd0000000000000000000000009296b6, aad727a5e994ab83271be474bcfad2577b0000000000000000000000009296b6, aad727a5e994ab83271be474bcfad2577b000000000000000000000000000000, 000000000000000000008e1bc9bf040000000000000000000000000000000000, 0000000000000000000000000000000080000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000000 )
|
182 |
ResolvedDelegateProxy.0xcb0f7ffd78f9aee47a248fae8db181db6eee833039123e026dcbff529522e52a( 0xcb0f7ffd78f9aee47a248fae8db181db6eee833039123e026dcbff529522e52a, 0x0000000000000000000000004300000000000000000000000000000000000005, 0000000000000000000000003a05e5d33d7ab3864d53aaec93c8301c1fa49115, 0000000000000000000000000000000000000000000000000000000000000080, 0001000000000000000000000000000000000000000000000000000000002f33, 0000000000000000000000000000000000000000000000000000000000030d40, 00000000000000000000000000000000000000000000000000000000000000a4, 1635f5fd0000000000000000000000009296b6aad727a5e994ab83271be474bc, fad2577b0000000000000000000000009296b6aad727a5e994ab83271be474bc, fad2577b000000000000000000000000000000000000000000000000008e1bc9, bf04000000000000000000000000000000000000000000000000000000000000, 0000008000000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000000 )
|
183 |
ResolvedDelegateProxy.0x8ebb2ec2465bdb2a06a66fc37a0963af8a2a6a1479d81d56fdb8cbb98096d546( 0x8ebb2ec2465bdb2a06a66fc37a0963af8a2a6a1479d81d56fdb8cbb98096d546, 0x0000000000000000000000003a05e5d33d7ab3864d53aaec93c8301c1fa49115, 000000000000000000000000000000000000000000000000008e1bc9bf040000 )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x0Ec68c5B...08C0Db6Cb | (Blast: Optimism Portal Proxy) | ||||
0x5D4472f3...F0fA8e9d0 | (Blast: L1 Cross Domain Messenger Proxy) | ||||
0x9296b6aa...cFAd2577B |
0.2936605 Eth
Nonce: 0
|
0.199542126012150585 Eth
Nonce: 1
| 0.094118373987849415 | ||
0x95222290...5CC4BAfe5
Miner
| (beaverbuild) | 9.797455149477847431 Eth | 9.797462100819678806 Eth | 0.000006951341831375 | |
0x98078db0...289E1C8FE | (Blast: ETH Yield Manager Proxy) | 5,613.431029430015550569 Eth | 5,613.471029430015550569 Eth | 0.04 |
Execution Trace
ETH 0.04
L1ChugSplashProxy.CALL( )
-
ProxyAdmin.STATICCALL( )
ETH 0.04
L1BlastBridge.DELEGATECALL( )
ETH 0.04
ResolvedDelegateProxy.3dbb202b( )
-
AddressManager.getAddress( _name=OVM_L1CrossDomainMessenger ) => ( 0x84efcFCE2dEe08072d5D57BF232D379b6E92A836 )
ETH 0.04
L1CrossDomainMessenger.sendMessage( _target=0x4300000000000000000000000000000000000005, _message=0x1635F5FD0000000000000000000000009296B6AAD727A5E994AB83271BE474BCFAD2577B0000000000000000000000009296B6AAD727A5E994AB83271BE474BCFAD2577B000000000000000000000000000000000000000000000000008E1BC9BF04000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000, _minGasLimit=200000 )
ETH 0.04
Proxy.e9e05c42( )
ETH 0.04
OptimismPortal.depositTransaction( _to=0x4200000000000000000000000000000000000007, _value=40000000000000000, _gasLimit=510798, _isCreation=False, _data=0xD764AD0B0001000000000000000000000000000000000000000000000000000000002F330000000000000000000000003A05E5D33D7AB3864D53AAEC93C8301C1FA491150000000000000000000000004300000000000000000000000000000000000005000000000000000000000000000000000000000000000000008E1BC9BF0400000000000000000000000000000000000000000000000000000000000000030D4000000000000000000000000000000000000000000000000000000000000000C000000000000000000000000000000000000000000000000000000000000000A41635F5FD0000000000000000000000009296B6AAD727A5E994AB83271BE474BCFAD2577B0000000000000000000000009296B6AAD727A5E994AB83271BE474BCFAD2577B000000000000000000000000000000000000000000000000008E1BC9BF0400000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 )
- ETH 0.04
L1ChugSplashProxy.CALL( )
-
Proxy.STATICCALL( )
- ETH 0.04
-
File 1 of 10: L1ChugSplashProxy
File 2 of 10: Proxy
File 3 of 10: ResolvedDelegateProxy
File 4 of 10: ProxyAdmin
File 5 of 10: L1BlastBridge
File 6 of 10: AddressManager
File 7 of 10: L1CrossDomainMessenger
File 8 of 10: OptimismPortal
File 9 of 10: L1ChugSplashProxy
File 10 of 10: Proxy
12345678910111213141516// SPDX-License-Identifier: BSL 1.1 - Copyright 2024 MetaLayer Labs Ltd.pragma solidity 0.8.15;import { Constants } from "src/libraries/Constants.sol";/// @title IL1ChugSplashDeployerinterface IL1ChugSplashDeployer {function isUpgrading() external view returns (bool);}/// @custom:legacy/// @title L1ChugSplashProxy/// @notice Basic ChugSplash proxy contract for L1. Very close to being a normal proxy but has added/// functions `setCode` and `setStorage` for changing the code or storage of the contract./// Note for future developers: do NOT make anything in this contract 'public' unless you/// know what you're doing. Anything public can potentially have a function signature that/// conflicts with a signature attached to the implementation contract. Public functions/// SHOULD always have the `proxyCallIfNotOwner` modifier unless there's some *really* good/// reason not to have that modifier. And there almost certainly is not a good reason to not
File 2 of 10: Proxy
12345678910111213141516// SPDX-License-Identifier: BSL 1.1 - Copyright 2024 MetaLayer Labs Ltd.pragma solidity 0.8.15;import { Constants } from "src/libraries/Constants.sol";/// @title Proxy/// @notice Proxy is a transparent proxy that passes through the call if the caller is the owner or/// if the caller is address(0), meaning that the call originated from an off-chain/// simulation.contract Proxy {/// @notice An event that is emitted each time the implementation is changed. This event is part/// of the EIP-1967 specification./// @param implementation The address of the implementation contractevent Upgraded(address indexed implementation);/// @notice An event that is emitted each time the owner is upgraded. This event is part of the/// EIP-1967 specification./// @param previousAdmin The previous owner of the contract/// @param newAdmin The new owner of the contract
File 3 of 10: ResolvedDelegateProxy
12345678910111213141516// SPDX-License-Identifier: BSL 1.1 - Copyright 2024 MetaLayer Labs Ltd.pragma solidity 0.8.15;import { AddressManager } from "src/legacy/AddressManager.sol";/// @custom:legacy/// @title ResolvedDelegateProxy/// @notice ResolvedDelegateProxy is a legacy proxy contract that makes use of the AddressManager to/// resolve the implementation address. We're maintaining this contract for backwards/// compatibility so we can manage all legacy proxies where necessary.contract ResolvedDelegateProxy {/// @notice Mapping used to store the implementation name that corresponds to this contract. A/// mapping was originally used as a way to bypass the same issue normally solved by/// storing the implementation address in a specific storage slot that does not conflict/// with any other storage slot. Generally NOT a safe solution but works as long as the/// implementation does not also keep a mapping in the first storage slot.mapping(address => string) private implementationName;/// @notice Mapping used to store the address of the AddressManager contract where the
File 4 of 10: ProxyAdmin
12345678910111213141516// SPDX-License-Identifier: BSL 1.1 - Copyright 2024 MetaLayer Labs Ltd.pragma solidity 0.8.15;import { Ownable } from "@openzeppelin/contracts/access/Ownable.sol";import { Proxy } from "src/universal/Proxy.sol";import { AddressManager } from "src/legacy/AddressManager.sol";import { L1ChugSplashProxy } from "src/legacy/L1ChugSplashProxy.sol";import { Constants } from "src/libraries/Constants.sol";/// @title IStaticERC1967Proxy/// @notice IStaticERC1967Proxy is a static version of the ERC1967 proxy interface.interface IStaticERC1967Proxy {function implementation() external view returns (address);function admin() external view returns (address);}/// @title IStaticL1ChugSplashProxy/// @notice IStaticL1ChugSplashProxy is a static version of the ChugSplash proxy interface.interface IStaticL1ChugSplashProxy {
File 5 of 10: L1BlastBridge
12345678910111213141516// SPDX-License-Identifier: BSL 1.1 - Copyright 2024 MetaLayer Labs Ltd.pragma solidity 0.8.15;import { Address } from "@openzeppelin/contracts/utils/Address.sol";import { IERC20 } from "@openzeppelin/contracts/interfaces/IERC20.sol";import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";import { Predeploys } from "src/libraries/Predeploys.sol";import { SafeCall } from "src/libraries/SafeCall.sol";import { StandardBridge } from "src/universal/StandardBridge.sol";import { L2BlastBridge } from "src/mainnet-bridge/L2BlastBridge.sol";import { ISemver } from "src/universal/ISemver.sol";import { CrossDomainMessenger } from "src/universal/CrossDomainMessenger.sol";import { OptimismPortal } from "src/L1/OptimismPortal.sol";import { Predeploys } from "src/libraries/Predeploys.sol";import { USDYieldManager } from "src/mainnet-bridge/USDYieldManager.sol";import { ETHYieldManager } from "src/mainnet-bridge/ETHYieldManager.sol";import { USDB } from "src/L2/USDB.sol";
File 6 of 10: AddressManager
12345678910111213141516// SPDX-License-Identifier: BSL 1.1 - Copyright 2024 MetaLayer Labs Ltd.pragma solidity 0.8.15;import { Ownable } from "@openzeppelin/contracts/access/Ownable.sol";/// @custom:legacy/// @title AddressManager/// @notice AddressManager is a legacy contract that was used in the old version of the Optimism/// system to manage a registry of string names to addresses. We now use a more standard/// proxy system instead, but this contract is still necessary for backwards compatibility/// with several older contracts.contract AddressManager is Ownable {/// @notice Mapping of the hashes of string names to addresses.mapping(bytes32 => address) private addresses;/// @notice Emitted when an address is modified in the registry./// @param name String name being set in the registry./// @param newAddress Address set for the given name./// @param oldAddress Address that was previously set for the given name.
File 7 of 10: L1CrossDomainMessenger
12345678910111213141516// SPDX-License-Identifier: BSL 1.1 - Copyright 2024 MetaLayer Labs Ltd.pragma solidity 0.8.15;import { Predeploys } from "src/libraries/Predeploys.sol";import { SafeCall } from "src/libraries/SafeCall.sol";import { Hashing } from "src/libraries/Hashing.sol";import { Encoding } from "src/libraries/Encoding.sol";import { OptimismPortal } from "src/L1/OptimismPortal.sol";import { CrossDomainMessenger } from "src/universal/CrossDomainMessenger.sol";import { ISemver } from "src/universal/ISemver.sol";import { Constants } from "src/libraries/Constants.sol";/// @custom:proxied/// @title L1CrossDomainMessenger/// @notice The L1CrossDomainMessenger is a message passing interface between L1 and L2 responsible/// for sending and receiving data on the L1 side. Users are encouraged to use this/// interface instead of interacting with lower-level contracts directly.contract L1CrossDomainMessenger is CrossDomainMessenger, ISemver {
File 8 of 10: OptimismPortal
12345678910111213141516// SPDX-License-Identifier: BSL 1.1 - Copyright 2024 MetaLayer Labs Ltd.pragma solidity 0.8.15;import { Initializable } from "@openzeppelin/contracts/proxy/utils/Initializable.sol";import { SafeCall } from "src/libraries/SafeCall.sol";import { L2OutputOracle } from "src/L1/L2OutputOracle.sol";import { SystemConfig } from "src/L1/SystemConfig.sol";import { Constants } from "src/libraries/Constants.sol";import { Types } from "src/libraries/Types.sol";import { Hashing } from "src/libraries/Hashing.sol";import { SecureMerkleTrie } from "src/libraries/trie/SecureMerkleTrie.sol";import { AddressAliasHelper } from "src/vendor/AddressAliasHelper.sol";import { ResourceMetering } from "src/L1/ResourceMetering.sol";import { ISemver } from "src/universal/ISemver.sol";import { ETHYieldManager } from "src/mainnet-bridge/ETHYieldManager.sol";import { Predeploys } from "src/libraries/Predeploys.sol";/// @custom:proxied
File 9 of 10: L1ChugSplashProxy
12345678910111213141516// SPDX-License-Identifier: BSL 1.1 - Copyright 2024 MetaLayer Labs Ltd.pragma solidity 0.8.15;import { Constants } from "src/libraries/Constants.sol";/// @title IL1ChugSplashDeployerinterface IL1ChugSplashDeployer {function isUpgrading() external view returns (bool);}/// @custom:legacy/// @title L1ChugSplashProxy/// @notice Basic ChugSplash proxy contract for L1. Very close to being a normal proxy but has added/// functions `setCode` and `setStorage` for changing the code or storage of the contract./// Note for future developers: do NOT make anything in this contract 'public' unless you/// know what you're doing. Anything public can potentially have a function signature that/// conflicts with a signature attached to the implementation contract. Public functions/// SHOULD always have the `proxyCallIfNotOwner` modifier unless there's some *really* good/// reason not to have that modifier. And there almost certainly is not a good reason to not
File 10 of 10: Proxy
12345678910111213141516// SPDX-License-Identifier: BSL 1.1 - Copyright 2024 MetaLayer Labs Ltd.pragma solidity 0.8.15;import { Constants } from "src/libraries/Constants.sol";/// @title Proxy/// @notice Proxy is a transparent proxy that passes through the call if the caller is the owner or/// if the caller is address(0), meaning that the call originated from an off-chain/// simulation.contract Proxy {/// @notice An event that is emitted each time the implementation is changed. This event is part/// of the EIP-1967 specification./// @param implementation The address of the implementation contractevent Upgraded(address indexed implementation);/// @notice An event that is emitted each time the owner is upgraded. This event is part of the/// EIP-1967 specification./// @param previousAdmin The previous owner of the contract/// @param newAdmin The new owner of the contract