ETH Price: $2,534.03 (-0.09%)

Transaction Decoder

Block:
20669951 at Sep-03-2024 12:08:11 PM +UTC
Transaction Fee:
0.001233441757822341 ETH $3.13
Gas Used:
332,331 Gas / 3.711485711 Gwei

Emitted Events:

361 GnosisSafeProxy.0x3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d( 0x3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d, 0x0000000000000000000000009a47f3289794e9bbc6a3c571f6d96ad4e7baed16, 00000000000000000000000000000000000000000000000000018de76816d800 )
362 0x9a47f3289794e9bbc6a3c571f6d96ad4e7baed16.0x6ded982279c8387ad8a63e73385031a3807c1862e633f06e09d11bcb6e282f60( 0x6ded982279c8387ad8a63e73385031a3807c1862e633f06e09d11bcb6e282f60, 0000000000000000000000000000000000000000000000000000000000000000, 000000000000000000000000e6b738da243e8fa2a0ed5915645789add5de5152, 00000000000000000000000000000000000000000000000000018de76816d800 )
363 Proxy.0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32( 0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32, 0x000000000000000000000000977f82a600a1414e583f7f13623f1ac5d58b1c0b, 0x0000000000000000000000004200000000000000000000000000000000000007, 0x0000000000000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000020, 000000000000000000000000000000000000000000000000000000000000020d, 0000000000000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000000, 000000000006b8c400d764ad0b00010000000000000000000000000000000000, 0000000000000000000004138a00000000000000000000000017b5ace1cd6b0d, 033431873826937f499eec2c950000000000000000000000003666f603cc1649, 36c1b87e207f36beba4ac5f18a00000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000000, 000000000000000000000249f000000000000000000000000000000000000000, 000000000000000000000000c000000000000000000000000000000000000000, 000000000000000000000000c4cc29a306000000000000000000000000310b35, f7d753df40d22b1b6179c89233f79e0c1e000000000000000000000000000000, 00000000000000000000b014d4c6ae2800000000000000000000000000000000, 00000000000000000000af33726ea59b00000000000000000000000000000000, 00000000000000000000000191dbd4df37000000000000000000000000710bda, 329b2a6224e4b44833de30f38e7f81d564000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000000 )
364 ResolvedDelegateProxy.0xcb0f7ffd78f9aee47a248fae8db181db6eee833039123e026dcbff529522e52a( 0xcb0f7ffd78f9aee47a248fae8db181db6eee833039123e026dcbff529522e52a, 0x0000000000000000000000003666f603cc164936c1b87e207f36beba4ac5f18a, 00000000000000000000000017b5ace1cd6b0d033431873826937f499eec2c95, 0000000000000000000000000000000000000000000000000000000000000080, 000100000000000000000000000000000000000000000000000000000004138a, 00000000000000000000000000000000000000000000000000000000000249f0, 00000000000000000000000000000000000000000000000000000000000000c4, cc29a306000000000000000000000000310b35f7d753df40d22b1b6179c89233, f79e0c1e00000000000000000000000000000000000000000000000000b014d4, c6ae280000000000000000000000000000000000000000000000000000af3372, 6ea59b0000000000000000000000000000000000000000000000000000000191, dbd4df37000000000000000000000000710bda329b2a6224e4b44833de30f38e, 7f81d56400000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000000 )
365 ResolvedDelegateProxy.0x8ebb2ec2465bdb2a06a66fc37a0963af8a2a6a1479d81d56fdb8cbb98096d546( 0x8ebb2ec2465bdb2a06a66fc37a0963af8a2a6a1479d81d56fdb8cbb98096d546, 0x00000000000000000000000017b5ace1cd6b0d033431873826937f499eec2c95, 0000000000000000000000000000000000000000000000000000000000000000 )
366 L1_ETH_Bridge.TransferSentToL2( chainId=8453, recipient=[Sender] 0x310b35f7d753df40d22b1b6179c89233f79e0c1e, amount=49562500000000000, amountOutMin=49314687500000000, deadline=1725970046775, relayer=0x710bDa32...E7f81d564, relayerFee=0 )
367 SocketGateway.0x74594da9e31ee4068e17809037db37db496702bf7d8d63afe6f97949277d1609( 0x74594da9e31ee4068e17809037db37db496702bf7d8d63afe6f97949277d1609, 00000000000000000000000000000000000000000000000000b014d4c6ae2800, 000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee, 0000000000000000000000000000000000000000000000000000000000002105, 837ed841e30438f54fb6b0097c30a5c4f64b47545c3df655bcd6e44bb8991e37, 0000000000000000000000009a47f3289794e9bbc6a3c571f6d96ad4e7baed16, 000000000000000000000000310b35f7d753df40d22b1b6179c89233f79e0c1e, 00000000000000000000000000000000000000000000000000000000000000c4 )
368 0x9a47f3289794e9bbc6a3c571f6d96ad4e7baed16.0x831bac9533a2034226daa21109dbd4f887674f0fe4877e1a8b35b3ffe1bdce76( 0x831bac9533a2034226daa21109dbd4f887674f0fe4877e1a8b35b3ffe1bdce76, 000000000000000000000000310b35f7d753df40d22b1b6179c89233f79e0c1e, 0000000000000000000000003a23f943181408eac424116af7b7790c94cb97a5, 0000000000000000000000000000000000000000000000000000000000002105, 0000000000000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000000, 00000000000000000000000000000000000000000000000000b014d4c6ae2800 )

