ETH Price: $2,522.52 (-8.79%)

Transaction Decoder

Block:
19170701 at Feb-06-2024 05:32:35 PM +UTC
Transaction Fee:
0.006761447402724105 ETH $17.06
Gas Used:
154,437 Gas / 43.781266165 Gwei

Emitted Events:

96 TROLLFACE.Transfer( from=[Sender] 0xfd750ec391e7518991a32549a6122905dd989c09, to=UniswapV2Pair, value=22705672117792993255281942215 )
97 TROLLFACE.Approval( owner=[Sender] 0xfd750ec391e7518991a32549a6122905dd989c09, spender=Permit2, value=115792089237316195423570985008687907853269984665575777363207828006392496230805 )
98 WETH9.Transfer( src=UniswapV2Pair, dst=[Receiver] UniversalRouter, wad=210968180071116466 )
99 UniswapV2Pair.Sync( reserve0=297088737402841046688, reserve1=31901269826706638738589338278006 )
100 UniswapV2Pair.Swap( sender=[Receiver] UniversalRouter, amount0In=0, amount1In=22705672117792993255281942215, amount0Out=210968180071116466, amount1Out=0, to=[Receiver] UniversalRouter )
101 WETH9.Withdrawal( src=[Receiver] UniversalRouter, wad=210968180071116466 )

Account State Difference:

  Address   Before After State Difference Code
(beaverbuild)
14.336658908002378282 Eth14.337122219002378282 Eth0.000463311
0xB7426bFd...56FfCC286
0xC02aaA39...83C756Cc2 3,268,132.923171095668133865 Eth3,268,132.712202915597017399 Eth0.210968180071116466
0xf8ebf484...A6CB2eB3A
0xfd750EC3...5Dd989C09
0.05625869892102252 Eth
Nonce: 1618
0.260465431589414881 Eth
Nonce: 1619
0.204206732668392361

Execution Trace

UniversalRouter.execute( commands=0x080C, inputs=[AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAEldsRfkik5SQBBexwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF2wTiUBldZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAA+Ov0hJ8fpPrw3/IQahc9Omyy6zoAAAAAAAAAAAAAAADAKqo5siP+jQoOXE8n6tkIPHVswg==, AAAAAAAAAAAAAAAA/XUOw5HnUYmRoyVJphIpBd2YnAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcwHZSt1RWg==], deadline=1707240797 )
  • Permit2.transferFrom( from=0xfd750EC391e7518991A32549a6122905Dd989C09, to=0xB7426bFd2abF64428fA82A71b0D44B056FfCC286, amount=22705672117792993255281942215, token=0xf8ebf4849F1Fa4FaF0DFF2106A173D3A6CB2eB3A )
    • TROLLFACE.transferFrom( sender=0xfd750EC391e7518991A32549a6122905Dd989C09, recipient=0xB7426bFd2abF64428fA82A71b0D44B056FfCC286, amount=22705672117792993255281942215 ) => ( True )
    • WETH9.balanceOf( 0xEf1c6E67703c7BD7107eed8303Fbe6EC2554BF6B ) => ( 0 )
    • UniswapV2Pair.STATICCALL( )
    • TROLLFACE.balanceOf( account=0xB7426bFd2abF64428fA82A71b0D44B056FfCC286 ) => ( 31901269826706638738589338278006 )
    • UniswapV2Pair.swap( amount0Out=210968180071116466, amount1Out=0, to=0xEf1c6E67703c7BD7107eed8303Fbe6EC2554BF6B, data=0x )
      • WETH9.transfer( dst=0xEf1c6E67703c7BD7107eed8303Fbe6EC2554BF6B, wad=210968180071116466 ) => ( True )
      • WETH9.balanceOf( 0xB7426bFd2abF64428fA82A71b0D44B056FfCC286 ) => ( 297088737402841046688 )
      • TROLLFACE.balanceOf( account=0xB7426bFd2abF64428fA82A71b0D44B056FfCC286 ) => ( 31901269826706638738589338278006 )
      • WETH9.balanceOf( 0xEf1c6E67703c7BD7107eed8303Fbe6EC2554BF6B ) => ( 210968180071116466 )
      • WETH9.balanceOf( 0xEf1c6E67703c7BD7107eed8303Fbe6EC2554BF6B ) => ( 210968180071116466 )
      • WETH9.withdraw( wad=210968180071116466 )
        • ETH 0.210968180071116466 UniversalRouter.CALL( )
        • ETH 0.210968180071116466 0xfd750ec391e7518991a32549a6122905dd989c09.CALL( )
          File 1 of 5: UniversalRouter
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          // SPDX-License-Identifier: GPL-3.0-or-later
          pragma solidity ^0.8.17;
          import {Dispatcher} from './base/Dispatcher.sol';
          import {RewardsCollector} from './base/RewardsCollector.sol';
          import {RouterParameters, RouterImmutables} from './base/RouterImmutables.sol';
          import {Constants} from './libraries/Constants.sol';
          import {Commands} from './libraries/Commands.sol';
          import {IUniversalRouter} from './interfaces/IUniversalRouter.sol';
          import {ReentrancyLock} from './base/ReentrancyLock.sol';
          contract UniversalRouter is RouterImmutables, IUniversalRouter, Dispatcher, RewardsCollector, ReentrancyLock {
          modifier checkDeadline(uint256 deadline) {
          if (block.timestamp > deadline) revert TransactionDeadlinePassed();
          _;
          }
          constructor(RouterParameters memory params) RouterImmutables(params) {}
          /// @inheritdoc IUniversalRouter
          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

          File 2 of 5: UniswapV2Pair
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          // File: contracts/interfaces/IUniswapV2Pair.sol
          pragma solidity >=0.5.0;
          interface IUniswapV2Pair {
          event Approval(address indexed owner, address indexed spender, uint value);
          event Transfer(address indexed from, address indexed to, uint value);
          function name() external pure returns (string memory);
          function symbol() external pure returns (string memory);
          function decimals() external pure returns (uint8);
          function totalSupply() external view returns (uint);
          function balanceOf(address owner) external view returns (uint);
          function allowance(address owner, address spender) external view returns (uint);
          function approve(address spender, uint value) external returns (bool);
          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

          File 3 of 5: TROLLFACE
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          // SPDX-License-Identifier: MIT
          pragma solidity =0.8.16;
          pragma experimental ABIEncoderV2;
          abstract contract Context {
          function _msgSender() internal view virtual returns (address) {
          return msg.sender;
          }
          function _msgData() internal view virtual returns (bytes calldata) {
          return msg.data;
          }
          }
          abstract contract Ownable is Context {
          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

          File 4 of 5: WETH9
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          // Copyright (C) 2015, 2016, 2017 Dapphub
          // This program is free software: you can redistribute it and/or modify
          // it under the terms of the GNU General Public License as published by
          // the Free Software Foundation, either version 3 of the License, or
          // (at your option) any later version.
          // This program is distributed in the hope that it will be useful,
          // but WITHOUT ANY WARRANTY; without even the implied warranty of
          // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
          // GNU General Public License for more details.
          // You should have received a copy of the GNU General Public License
          // along with this program. If not, see <http://www.gnu.org/licenses/>.
          pragma solidity ^0.4.18;
          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

          File 5 of 5: Permit2
          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