ETH Price: $3,683.00 (-1.47%)

Transaction Decoder

Block:
22731611 at Jun-18-2025 01:17:11 PM +UTC
Transaction Fee:
0.00105101694109598 ETH $3.87
Gas Used:
261,505 Gas / 4.019108396 Gwei

Emitted Events:

123 WETH9.Deposit( dst=[Receiver] UniversalRouter, wad=445 )
124 WETH9.Transfer( src=[Receiver] UniversalRouter, dst=UniswapV2Pair, wad=443 )
125 Dusty.Transfer( from=UniswapV2Pair, to=[Receiver] UniversalRouter, value=2008586 )
126 UniswapV2Pair.Sync( reserve0=56857152841360041843369, reserve1=12502400473836397242 )
127 UniswapV2Pair.Swap( sender=[Receiver] UniversalRouter, amount0In=0, amount1In=443, amount0Out=2008586, amount1Out=0, to=[Receiver] UniversalRouter )
128 Dusty.Transfer( from=[Receiver] UniversalRouter, to=FeeCollector, value=5000 )
129 Dusty.Transfer( from=[Receiver] UniversalRouter, to=[Sender] 0xc81158d419003f1b8c6394a069ab0ee562e72e83, value=2003586 )
130 WETH9.Withdrawal( src=[Receiver] UniversalRouter, wad=2 )

Account State Difference:

  Address   Before After State Difference Code
0x614A48C4...5E8149332
(beaverbuild)
9.236186098495215147 Eth9.236832108221333387 Eth0.00064600972611824
0xA6A21fCE...e73470c76
0xC02aaA39...83C756Cc2 2,617,657.48613969785283963 Eth2,617,657.486139697852840073 Eth0.000000000000000443
0xC81158d4...562e72e83
0.004551386489251847 Eth
Nonce: 10
0.003500369548155424 Eth
Nonce: 11
0.001051016941096423

Execution Trace

ETH 0.000000000000000445 UniversalRouter.execute( commands=0x0B0905040C, inputs=[AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABvQ==, AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB6YCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAwCqqObIj/o0KDlxPJ+rZCDx1bMIAAAAAAAAAAAAAAABhSkjEG+a6Z2K2OpLMM8+16BSTMg==, AAAAAAAAAAAAAAAAYUpIxBvmumditjqSzDPPtegUkzIAAAAAAAAAAAAAAAAAAAD+4ToQOhDVk7muBrPgXy5+HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOI, AAAAAAAAAAAAAAAAYUpIxBvmumditjqSzDPPtegUkzIAAAAAAAAAAAAAAADIEVjUGQA/G4xjlKBpqw7lYucugwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHoSA, AAAAAAAAAAAAAAAAyBFY1BkAPxuMY5SgaasO5WLnLoMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==], deadline=1750254410 )
  • ETH 0.000000000000000445 WETH9.CALL( )
  • UniswapV2Pair.STATICCALL( )
  • WETH9.transfer( dst=0xA6A21fCE6220F9C4c4e4f5E5E2653bfe73470c76, wad=443 ) => ( True )
  • UniswapV2Pair.STATICCALL( )
  • WETH9.balanceOf( 0xA6A21fCE6220F9C4c4e4f5E5E2653bfe73470c76 ) => ( 12502400473836397242 )
  • UniswapV2Pair.swap( amount0Out=2008586, amount1Out=0, to=0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD, data=0x )
    • Dusty.transfer( recipient=0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD, amount=2008586 ) => ( True )
    • Dusty.balanceOf( account=0xA6A21fCE6220F9C4c4e4f5E5E2653bfe73470c76 ) => ( 56857152841360041843369 )
    • WETH9.balanceOf( 0xA6A21fCE6220F9C4c4e4f5E5E2653bfe73470c76 ) => ( 12502400473836397242 )
    • Dusty.transfer( recipient=0x000000fee13a103A10D593b9AE06b3e05F2E7E1c, amount=5000 ) => ( True )
    • Dusty.balanceOf( account=0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD ) => ( 2003586 )
    • Dusty.transfer( recipient=0xC81158d419003F1B8C6394A069ab0ee562e72e83, amount=2003586 ) => ( True )
    • WETH9.balanceOf( 0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD ) => ( 2 )
    • WETH9.withdraw( wad=2 )
      • ETH 0.000000000000000002 UniversalRouter.CALL( )
      • ETH 0.000000000000000002 0xc81158d419003f1b8c6394a069ab0ee562e72e83.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;
        // Command implementations
        import {Dispatcher} from './base/Dispatcher.sol';
        import {RewardsCollector} from './base/RewardsCollector.sol';
        import {RouterParameters, RouterImmutables} from './base/RouterImmutables.sol';
        import {Commands} from './libraries/Commands.sol';
        import {IUniversalRouter} from './interfaces/IUniversalRouter.sol';
        contract UniversalRouter is RouterImmutables, IUniversalRouter, Dispatcher, RewardsCollector {
        modifier checkDeadline(uint256 deadline) {
        if (block.timestamp > deadline) revert TransactionDeadlinePassed();
        _;
        }
        constructor(RouterParameters memory params) RouterImmutables(params) {}
        /// @inheritdoc IUniversalRouter
        function execute(bytes calldata commands, bytes[] calldata inputs, uint256 deadline)
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

        File 2 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 3 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 4 of 5: Dusty
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        /*
        Telegram: https://t.me/dustycoineth
        Twitter: https://x.com/dustycoineth
        Website: https://dustycoineth.com
        */
        // SPDX-License-Identifier: Unlicensed
        pragma solidity ^0.8.9;
        abstract contract Context {
        function _msgSender() internal view virtual returns (address) {
        return msg.sender;
        }
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

        File 5 of 5: FeeCollector
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        // SPDX-License-Identifier: GPL-2.0-or-later
        pragma solidity ^0.8.0;
        import {Owned} from "solmate/auth/Owned.sol";
        import {ERC20} from "solmate/tokens/ERC20.sol";
        import {SafeTransferLib} from "solmate/utils/SafeTransferLib.sol";
        import {IFeeCollector} from "./interfaces/IFeeCollector.sol";
        import {IPermit2} from "./external/IPermit2.sol";
        /// @notice The collector of protocol fees that will be used to swap and send to a fee recipient address.
        contract FeeCollector is Owned, IFeeCollector {
        using SafeTransferLib for ERC20;
        address public universalRouter;
        ERC20 public immutable feeToken;
        IPermit2 public immutable permit2;
        uint256 public constant MAX_APPROVAL_AMOUNT = type(uint256).max;
        uint160 public constant MAX_PERMIT2_APPROVAL_AMOUNT = type(uint160).max;
        uint48 public constant MAX_PERMIT2_DEADLINE = type(uint48).max;
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX