ETH Price: $2,497.50 (-0.80%)

Transaction Decoder

Block:
22534654 at May-21-2025 11:51:23 PM +UTC
Transaction Fee:
0.000906342110502645 ETH $2.26
Gas Used:
503,059 Gas / 1.801661655 Gwei

Emitted Events:

181 L1ChugSplashProxy.0x35d79ab81f2b2017e19afb5c5571778877782d7a8786f5907f93b0f4702f4f23( 0x35d79ab81f2b2017e19afb5c5571778877782d7a8786f5907f93b0f4702f4f23, 0x00000000000000000000000092cbcd133ead3a6b4379488458081a2d78a00554, 0x00000000000000000000000092cbcd133ead3a6b4379488458081a2d78a00554, 000000000000000000000000000000000000000000000000000221b262dd8000, 0000000000000000000000000000000000000000000000000000000000000040, 0000000000000000000000000000000000000000000000000000000000000007, 6272696467670a00000000000000000000000000000000000000000000000000 )
182 L1ChugSplashProxy.0x2849b43074093a05396b6f2a937dee8565b15a48a7b3d4bffb732a5017380af5( 0x2849b43074093a05396b6f2a937dee8565b15a48a7b3d4bffb732a5017380af5, 0x00000000000000000000000092cbcd133ead3a6b4379488458081a2d78a00554, 0x00000000000000000000000092cbcd133ead3a6b4379488458081a2d78a00554, 000000000000000000000000000000000000000000000000000221b262dd8000, 0000000000000000000000000000000000000000000000000000000000000040, 0000000000000000000000000000000000000000000000000000000000000007, 6272696467670a00000000000000000000000000000000000000000000000000 )
183 Proxy.0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32( 0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32, 0x00000000000000000000000036bde71c97b33cc4729cf772ae268934f7ab70b2, 0x0000000000000000000000004200000000000000000000000000000000000007, 0x0000000000000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000020, 000000000000000000000000000000000000000000000000000000000000020d, 000000000000000000000000000000000000000000000000000221b262dd8000, 000000000000000000000000000000000000000000000000000221b262dd8000, 000000000007e17600d764ad0b00010000000000000000000000000000000000, 0000000000000000000002ad6b00000000000000000000000099c9fc46f92e8a, 1c0dec1b1747d010903e884be100000000000000000000000042000000000000, 0000000000000000000000001000000000000000000000000000000000000000, 0000000000000221b262dd800000000000000000000000000000000000000000, 00000000000000000000030d4000000000000000000000000000000000000000, 000000000000000000000000c000000000000000000000000000000000000000, 000000000000000000000000c41635f5fd00000000000000000000000092cbcd, 133ead3a6b4379488458081a2d78a0055400000000000000000000000092cbcd, 133ead3a6b4379488458081a2d78a00554000000000000000000000000000000, 000000000000000000000221b262dd8000000000000000000000000000000000, 0000000000000000000000000000000080000000000000000000000000000000, 00000000000000000000000000000000076272696467670a0000000000000000, 0000000000000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000000 )
184 Lib_ResolvedDelegateProxy.0xcb0f7ffd78f9aee47a248fae8db181db6eee833039123e026dcbff529522e52a( 0xcb0f7ffd78f9aee47a248fae8db181db6eee833039123e026dcbff529522e52a, 0x0000000000000000000000004200000000000000000000000000000000000010, 00000000000000000000000099c9fc46f92e8a1c0dec1b1747d010903e884be1, 0000000000000000000000000000000000000000000000000000000000000080, 000100000000000000000000000000000000000000000000000000000002ad6b, 0000000000000000000000000000000000000000000000000000000000030d40, 00000000000000000000000000000000000000000000000000000000000000c4, 1635f5fd00000000000000000000000092cbcd133ead3a6b4379488458081a2d, 78a0055400000000000000000000000092cbcd133ead3a6b4379488458081a2d, 78a00554000000000000000000000000000000000000000000000000000221b2, 62dd800000000000000000000000000000000000000000000000000000000000, 0000008000000000000000000000000000000000000000000000000000000000, 000000076272696467670a000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000000 )
185 Lib_ResolvedDelegateProxy.0x8ebb2ec2465bdb2a06a66fc37a0963af8a2a6a1479d81d56fdb8cbb98096d546( 0x8ebb2ec2465bdb2a06a66fc37a0963af8a2a6a1479d81d56fdb8cbb98096d546, 0x00000000000000000000000099c9fc46f92e8a1c0dec1b1747d010903e884be1, 000000000000000000000000000000000000000000000000000221b262dd8000 )

