ETH Price: $3,459.35 (-0.90%)

Transaction Decoder

Block:
19331906 at Feb-29-2024 08:13:35 AM +UTC
Transaction Fee:
0.006038345692737006 ETH $20.89
Gas Used:
111,554 Gas / 54.129351639 Gwei

Account State Difference:

  Address   Before After State Difference Code
0x478Ce50D...dc047ae1A
0.171779945629367002 Eth
Nonce: 166
0.165741599936629996 Eth
Nonce: 167
0.006038345692737006
(beaverbuild)
6.960394198373342644 Eth6.960728860373342644 Eth0.000334662

Execution Trace

L1ChugSplashProxy.87087623( )
  • ProxyAdmin.STATICCALL( )
  • L1BlastBridge.bridgeERC20( _localToken=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48, _remoteToken=0x4300000000000000000000000000000000000003, _amount=9500000, _minGasLimit=500000, _extraData=0x83D6C7AAB6360000 )
    • FiatTokenProxy.23b872dd( )
      • FiatTokenV2_2.transferFrom( from=0x478Ce50D3cE95224312A3f44ADe1e3ddc047ae1A, to=0xa230285d5683C74935aD14c446e137c8c8828438, value=9500000 ) => ( True )
      • L1ChugSplashProxy.89eabf02( )
        • ProxyAdmin.STATICCALL( )
        • USDYieldManager.convert( inputTokenAddress=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48, inputAmountWad=9500000000000000000, _extraData=0x83D6C7AAB6360000 ) => ( 2058814870 )
          File 1 of 7: L1ChugSplashProxy
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          // SPDX-License-Identifier: BSL 1.1 - Copyright 2024 MetaLayer Labs Ltd.
          pragma solidity 0.8.15;
          import { Constants } from "src/libraries/Constants.sol";
          /// @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
          /// 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
          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

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

          File 4 of 7: FiatTokenProxy
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          pragma 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`.
          */
          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

          File 5 of 7: FiatTokenV2_2
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          /**
          * 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.
          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

          File 6 of 7: L1ChugSplashProxy
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          // SPDX-License-Identifier: BSL 1.1 - Copyright 2024 MetaLayer Labs Ltd.
          pragma solidity 0.8.15;
          import { Constants } from "src/libraries/Constants.sol";
          /// @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
          /// 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
          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

          File 7 of 7: USDYieldManager
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          // SPDX-License-Identifier: BSL 1.1 - Copyright 2024 MetaLayer Labs Ltd.
          pragma solidity 0.8.15;
          import { IERC20 } from "@openzeppelin/contracts/interfaces/IERC20.sol";
          import { YieldManager } from "src/mainnet-bridge/YieldManager.sol";
          import { OptimismPortal } from "src/L1/OptimismPortal.sol";
          import { USDConversions } from "src/mainnet-bridge/USDConversions.sol";
          import { Semver } from "src/universal/Semver.sol";
          import { Predeploys } from "src/libraries/Predeploys.sol";
          /// @custom:proxied
          /// @title USDYieldManager
          /// @notice Coordinates the accounting, asset management and
          /// yield reporting from USD yield providers.
          contract USDYieldManager is YieldManager, Semver {
          /// @param _token Address of withdrawal token. It is assumed that the token
          /// has 18 decimals.
          constructor(address _token) YieldManager(_token) Semver(1, 0, 0) {
          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX