Transaction Hash:
Block:
16910590 at Mar-26-2023 09:04:11 AM +UTC
Transaction Fee:
0.00308381682920982 ETH
$14.69
Gas Used:
196,374 Gas / 15.70379393 Gwei
Emitted Events:
62 |
TetherToken.Transfer( from=[Sender] 0xa7aac318a18e4615098a966f29f7b969e6181aff, to=[Receiver] L1ChugSplashProxy, value=7113000000 )
|
63 |
CanonicalTransactionChain.TransactionEnqueued( _l1TxOrigin=0x36BDE71C...4f7AB70B2, _target=0x42000000...000000007, _gasLimit=2000000, _data=0xCBD4ECE9000000000000000000000000420000000000000000000000000000000000001000000000000000000000000099C9FC46F92E8A1C0DEC1B1747D010903E884BE10000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000004F96800000000000000000000000000000000000000000000000000000000000000E4662A633A000000000000000000000000DAC17F958D2EE523A2206206994597C13D831EC700000000000000000000000094B008AA00579C1307B0EF2C499AD98A8CE58E58000000000000000000000000A7AAC318A18E4615098A966F29F7B969E6181AFF000000000000000000000000A7AAC318A18E4615098A966F29F7B969E6181AFF00000000000000000000000000000000000000000000000000000001A7F7C44000000000000000000000000000000000000000000000000000000000000000C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, _queueIndex=325992, _timestamp=1679821451 )
|
64 |
Lib_ResolvedDelegateProxy.0xcb0f7ffd78f9aee47a248fae8db181db6eee833039123e026dcbff529522e52a( 0xcb0f7ffd78f9aee47a248fae8db181db6eee833039123e026dcbff529522e52a, 0x0000000000000000000000004200000000000000000000000000000000000010, 00000000000000000000000099c9fc46f92e8a1c0dec1b1747d010903e884be1, 0000000000000000000000000000000000000000000000000000000000000080, 000000000000000000000000000000000000000000000000000000000004f968, 00000000000000000000000000000000000000000000000000000000001e8480, 00000000000000000000000000000000000000000000000000000000000000e4, 662a633a000000000000000000000000dac17f958d2ee523a2206206994597c1, 3d831ec700000000000000000000000094b008aa00579c1307b0ef2c499ad98a, 8ce58e58000000000000000000000000a7aac318a18e4615098a966f29f7b969, e6181aff000000000000000000000000a7aac318a18e4615098a966f29f7b969, e6181aff00000000000000000000000000000000000000000000000000000001, a7f7c44000000000000000000000000000000000000000000000000000000000, 000000c000000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000000 )
|
65 |
L1ChugSplashProxy.0x718594027abd4eaed59f95162563e0cc6d0e8d5b86b1c7be8b1b0ac3343d0396( 0x718594027abd4eaed59f95162563e0cc6d0e8d5b86b1c7be8b1b0ac3343d0396, 0x000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7, 0x00000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e58, 0x000000000000000000000000a7aac318a18e4615098a966f29f7b969e6181aff, 000000000000000000000000a7aac318a18e4615098a966f29f7b969e6181aff, 00000000000000000000000000000000000000000000000000000001a7f7c440, 0000000000000000000000000000000000000000000000000000000000000060, 0000000000000000000000000000000000000000000000000000000000000000 )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x42f0Ab48...7577e608d
Miner
| (Titan) | 0.031573930913490755 Eth | 0.031643544922882301 Eth | 0.000069614009391546 | |
0x5E4e6592...0D24E9dD2 | (Optimism: Canonical Transaction Chain) | ||||
0x99C9fc46...03E884bE1 | (Optimism: Gateway) | ||||
0xA7aAC318...9e6181aFf |
0.154391850231468438 Eth
Nonce: 401
|
0.151308033402258618 Eth
Nonce: 402
| 0.00308381682920982 | ||
0xdAC17F95...13D831ec7 |
Execution Trace
L1ChugSplashProxy.58a997f6( )
Proxy.STATICCALL( )
GnosisSafe.DELEGATECALL( )
-
DefaultCallbackHandler.CALL( )
-
L1StandardBridge.depositERC20( _l1Token=0xdAC17F958D2ee523a2206206994597C13D831ec7, _l2Token=0x94b008aA00579c1307B0EF2c499aD98a8ce58e58, _amount=7113000000, _l2Gas=2000000, _data=0x )
-
TetherToken.transferFrom( _from=0xA7aAC318A18E4615098A966F29f7b969e6181aFf, _to=0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1, _value=7113000000 )
Lib_ResolvedDelegateProxy.3dbb202b( )
-
Lib_AddressManager.getAddress( _name=OVM_L1CrossDomainMessenger ) => ( 0xd9166833FF12A5F900ccfBf2c8B62a90F1Ca1FD5 )
L1CrossDomainMessenger.sendMessage( _target=0x4200000000000000000000000000000000000010, _message=0x662A633A000000000000000000000000DAC17F958D2EE523A2206206994597C13D831EC700000000000000000000000094B008AA00579C1307B0EF2C499AD98A8CE58E58000000000000000000000000A7AAC318A18E4615098A966F29F7B969E6181AFF000000000000000000000000A7AAC318A18E4615098A966F29F7B969E6181AFF00000000000000000000000000000000000000000000000000000001A7F7C44000000000000000000000000000000000000000000000000000000000000000C00000000000000000000000000000000000000000000000000000000000000000, _gasLimit=2000000 )
-
Lib_AddressManager.getAddress( _name=CanonicalTransactionChain ) => ( 0x5E4e65926BA27467555EB562121fac00D24E9dD2 )
-
CanonicalTransactionChain.STATICCALL( )
-
CanonicalTransactionChain.enqueue( _target=0x4200000000000000000000000000000000000007, _gasLimit=2000000, _data=0xCBD4ECE9000000000000000000000000420000000000000000000000000000000000001000000000000000000000000099C9FC46F92E8A1C0DEC1B1747D010903E884BE10000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000004F96800000000000000000000000000000000000000000000000000000000000000E4662A633A000000000000000000000000DAC17F958D2EE523A2206206994597C13D831EC700000000000000000000000094B008AA00579C1307B0EF2C499AD98A8CE58E58000000000000000000000000A7AAC318A18E4615098A966F29F7B969E6181AFF000000000000000000000000A7AAC318A18E4615098A966F29F7B969E6181AFF00000000000000000000000000000000000000000000000000000001A7F7C44000000000000000000000000000000000000000000000000000000000000000C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 )
-
-
-
File 1 of 10: L1ChugSplashProxy
File 2 of 10: TetherToken
File 3 of 10: CanonicalTransactionChain
File 4 of 10: Lib_ResolvedDelegateProxy
File 5 of 10: Proxy
File 6 of 10: GnosisSafe
File 7 of 10: DefaultCallbackHandler
File 8 of 10: L1StandardBridge
File 9 of 10: Lib_AddressManager
File 10 of 10: L1CrossDomainMessenger
12345678910111213141516// SPDX-License-Identifier: MITpragma 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 {/*************
File 2 of 10: TetherToken
12345678910111213141516pragma solidity ^0.4.17;/*** @title SafeMath* @dev Math operations with safety checks that throw on error*/library SafeMath {function mul(uint256 a, uint256 b) internal pure returns (uint256) {if (a == 0) {return 0;}uint256 c = a * b;assert(c / a == b);return c;}
File 3 of 10: CanonicalTransactionChain
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity ^0.8.9;/* Library Imports */import { AddressAliasHelper } from "../../standards/AddressAliasHelper.sol";import { Lib_OVMCodec } from "../../libraries/codec/Lib_OVMCodec.sol";import { Lib_AddressResolver } from "../../libraries/resolver/Lib_AddressResolver.sol";/* Interface Imports */import { ICanonicalTransactionChain } from "./ICanonicalTransactionChain.sol";import { IChainStorageContainer } from "./IChainStorageContainer.sol";/*** @title CanonicalTransactionChain* @dev The Canonical Transaction Chain (CTC) contract is an append-only log of transactions* which must be applied to the rollup state. It defines the ordering of rollup transactions by* writing them to the 'CTC:batches' instance of the Chain Storage Container.* The CTC also allows any account to 'enqueue' an L2 transaction, which will require that the* Sequencer will eventually append it to the rollup state.
File 4 of 10: Lib_ResolvedDelegateProxy
12345678910111213141516// SPDX-License-Identifier: MITpragma 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 {
File 5 of 10: Proxy
12345678910111213141516pragma solidity ^0.5.3;/// @title Proxy - 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 Proxy {// masterCopy 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 masterCopy;/// @dev Constructor function sets address of master copy contract./// @param _masterCopy Master copy address.constructor(address _masterCopy)public{
File 6 of 10: GnosisSafe
12345678910111213141516pragma solidity >=0.5.0 <0.7.0;/// @title SelfAuthorized - authorizes current contract to perform actions/// @author Richard Meissner - <richard@gnosis.pm>contract SelfAuthorized {modifier authorized() {require(msg.sender == address(this), "Method can only be called from this contract");_;}}/// @title MasterCopy - Base for master copy contracts (should always be first super contract)/// This contract is tightly coupled to our proxy contract (see `proxies/Proxy.sol`)/// @author Richard Meissner - <richard@gnosis.io>
File 7 of 10: DefaultCallbackHandler
12345678910111213141516pragma solidity >=0.5.0 <0.7.0;interface ERC777TokensRecipient {function tokensReceived(address operator,address from,address to,uint256 amount,bytes calldata data,bytes calldata operatorData) external;}/**
File 8 of 10: L1StandardBridge
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity ^0.8.9;/* Interface Imports */import { IL1StandardBridge } from "./IL1StandardBridge.sol";import { IL1ERC20Bridge } from "./IL1ERC20Bridge.sol";import { IL2ERC20Bridge } from "../../L2/messaging/IL2ERC20Bridge.sol";import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";/* Library Imports */import { CrossDomainEnabled } from "../../libraries/bridge/CrossDomainEnabled.sol";import { Lib_PredeployAddresses } from "../../libraries/constants/Lib_PredeployAddresses.sol";import { Address } from "@openzeppelin/contracts/utils/Address.sol";import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";/*** @title L1StandardBridge* @dev The L1 ETH and ERC20 Bridge is a contract which stores deposited L1 funds and standard* tokens that are in use on L2. It synchronizes a corresponding L2 Bridge, informing it of deposits
File 9 of 10: Lib_AddressManager
12345678910111213141516// SPDX-License-Identifier: MITpragma 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 {
File 10 of 10: L1CrossDomainMessenger
12345678910111213141516// SPDX-License-Identifier: MITpragma 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.*/