Account State Difference:

  Address   Before After State Difference Code
0x25ace71c...4F7ab5fA1
(Optimism: Proxy OVM L1 Cross Domain Messenger)
(Titan Builder)
11.129092078409295505 Eth11.129343607909295505 Eth0.0002515295
0x92CBCD13...d78a00554
0.118288814619483367 Eth
Nonce: 722
0.116782472508980722 Eth
Nonce: 723
0.001506342110502645
0xbEb5Fc57...e41f106Ed
(Optimism: Portal)
261,413.076224232935915988 Eth261,413.076824232935915988 Eth0.0006

Execution Trace

ETH 0.0006 L1ChugSplashProxy.e11013dd( )
  • ProxyAdmin.STATICCALL( )
  • ETH 0.0006 L1StandardBridge.bridgeETHTo( _to=0x92CBCD133EAD3A6B4379488458081a2d78a00554, _minGasLimit=200000, _extraData=0x6272696467670A )
    • ETH 0.0006 Lib_ResolvedDelegateProxy.3dbb202b( )
      • Lib_AddressManager.getAddress( _name=OVM_L1CrossDomainMessenger ) => ( 0x5D5a095665886119693F0B41d8DFeE78da033e8B )
      • ETH 0.0006 L1CrossDomainMessenger.sendMessage( _target=0x4200000000000000000000000000000000000010, _message=0x1635F5FD00000000000000000000000092CBCD133EAD3A6B4379488458081A2D78A0055400000000000000000000000092CBCD133EAD3A6B4379488458081A2D78A00554000000000000000000000000000000000000000000000000000221B262DD8000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000076272696467670A00000000000000000000000000000000000000000000000000, _minGasLimit=200000 )
        • ETH 0.0006 Proxy.e9e05c42( )
          • ETH 0.0006 OptimismPortal2.depositTransaction( _to=0x4200000000000000000000000000000000000007, _value=600000000000000, _gasLimit=516470, _isCreation=False, _data=0xD764AD0B000100000000000000000000000000000000000000000000000000000002AD6B00000000000000000000000099C9FC46F92E8A1C0DEC1B1747D010903E884BE10000000000000000000000004200000000000000000000000000000000000010000000000000000000000000000000000000000000000000000221B262DD80000000000000000000000000000000000000000000000000000000000000030D4000000000000000000000000000000000000000000000000000000000000000C000000000000000000000000000000000000000000000000000000000000000C41635F5FD00000000000000000000000092CBCD133EAD3A6B4379488458081A2D78A0055400000000000000000000000092CBCD133EAD3A6B4379488458081A2D78A00554000000000000000000000000000000000000000000000000000221B262DD8000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000076272696467670A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 )
            • Proxy.STATICCALL( )
              File 1 of 9: L1ChugSplashProxy
              1
              2
              3
              4
              5
              6
              7
              8
              9
              10
              11
              12
              13
              14
              15
              16
              // SPDX-License-Identifier: MIT
              pragma solidity >0.5.0 <0.8.0;
              import { iL1ChugSplashDeployer } from "./interfaces/iL1ChugSplashDeployer.sol";
              /**
              * @title L1ChugSplashProxy
              * @dev 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. Nifty!
              *
              * 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 have that modifier. Beware!
              */
              contract L1ChugSplashProxy {
              /*************
              XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

              File 2 of 9: Proxy
              1
              2
              3
              4
              5
              6
              7
              8
              9
              10
              11
              12
              13
              14
              15
              16
              // SPDX-License-Identifier: MIT
              pragma solidity 0.8.15;
              /**
              * @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 The storage slot that holds the address of the implementation.
              * bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)
              */
              bytes32 internal constant IMPLEMENTATION_KEY =
              0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;
              /**
              XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

              File 3 of 9: Lib_ResolvedDelegateProxy
              1
              2
              3
              4
              5
              6
              7
              8
              9
              10
              11
              12
              13
              14
              15
              16
              // SPDX-License-Identifier: MIT
              pragma solidity >=0.6.0 <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 {
              XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

              File 4 of 9: ProxyAdmin
              1
              2
              3
              4
              5
              6
              7
              8
              9
              10
              11
              12
              13
              14
              15
              16
              // SPDX-License-Identifier: MIT
              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;
              XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

              File 5 of 9: L1StandardBridge
              1
              2
              3
              4
              5
              6
              7
              8
              9
              10
              11
              12
              13
              14
              15
              16
              // SPDX-License-Identifier: MIT
              pragma solidity 0.8.15;
              // Contracts
              import { StandardBridge } from "src/universal/StandardBridge.sol";
              // Libraries
              import { Predeploys } from "src/libraries/Predeploys.sol";
              // Interfaces
              import { ISemver } from "interfaces/universal/ISemver.sol";
              import { ICrossDomainMessenger } from "interfaces/universal/ICrossDomainMessenger.sol";
              import { ISuperchainConfig } from "interfaces/L1/ISuperchainConfig.sol";
              /// @custom:proxied true
              /// @title L1StandardBridge
              /// @notice The L1StandardBridge is responsible for transfering ETH and ERC20 tokens between L1 and
              /// L2. In the case that an ERC20 token is native to L1, it will be escrowed within this
              /// contract. If the ERC20 token is native to L2, it will be burnt. Before Bedrock, ETH was
              /// stored within this contract. After Bedrock, ETH is instead stored inside the
              XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

              File 6 of 9: Lib_AddressManager
              1
              2
              3
              4
              5
              6
              7
              8
              9
              10
              11
              12
              13
              14
              15
              16
              // SPDX-License-Identifier: MIT
              pragma solidity >=0.6.0 <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 {
              XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

              File 7 of 9: L1CrossDomainMessenger
              1
              2
              3
              4
              5
              6
              7
              8
              9
              10
              11
              12
              13
              14
              15
              16
              // SPDX-License-Identifier: MIT
              pragma solidity 0.8.15;
              // Contracts
              import { CrossDomainMessenger } from "src/universal/CrossDomainMessenger.sol";
              // Libraries
              import { Predeploys } from "src/libraries/Predeploys.sol";
              // Interfaces
              import { ISemver } from "interfaces/universal/ISemver.sol";
              import { ISuperchainConfig } from "interfaces/L1/ISuperchainConfig.sol";
              import { IOptimismPortal2 as IOptimismPortal } from "interfaces/L1/IOptimismPortal2.sol";
              /// @custom:proxied true
              /// @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 {
              XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

              File 8 of 9: OptimismPortal2
              1
              2
              3
              4
              5
              6
              7
              8
              9
              10
              11
              12
              13
              14
              15
              16
              // SPDX-License-Identifier: MIT
              pragma solidity 0.8.15;
              // Contracts
              import { Initializable } from "@openzeppelin/contracts/proxy/utils/Initializable.sol";
              import { ResourceMetering } from "src/L1/ResourceMetering.sol";
              // Libraries
              import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
              import { EOA } from "src/libraries/EOA.sol";
              import { SafeCall } from "src/libraries/SafeCall.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 {
              BadTarget,
              XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

              File 9 of 9: Proxy
              1
              2
              3
              4
              5
              6
              7
              8
              9
              10
              11
              12
              13
              14
              15
              16
              // SPDX-License-Identifier: MIT
              pragma solidity 0.8.15;
              /**
              * @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 The storage slot that holds the address of the implementation.
              * bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)
              */
              bytes32 internal constant IMPLEMENTATION_KEY =
              0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;
              /**
              XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX