Transaction Hash:
Block:
21282171 at Nov-27-2024 10:49:35 PM +UTC
Transaction Fee:
0.003190869699301795 ETH
$11.00
Gas Used:
170,155 Gas / 18.752723689 Gwei
Emitted Events:
279 |
FiatTokenProxy.0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef( 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, 0x0000000000000000000000001a9b315367fc746b479dbb6a143a10cd4642aad8, 0x0000000000000000000000002b3f201543adf73160ba42e1a5b7750024f30420, 000000000000000000000000000000000000000000000000000000012a05f200 )
|
280 |
L1ChugSplashProxy.0x718594027abd4eaed59f95162563e0cc6d0e8d5b86b1c7be8b1b0ac3343d0396( 0x718594027abd4eaed59f95162563e0cc6d0e8d5b86b1c7be8b1b0ac3343d0396, 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48, 0x000000000000000000000000b62f35b9546a908d11c5803ecbba735abc3e3eae, 0x0000000000000000000000001a9b315367fc746b479dbb6a143a10cd4642aad8, 0000000000000000000000001a9b315367fc746b479dbb6a143a10cd4642aad8, 000000000000000000000000000000000000000000000000000000012a05f200, 0000000000000000000000000000000000000000000000000000000000000060, 000000000000000000000000000000000000000000000000000000000000000b, 7375706572627269646765000000000000000000000000000000000000000000 )
|
281 |
L1ChugSplashProxy.0x7ff126db8024424bbfd9826e8ab82ff59136289ea440b04b39a0df1b03b9cabf( 0x7ff126db8024424bbfd9826e8ab82ff59136289ea440b04b39a0df1b03b9cabf, 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48, 0x000000000000000000000000b62f35b9546a908d11c5803ecbba735abc3e3eae, 0x0000000000000000000000001a9b315367fc746b479dbb6a143a10cd4642aad8, 0000000000000000000000001a9b315367fc746b479dbb6a143a10cd4642aad8, 000000000000000000000000000000000000000000000000000000012a05f200, 0000000000000000000000000000000000000000000000000000000000000060, 000000000000000000000000000000000000000000000000000000000000000b, 7375706572627269646765000000000000000000000000000000000000000000 )
|
282 |
Proxy.0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32( 0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32, 0x000000000000000000000000091ce9f7a74ab776b69d3f0dc5c08c39b3a0cb2a, 0x0000000000000000000000004200000000000000000000000000000000000007, 0x0000000000000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000020, 000000000000000000000000000000000000000000000000000000000000024d, 0000000000000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000000, 000000000007832e00d764ad0b00010000000000000000000000000000000000, 00000000000000000000002ea20000000000000000000000002b3f201543adf7, 3160ba42e1a5b7750024f3042000000000000000000000000042000000000000, 0000000000000000000000001000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000000, 00000000000000000000030d4000000000000000000000000000000000000000, 000000000000000000000000c000000000000000000000000000000000000000, 000000000000000000000001040166a07a000000000000000000000000b62f35, b9546a908d11c5803ecbba735abc3e3eae000000000000000000000000a0b869, 91c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000001a9b31, 5367fc746b479dbb6a143a10cd4642aad80000000000000000000000001a9b31, 5367fc746b479dbb6a143a10cd4642aad8000000000000000000000000000000, 000000000000000000000000012a05f200000000000000000000000000000000, 00000000000000000000000000000000c0000000000000000000000000000000, 000000000000000000000000000000000b737570657262726964676500000000, 0000000000000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000000 )
|
283 |
ResolvedDelegateProxy.0xcb0f7ffd78f9aee47a248fae8db181db6eee833039123e026dcbff529522e52a( 0xcb0f7ffd78f9aee47a248fae8db181db6eee833039123e026dcbff529522e52a, 0x0000000000000000000000004200000000000000000000000000000000000010, 0000000000000000000000002b3f201543adf73160ba42e1a5b7750024f30420, 0000000000000000000000000000000000000000000000000000000000000080, 0001000000000000000000000000000000000000000000000000000000002ea2, 0000000000000000000000000000000000000000000000000000000000030d40, 0000000000000000000000000000000000000000000000000000000000000104, 0166a07a000000000000000000000000b62f35b9546a908d11c5803ecbba735a, bc3e3eae000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce, 3606eb480000000000000000000000001a9b315367fc746b479dbb6a143a10cd, 4642aad80000000000000000000000001a9b315367fc746b479dbb6a143a10cd, 4642aad800000000000000000000000000000000000000000000000000000001, 2a05f20000000000000000000000000000000000000000000000000000000000, 000000c000000000000000000000000000000000000000000000000000000000, 0000000b73757065726272696467650000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000000 )
|
284 |
ResolvedDelegateProxy.0x8ebb2ec2465bdb2a06a66fc37a0963af8a2a6a1479d81d56fdb8cbb98096d546( 0x8ebb2ec2465bdb2a06a66fc37a0963af8a2a6a1479d81d56fdb8cbb98096d546, 0x0000000000000000000000002b3f201543adf73160ba42e1a5b7750024f30420, 0000000000000000000000000000000000000000000000000000000000000000 )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x1A9b3153...d4642AAd8 |
1,532.001249440896448417 Eth
Nonce: 5311
|
1,531.998058571197146622 Eth
Nonce: 5312
| 0.003190869699301795 | ||
0x2b3F2015...024F30420 | |||||
0x59625d1F...9b3471781 | |||||
0x95222290...5CC4BAfe5
Miner
| (beaverbuild) | 17.630587785951078301 Eth | 17.630971286181524086 Eth | 0.000383500230445785 | |
0xA0b86991...E3606eB48 | |||||
0xf80be9f7...9b3A0bA19 |
Execution Trace
L1ChugSplashProxy.838b2520( )
-
ProxyAdmin.STATICCALL( )
L1StandardBridge.depositERC20To( _l1Token=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48, _l2Token=0xb62F35B9546A908d11c5803ecBBA735AbC3E3eaE, _to=0x1A9b315367Fc746b479DBB6a143A10cd4642AAd8, _amount=5000000000, _minGasLimit=200000, _extraData=0x7375706572627269646765 )
FiatTokenProxy.01ffc9a7( )
-
FiatTokenV2_2.01ffc9a7( )
-
FiatTokenProxy.01ffc9a7( )
-
FiatTokenV2_2.01ffc9a7( )
-
FiatTokenProxy.23b872dd( )
-
FiatTokenV2_2.transferFrom( from=0x1A9b315367Fc746b479DBB6a143A10cd4642AAd8, to=0x2b3F201543adF73160bA42E1a5b7750024F30420, value=5000000000 ) => ( True )
-
ResolvedDelegateProxy.3dbb202b( )
-
AddressManager.getAddress( _name=OVM_L1CrossDomainMessenger ) => ( 0x958487e21ba9E073836d598E31f749726f23413f )
L1CrossDomainMessenger.sendMessage( _target=0x4200000000000000000000000000000000000010, _message=0x0166A07A000000000000000000000000B62F35B9546A908D11C5803ECBBA735ABC3E3EAE000000000000000000000000A0B86991C6218B36C1D19D4A2E9EB0CE3606EB480000000000000000000000001A9B315367FC746B479DBB6A143A10CD4642AAD80000000000000000000000001A9B315367FC746B479DBB6A143A10CD4642AAD8000000000000000000000000000000000000000000000000000000012A05F20000000000000000000000000000000000000000000000000000000000000000C0000000000000000000000000000000000000000000000000000000000000000B7375706572627269646765000000000000000000000000000000000000000000, _minGasLimit=200000 )
Proxy.e9e05c42( )
OptimismPortal.depositTransaction( _to=0x4200000000000000000000000000000000000007, _value=0, _gasLimit=492334, _isCreation=False, _data=0xD764AD0B0001000000000000000000000000000000000000000000000000000000002EA20000000000000000000000002B3F201543ADF73160BA42E1A5B7750024F30420000000000000000000000000420000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030D4000000000000000000000000000000000000000000000000000000000000000C000000000000000000000000000000000000000000000000000000000000001040166A07A000000000000000000000000B62F35B9546A908D11C5803ECBBA735ABC3E3EAE000000000000000000000000A0B86991C6218B36C1D19D4A2E9EB0CE3606EB480000000000000000000000001A9B315367FC746B479DBB6A143A10CD4642AAD80000000000000000000000001A9B315367FC746B479DBB6A143A10CD4642AAD8000000000000000000000000000000000000000000000000000000012A05F20000000000000000000000000000000000000000000000000000000000000000C0000000000000000000000000000000000000000000000000000000000000000B737570657262726964676500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 )
-
Proxy.STATICCALL( )
-
-
File 1 of 11: L1ChugSplashProxy
File 2 of 11: FiatTokenProxy
File 3 of 11: Proxy
File 4 of 11: ResolvedDelegateProxy
File 5 of 11: ProxyAdmin
File 6 of 11: L1StandardBridge
File 7 of 11: FiatTokenV2_2
File 8 of 11: AddressManager
File 9 of 11: L1CrossDomainMessenger
File 10 of 11: OptimismPortal
File 11 of 11: Proxy
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity 0.8.15;/*** @title IL1ChugSplashDeployer*/interface 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
File 2 of 11: FiatTokenProxy
12345678910111213141516pragma solidity ^0.4.24;// File: zos-lib/contracts/upgradeability/Proxy.sol/*** @title Proxy* @dev Implements delegation of calls to other contracts, with proper* forwarding of return values and bubbling of failures.* It defines a fallback function that delegates all calls to the address* returned by the abstract _implementation() internal function.*/contract Proxy {/*** @dev Fallback function.* Implemented entirely in `_fallback`.*/
File 3 of 11: Proxy
12345678910111213141516// SPDX-License-Identifier: MITpragma 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;/**
File 4 of 11: ResolvedDelegateProxy
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity 0.8.15;import { AddressManager } from "./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
File 5 of 11: ProxyAdmin
12345678910111213141516// SPDX-License-Identifier: MITpragma 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;
File 6 of 11: L1StandardBridge
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity 0.8.15;import { Predeploys } from "../libraries/Predeploys.sol";import { StandardBridge } from "../universal/StandardBridge.sol";import { Semver } from "../universal/Semver.sol";/*** @custom:proxied* @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* OptimismPortal contract.* NOTE: this contract is not intended to support all variations of ERC20 tokens. Examples* of some token types that may not be properly supported by this contract include, but are* not limited to: tokens with transfer fees, rebasing tokens, and tokens with blocklists.
File 7 of 11: FiatTokenV2_2
12345678910111213141516/*** SPDX-License-Identifier: Apache-2.0** Copyright (c) 2023, Circle Internet Financial, LLC.** Licensed under the Apache License, Version 2.0 (the "License");* you may not use this file except in compliance with the License.* You may obtain a copy of the License at** http://www.apache.org/licenses/LICENSE-2.0** Unless required by applicable law or agreed to in writing, software* distributed under the License is distributed on an "AS IS" BASIS,* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.* See the License for the specific language governing permissions and* limitations under the License.
File 8 of 11: AddressManager
12345678910111213141516// SPDX-License-Identifier: MITpragma 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;
File 9 of 11: L1CrossDomainMessenger
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity 0.8.15;import { Predeploys } from "../libraries/Predeploys.sol";import { OptimismPortal } from "./OptimismPortal.sol";import { CrossDomainMessenger } from "../universal/CrossDomainMessenger.sol";import { Semver } from "../universal/Semver.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, Semver {/*** @notice Address of the OptimismPortal.
File 10 of 11: OptimismPortal
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity 0.8.15;import { Initializable } from "@openzeppelin/contracts/proxy/utils/Initializable.sol";import { SafeCall } from "../libraries/SafeCall.sol";import { L2OutputOracle } from "./L2OutputOracle.sol";import { SystemConfig } from "./SystemConfig.sol";import { Constants } from "../libraries/Constants.sol";import { Types } from "../libraries/Types.sol";import { Hashing } from "../libraries/Hashing.sol";import { SecureMerkleTrie } from "../libraries/trie/SecureMerkleTrie.sol";import { AddressAliasHelper } from "../vendor/AddressAliasHelper.sol";import { ResourceMetering } from "./ResourceMetering.sol";import { Semver } from "../universal/Semver.sol";/// @custom:proxied/// @title OptimismPortal/// @notice The OptimismPortal is a low-level contract responsible for passing messages between L1
File 11 of 11: Proxy
12345678910111213141516// SPDX-License-Identifier: MITpragma 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;/**