Account State Difference:

  Address   Before After State Difference Code
0x310B35f7...3f79E0c1E
0.058283997820063748 Eth
Nonce: 19
0.007050556062241407 Eth
Nonce: 20
0.051233441757822341
(Titan Builder)
12.456751656812972164 Eth12.457072153406030533 Eth0.000320496593058369
0x49048044...fAF74E97e
(Base: Base Portal)
0x866E82a6...5d58b0Afa
0xb8901acB...02919727f
(Hop Protocol: Ethereum Bridge)
10,829.626314694579994081 Eth10,829.675877194579994081 Eth0.0495625
0xe6b738DA...DD5dE5152 799.222239052524364298 Eth799.222676552524364298 Eth0.0004375

Execution Trace

ETH 0.05 MetaBridge.bridge( adapterId=socketAdapterV2, srcToken=0x0000000000000000000000000000000000000000, amount=50000000000000000, data=0x0000000000000000000000003A23F943181408EAC424116AF7B7790C94CB97A50000000000000000000000003A23F943181408EAC424116AF7B7790C94CB97A500000000000000000000000000000000000000000000000000000000000021050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000B014D4C6AE2800000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000018DE76816D800000000000000000000000000E6B738DA243E8FA2A0ED5915645789ADD5DE515200000000000000000000000000000000000000000000000000000000000001280000019FD025DEC0000000000000000000000000310B35F7D753DF40D22B1B6179C89233F79E0C1E000000000000000000000000B8901ACB165ED027E32754E0FFE830802919727F000000000000000000000000710BDA329B2A6224E4B44833DE30F38E7F81D564000000000000000000000000000000000000000000000000000000000000210500000000000000000000000000000000000000000000000000B014D4C6AE280000000000000000000000000000000000000000000000000000AF33726EA59B00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000191DBD4DF3700000000000000000000000000000000000000000000000000000000000000C4000000000000000000000000000000000000000000000000 )
  • ETH 0.05 0x9a47f3289794e9bbc6a3c571f6d96ad4e7baed16.4cfee326( )
    • ETH 0.05 0x7ac070f096c6e20931c3dc54f927446be232618b.ab138240( )
      • ETH 0.0004375 GnosisSafeProxy.CALL( )
        • ETH 0.0004375 GnosisSafe.DELEGATECALL( )
        • ETH 0.0495625 SocketGateway.0000019f( )
          • ETH 0.0495625 HopImplL1V2.bridgeNativeTo( receiverAddress=0x310B35f7d753dF40d22b1b6179C89233f79E0c1E, l1bridgeAddr=0xb8901acB165ed027E32754E0FFe830802919727f, relayer=0x710bDa329b2a6224E4B44833DE30F38E7f81d564, toChainId=8453, amount=49562500000000000, amountOutMin=49314687500000000, relayerFee=0, deadline=1725970046775, metadata=00000000000000000000000000000000000000000000000000000000000000C4 )
            • ETH 0.0495625 L1_ETH_Bridge.sendToL2( chainId=8453, recipient=0x310B35f7d753dF40d22b1b6179C89233f79E0c1E, amount=49562500000000000, amountOutMin=49314687500000000, deadline=1725970046775, relayer=0x710bDa329b2a6224E4B44833DE30F38E7f81d564, relayerFee=0 )
              • BaseMessengerWrapper.sendCrossDomainMessage( _calldata=0xCC29A306000000000000000000000000310B35F7D753DF40D22B1B6179C89233F79E0C1E00000000000000000000000000000000000000000000000000B014D4C6AE280000000000000000000000000000000000000000000000000000AF33726EA59B0000000000000000000000000000000000000000000000000000000191DBD4DF37000000000000000000000000710BDA329B2A6224E4B44833DE30F38E7F81D5640000000000000000000000000000000000000000000000000000000000000000 )
                File 1 of 9: MetaBridge
                1
                2
                3
                4
                5
                6
                7
                8
                9
                10
                11
                12
                13
                14
                15
                16
                // SPDX-License-Identifier: MIT
                // OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol)
                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.
                */
                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                File 2 of 9: GnosisSafeProxy
                1
                2
                3
                4
                5
                6
                7
                8
                9
                10
                11
                12
                13
                14
                15
                16
                // SPDX-License-Identifier: LGPL-3.0-only
                pragma solidity >=0.7.0 <0.9.0;
                /// @title IProxy - Helper interface to access masterCopy of the Proxy on-chain
                /// @author Richard Meissner - <richard@gnosis.io>
                interface IProxy {
                function masterCopy() external view returns (address);
                }
                /// @title GnosisSafeProxy - Generic proxy contract allows to execute all transactions applying the code of a master contract.
                /// @author Stefan George - <stefan@gnosis.io>
                /// @author Richard Meissner - <richard@gnosis.io>
                contract GnosisSafeProxy {
                // singleton always needs to be first declared variable, to ensure that it is at the same location in the contracts to which calls are delegated.
                // To reduce deployment costs this variable is internal and needs to be retrieved via `getStorageAt`
                address internal singleton;
                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                File 3 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 4 of 9: ResolvedDelegateProxy
                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 { 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
                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                File 5 of 9: L1_ETH_Bridge
                1
                2
                3
                4
                5
                6
                7
                8
                9
                10
                11
                12
                13
                14
                15
                16
                // SPDX-License-Identifier: MIT
                pragma solidity 0.6.12;
                pragma experimental ABIEncoderV2;
                import "./L1_Bridge.sol";
                /**
                * @dev A L1_Bridge that uses an ETH as the canonical token
                */
                contract L1_ETH_Bridge is L1_Bridge {
                constructor (address[] memory bonders, address _governance) public L1_Bridge(bonders, _governance) {}
                /* ========== Override Functions ========== */
                function _transferFromBridge(address recipient, uint256 amount) internal override {
                (bool success, ) = recipient.call{value: amount}(new bytes(0));
                require(success, 'L1_ETH_BRG: ETH transfer failed');
                }
                function _transferToBridge(address /*from*/, uint256 amount) internal override {
                require(msg.value == amount, "L1_ETH_BRG: Value does not match amount");
                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                File 6 of 9: SocketGateway
                1
                2
                3
                4
                5
                6
                7
                8
                9
                10
                11
                12
                13
                14
                15
                16
                // SPDX-License-Identifier: AGPL-3.0-only
                pragma solidity >=0.8.0;
                /// @notice Modern and gas efficient ERC20 + EIP-2612 implementation.
                /// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC20.sol)
                /// @author Modified from Uniswap (https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol)
                /// @dev Do not manually set balances without updating totalSupply, as the sum of all user balances must not exceed it.
                abstract contract ERC20 {
                /*//////////////////////////////////////////////////////////////
                EVENTS
                //////////////////////////////////////////////////////////////*/
                event Transfer(address indexed from, address indexed to, uint256 amount);
                event Approval(address indexed owner, address indexed spender, uint256 amount);
                /*//////////////////////////////////////////////////////////////
                METADATA STORAGE
                //////////////////////////////////////////////////////////////*/
                string public name;
                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                File 7 of 9: GnosisSafe
                1
                2
                3
                4
                5
                6
                7
                8
                9
                10
                11
                12
                13
                14
                15
                16
                // SPDX-License-Identifier: LGPL-3.0-only
                pragma solidity >=0.7.0 <0.9.0;
                import "./base/ModuleManager.sol";
                import "./base/OwnerManager.sol";
                import "./base/FallbackManager.sol";
                import "./base/GuardManager.sol";
                import "./common/EtherPaymentFallback.sol";
                import "./common/Singleton.sol";
                import "./common/SignatureDecoder.sol";
                import "./common/SecuredTokenTransfer.sol";
                import "./common/StorageAccessible.sol";
                import "./interfaces/ISignatureValidator.sol";
                import "./external/GnosisSafeMath.sol";
                /// @title Gnosis Safe - A multisignature wallet with support for confirmations using signed messages based on ERC191.
                /// @author Stefan George - <stefan@gnosis.io>
                /// @author Richard Meissner - <richard@gnosis.io>
                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                File 8 of 9: HopImplL1V2
                1
                2
                3
                4
                5
                6
                7
                8
                9
                10
                11
                12
                13
                14
                15
                16
                // SPDX-License-Identifier: AGPL-3.0-only
                pragma solidity >=0.8.0;
                /// @notice Modern and gas efficient ERC20 + EIP-2612 implementation.
                /// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC20.sol)
                /// @author Modified from Uniswap (https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol)
                /// @dev Do not manually set balances without updating totalSupply, as the sum of all user balances must not exceed it.
                abstract contract ERC20 {
                /*//////////////////////////////////////////////////////////////
                EVENTS
                //////////////////////////////////////////////////////////////*/
                event Transfer(address indexed from, address indexed to, uint256 amount);
                event Approval(address indexed owner, address indexed spender, uint256 amount);
                /*//////////////////////////////////////////////////////////////
                METADATA STORAGE
                //////////////////////////////////////////////////////////////*/
                string public name;
                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                File 9 of 9: BaseMessengerWrapper
                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