ETH Price: $2,807.31 (+4.70%)

Transaction Decoder

Block:
19303751 at Feb-25-2024 09:38:23 AM +UTC
Transaction Fee:
0.00229476661310226 ETH $6.44
Gas Used:
98,340 Gas / 23.335027589 Gwei

Emitted Events:

394 TransparentUpgradeableProxy.0x4641df4a962071e12719d8c8c8e5ac7fc4d97b927346a3d7a335b1f7517e133c( 0x4641df4a962071e12719d8c8c8e5ac7fc4d97b927346a3d7a335b1f7517e133c, 0x82e325dc973f394732c3c39cb1a44970ebdbeea3faa14c4d58c1d9684cce89cd )

Account State Difference:

  Address   Before After State Difference Code
(Lido: Execution Layer Rewards Vault)
140.237577738161403831 Eth140.237577822528568251 Eth0.00000008436716442
0x5076EEa0...0D7b58C8C
0.003028654975542033 Eth
Nonce: 10
0.020821188362439773 Eth
Nonce: 11
0.01779253338689774
0x6774Bcbd...2DDD8b367
(Scroll: L1 Scroll Messenger Proxy)
24,375.594378086436085867 Eth24,375.574290786436085867 Eth0.0200873

Execution Trace

TransparentUpgradeableProxy.c311b6fc( )
  • L1ScrollMessenger.relayMessageWithProof( _from=0x5076EEa09c2994bef308352FcC52Bf60D7b58C8C, _to=0x5076EEa09c2994bef308352FcC52Bf60D7b58C8C, _value=20087300000000000, _nonce=38700, _message=0x, _proof=[{name:batchIndex, type:uint256, order:1, indexed:false, value:89048, valueString:89048}, {name:merkleProof, type:bytes, order:2, indexed:false, value:0x0000000000000000000000000000000000000000000000000000000000000000AD3228B676F7D3CD4284A5443F17F1962B36E491B30A40B2405849E597BA5FB5E1D1FA28C5DE473DAE4B58A545D59B603E7F94CB4DB3F59B6C054C462072E0883C244105467AC885D4BDE633E5072F152D84927FFD7DC8FE2D653E4850F2BA17E58769B32A1BEAF1EA27375A44095A0D1FB664CE2DD358E7FCBFB78C26A1934479070351B5E78A651E4F5A34CE08ED7637AC61D9160E48FAE09821204E88E932887C22BD8750D34016AC3C66B5FF102DACDD73F6B014E710B51E8022AF9A1968FFD70157E48063FC33C97A050F7F640233BF646CC98D9524C6B92BCF3AB56F83ACE1CFCD8ED71B847FD65A70E8D4CA94E82D9661199D9ED631579BBA0A7295B8E6F76A8827B285391CBC0181F36D904B1F80CA48DEBD613EAAD420DAE92F6BF6BE72CC043705B2FC36A023AE75E7FBCC9E69AFAADB2B3B1CFD209C9CB8581819F8B13A49E282F609C317A833FB8D976D11517C571D1221A265D25AF778ECF892588C720854D6AA7D1D09E7C1686B7636A4436921306A06E2B7CD0557AEB2EA2AC1DF82D9C4B87413EAE2EF048F94B4D3554CEA73D92B0F7AF96E0271C691E2BB5C67ADD7C6CAF302256ADEDF7AB114DA0ACFE870D449A3A489F781D659E8BECCEA178C0F385EB407CD78F4510F73BB8C2109D9B99F69EC648BC3A2F9E2CDD2ED, valueString:0x0000000000000000000000000000000000000000000000000000000000000000AD3228B676F7D3CD4284A5443F17F1962B36E491B30A40B2405849E597BA5FB5E1D1FA28C5DE473DAE4B58A545D59B603E7F94CB4DB3F59B6C054C462072E0883C244105467AC885D4BDE633E5072F152D84927FFD7DC8FE2D653E4850F2BA17E58769B32A1BEAF1EA27375A44095A0D1FB664CE2DD358E7FCBFB78C26A1934479070351B5E78A651E4F5A34CE08ED7637AC61D9160E48FAE09821204E88E932887C22BD8750D34016AC3C66B5FF102DACDD73F6B014E710B51E8022AF9A1968FFD70157E48063FC33C97A050F7F640233BF646CC98D9524C6B92BCF3AB56F83ACE1CFCD8ED71B847FD65A70E8D4CA94E82D9661199D9ED631579BBA0A7295B8E6F76A8827B285391CBC0181F36D904B1F80CA48DEBD613EAAD420DAE92F6BF6BE72CC043705B2FC36A023AE75E7FBCC9E69AFAADB2B3B1CFD209C9CB8581819F8B13A49E282F609C317A833FB8D976D11517C571D1221A265D25AF778ECF892588C720854D6AA7D1D09E7C1686B7636A4436921306A06E2B7CD0557AEB2EA2AC1DF82D9C4B87413EAE2EF048F94B4D3554CEA73D92B0F7AF96E0271C691E2BB5C67ADD7C6CAF302256ADEDF7AB114DA0ACFE870D449A3A489F781D659E8BECCEA178C0F385EB407CD78F4510F73BB8C2109D9B99F69EC648BC3A2F9E2CDD2ED}] )
    • TransparentUpgradeableProxy.116a1f42( )
    • TransparentUpgradeableProxy.ea5f084f( )
      • ScrollChain.withdrawRoots( 89048 ) => ( 3B149C1EE099A4B6C87626E89D362FD94E05C9AC1AD48B6DF6FC422BE1197B51 )
      • ETH 0.0200873 0x5076eea09c2994bef308352fcc52bf60d7b58c8c.CALL( )
        File 1 of 4: TransparentUpgradeableProxy
        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) (proxy/transparent/TransparentUpgradeableProxy.sol)
        pragma solidity ^0.8.0;
        import "../ERC1967/ERC1967Proxy.sol";
        /**
        * @dev Interface for {TransparentUpgradeableProxy}. In order to implement transparency, {TransparentUpgradeableProxy}
        * does not implement this interface directly, and some of its functions are implemented by an internal dispatch
        * mechanism. The compiler is unaware that these functions are implemented by {TransparentUpgradeableProxy} and will not
        * include them in the ABI so this interface must be used to interact with it.
        */
        interface ITransparentUpgradeableProxy is IERC1967 {
        function admin() external view returns (address);
        function implementation() external view returns (address);
        function changeAdmin(address) external;
        function upgradeTo(address) external;
        function upgradeToAndCall(address, bytes memory) external payable;
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

        File 2 of 4: L1ScrollMessenger
        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/ContextUpgradeable.sol";
        import "../proxy/utils/Initializable.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 3 of 4: TransparentUpgradeableProxy
        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) (proxy/transparent/TransparentUpgradeableProxy.sol)
        pragma solidity ^0.8.0;
        import "../ERC1967/ERC1967Proxy.sol";
        /**
        * @dev Interface for {TransparentUpgradeableProxy}. In order to implement transparency, {TransparentUpgradeableProxy}
        * does not implement this interface directly, and some of its functions are implemented by an internal dispatch
        * mechanism. The compiler is unaware that these functions are implemented by {TransparentUpgradeableProxy} and will not
        * include them in the ABI so this interface must be used to interact with it.
        */
        interface ITransparentUpgradeableProxy is IERC1967 {
        function admin() external view returns (address);
        function implementation() external view returns (address);
        function changeAdmin(address) external;
        function upgradeTo(address) external;
        function upgradeToAndCall(address, bytes memory) external payable;
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

        File 4 of 4: ScrollChain
        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/ContextUpgradeable.sol";
        import "../proxy/utils/Initializable.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