ETH Price: $2,554.42 (+1.80%)

Transaction Decoder

Block:
22306024 at Apr-19-2025 10:26:11 PM +UTC
Transaction Fee:
0.00015428221458138 ETH $0.39
Gas Used:
171,972 Gas / 0.897135665 Gwei

Emitted Events:

40 WETH9.Deposit( dst=[Receiver] UniversalRouter, wad=70000000000000000 )
41 WETH9.Transfer( src=[Receiver] UniversalRouter, dst=UniswapV2Pair, wad=70000000000000000 )
42 DOGEUSD.Transfer( from=UniswapV2Pair, to=[Receiver] UniversalRouter, value=11645833396642329 )
43 UniswapV2Pair.Sync( reserve0=407772849307811964, reserve1=2513660851390610227 )
44 UniswapV2Pair.Swap( sender=[Receiver] UniversalRouter, amount0In=0, amount1In=70000000000000000, amount0Out=11645833396642329, amount1Out=0, to=[Receiver] UniversalRouter )
45 DOGEUSD.Transfer( from=[Receiver] UniversalRouter, to=FeeCollector, value=29114583491605 )
46 DOGEUSD.Transfer( from=[Receiver] UniversalRouter, to=[Sender] 0xa5d945e52ba479da6a2857777f8bb1737f562801, value=11616718813150724 )

Account State Difference:

  Address   Before After State Difference Code
0x00984169...2290a7371
(Titan Builder)
17.675698090563203654 Eth17.675797764934909262 Eth0.000099674371705608
0xa5d945e5...37f562801
0.109054041428672762 Eth
Nonce: 666
0.038899759214091382 Eth
Nonce: 667
0.07015428221458138
0xC02aaA39...83C756Cc2 2,764,171.002276534339606613 Eth2,764,171.072276534339606613 Eth0.07
0xdb4f3831...b548AAEAe

Execution Trace

ETH 0.07 UniversalRouter.execute( commands=0x0B080604, inputs=[AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+LChDkcAAA==, AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+LChDkcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAwCqqObIj/o0KDlxPJ+rZCDx1bMIAAAAAAAAAAAAAAAAAmEFp+caCCBuva9so54MyKQpzcQ==, AAAAAAAAAAAAAAAAAJhBafnGgggbr2vbKOeDMikKc3EAAAAAAAAAAAAAAAAAAAD+4ToQOhDVk7muBrPgXy5+HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ, AAAAAAAAAAAAAAAAAJhBafnGgggbr2vbKOeDMikKc3EAAAAAAAAAAAAAAACl2UXlK6R52mooV3d/i7Fzf1YoAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApRVfQ8zUg], deadline=1745103357 )
  • ETH 0.07 WETH9.CALL( )
  • WETH9.transfer( dst=0xdb4f3831311EBBDBB23FDAEaB8D5087b548AAEAe, wad=70000000000000000 ) => ( True )
  • DOGEUSD.balanceOf( account=0x66a9893cC07D91D95644AEDD05D03f95e1dBA8Af ) => ( 0 )
  • UniswapV2Pair.STATICCALL( )
  • WETH9.balanceOf( 0xdb4f3831311EBBDBB23FDAEaB8D5087b548AAEAe ) => ( 2513660851390610227 )
  • UniswapV2Pair.swap( amount0Out=11645833396642329, amount1Out=0, to=0x66a9893cC07D91D95644AEDD05D03f95e1dBA8Af, data=0x )
    • DOGEUSD.transfer( recipient=0x66a9893cC07D91D95644AEDD05D03f95e1dBA8Af, amount=11645833396642329 ) => ( True )
    • DOGEUSD.balanceOf( account=0xdb4f3831311EBBDBB23FDAEaB8D5087b548AAEAe ) => ( 407772849307811964 )
    • WETH9.balanceOf( 0xdb4f3831311EBBDBB23FDAEaB8D5087b548AAEAe ) => ( 2513660851390610227 )
    • DOGEUSD.balanceOf( account=0x66a9893cC07D91D95644AEDD05D03f95e1dBA8Af ) => ( 11645833396642329 )
    • DOGEUSD.balanceOf( account=0x66a9893cC07D91D95644AEDD05D03f95e1dBA8Af ) => ( 11645833396642329 )
    • DOGEUSD.transfer( recipient=0x000000fee13a103A10D593b9AE06b3e05F2E7E1c, amount=29114583491605 ) => ( True )
    • DOGEUSD.balanceOf( account=0x66a9893cC07D91D95644AEDD05D03f95e1dBA8Af ) => ( 11616718813150724 )
    • DOGEUSD.transfer( recipient=0xa5d945e52bA479da6a2857777F8bb1737f562801, amount=11616718813150724 ) => ( True )
      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.24;
      // Command implementations
      import {Dispatcher} from './base/Dispatcher.sol';
      import {RouterParameters} from './types/RouterParameters.sol';
      import {PaymentsImmutables, PaymentsParameters} from './modules/PaymentsImmutables.sol';
      import {UniswapImmutables, UniswapParameters} from './modules/uniswap/UniswapImmutables.sol';
      import {V4SwapRouter} from './modules/uniswap/v4/V4SwapRouter.sol';
      import {Commands} from './libraries/Commands.sol';
      import {IUniversalRouter} from './interfaces/IUniversalRouter.sol';
      import {MigratorImmutables, MigratorParameters} from './modules/MigratorImmutables.sol';
      contract UniversalRouter is IUniversalRouter, Dispatcher {
      constructor(RouterParameters memory params)
      UniswapImmutables(
      UniswapParameters(params.v2Factory, params.v3Factory, params.pairInitCodeHash, params.poolInitCodeHash)
      )
      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: DOGEUSD
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      /*
      Currency of Mars
      ,-:` \;',`'-,
      .'-;_,; ':-;_,'.
      /; '/ , _`.-\
      | '`. (` /` ` \`|
      |:. `\`-. \_ / |
      | ( `, .`\ ;'|
      \ | .' `-'/
      `. ;/ .'
      `'-._____.
      https://x.com/cb_doge/status/1913673074995527879
      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