ETH Price: $3,558.00 (+2.66%)

Transaction Decoder

Block:
20895297 at Oct-04-2024 10:57:47 PM +UTC
Transaction Fee:
0.00084418103462825 ETH $3.00
Gas Used:
188,375 Gas / 4.481385718 Gwei

Emitted Events:

162 FiatTokenProxy.0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef( 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, 0x000000000000000000000000bf27653c7009d0f5c54646198bdae95e1a8c5ab5, 0x000000000000000000000000a1bea5fe917450041748dbbbe7e9ac57a4bbebab, 00000000000000000000000000000000000000000000000000000000028496f2 )
163 FiatTokenProxy.0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925( 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925, 0x000000000000000000000000a1bea5fe917450041748dbbbe7e9ac57a4bbebab, 0x000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff, 00000000000000000000000000000000000000000000000000000000028496f2 )
164 WETH9.Transfer( src=0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640, dst=ZeroEx, wad=17447221186395546 )
165 FiatTokenProxy.0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef( 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, 0x000000000000000000000000a1bea5fe917450041748dbbbe7e9ac57a4bbebab, 0x00000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f5640, 00000000000000000000000000000000000000000000000000000000028496f2 )
166 0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640.0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67( 0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67, 0x000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff, 0x000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff, 00000000000000000000000000000000000000000000000000000000028496f2, ffffffffffffffffffffffffffffffffffffffffffffffffffc203d842de0266, 0000000000000000000000000000000000004f67c95bd90ed16b32ef6756e236, 0000000000000000000000000000000000000000000000008086bd20f7dcd990, 0000000000000000000000000000000000000000000000000000000000030704 )
167 WETH9.Withdrawal( src=ZeroEx, wad=17447221186395546 )

Account State Difference:

  Address   Before After State Difference Code
(Titan Builder)
8.96138049716021933 Eth8.961640051531502955 Eth0.000259554371283625
0x88e6A0c2...FcB3f5640
(Uniswap V3: USDC 3)
0xA0b86991...E3606eB48
0xbF27653C...e1A8C5AB5
0.084265133610638713 Eth
Nonce: 87
0.083420952576010463 Eth
Nonce: 88
0.00084418103462825
0xC02aaA39...83C756Cc2 2,956,101.696179957032835999 Eth2,956,101.678732735846440453 Eth0.017447221186395546
0xf70da978...8dfA3dbEF
(Relay: Solver)
360.58104065608546426 Eth360.598487877271859806 Eth0.017447221186395546

Execution Trace

ApprovalProxy.transferAndMulticall( tokens=[0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48], amounts=[42243826], targets=[0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48, 0xDef1C0ded9bec7F1a1670819833240f027b25EfF], datas=[CV6nswAAAAAAAAAAAAAAAN7xwN7ZvsfxoWcIGYMyQPAnsl7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKElvI=, gDuibQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKElvIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPV/FNet2qwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACuguGmRxiGLNsHRnUounrDONgbrSAAB9MAqqjmyI/6NCg5cTyfq2Qg8dWzCAAAAAAAAAAAAAAAAAAAAAAAAAAAAhpWEzQAAAAAAAAAAAAAAAJTTJaazGue7ePQ/uX2kN8HD9C+WAAAAAAAAAAAAAAAAAAAAAAAAAAAgKYhV7G9qAsa3tcM=], values=[0, 0], refundTo=0xf70da97812CB96acDF810712Aa562db8dfA3dbEF ) => ( 0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000003DFC27BD21FD9A )
  • FiatTokenProxy.23b872dd( )
    • FiatTokenV2_2.transferFrom( from=0xbF27653C7009D0f5C54646198BDaE95e1A8C5AB5, to=0xA1BEa5fe917450041748Dbbbe7E9AC57A4bBEBaB, value=42243826 ) => ( True )
    • ERC20Router.delegatecallMulticall( targets=[0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48, 0xDef1C0ded9bec7F1a1670819833240f027b25EfF], datas=[CV6nswAAAAAAAAAAAAAAAN7xwN7ZvsfxoWcIGYMyQPAnsl7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKElvI=, gDuibQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKElvIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPV/FNet2qwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACuguGmRxiGLNsHRnUounrDONgbrSAAB9MAqqjmyI/6NCg5cTyfq2Qg8dWzCAAAAAAAAAAAAAAAAAAAAAAAAAAAAhpWEzQAAAAAAAAAAAAAAAJTTJaazGue7ePQ/uX2kN8HD9C+WAAAAAAAAAAAAAAAAAAAAAAAAAAAgKYhV7G9qAsa3tcM=], values=[0, 0], refundTo=0xf70da97812CB96acDF810712Aa562db8dfA3dbEF ) => ( 0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000003DFC27BD21FD9A )
      • Multicaller.aggregate( targets=[0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48, 0xDef1C0ded9bec7F1a1670819833240f027b25EfF], data=[CV6nswAAAAAAAAAAAAAAAN7xwN7ZvsfxoWcIGYMyQPAnsl7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKElvI=, gDuibQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKElvIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPV/FNet2qwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACuguGmRxiGLNsHRnUounrDONgbrSAAB9MAqqjmyI/6NCg5cTyfq2Qg8dWzCAAAAAAAAAAAAAAAAAAAAAAAAAAAAhpWEzQAAAAAAAAAAAAAAAJTTJaazGue7ePQ/uX2kN8HD9C+WAAAAAAAAAAAAAAAAAAAAAAAAAAAgKYhV7G9qAsa3tcM=], values=[0, 0], refundTo=0xf70da97812CB96acDF810712Aa562db8dfA3dbEF ) => ( [AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE=, AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD38J70h/Zo=] )
        • FiatTokenProxy.095ea7b3( )
          • FiatTokenV2_2.approve( spender=0xDef1C0ded9bec7F1a1670819833240f027b25EfF, value=42243826 ) => ( True )
          • ZeroEx.803ba26d( )
            • UniswapV3Feature.sellTokenForEthToUniswapV3( encodedPath=0xA0B86991C6218B36C1D19D4A2E9EB0CE3606EB480001F4C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2, sellAmount=42243826, minBuyAmount=17275274197169835, recipient=0x0000000000000000000000000000000000000000 ) => ( buyAmount=17447221186395546 )
              • Uniswap V3: USDC 3.128acb08( )
                • WETH9.transfer( dst=0xDef1C0ded9bec7F1a1670819833240f027b25EfF, wad=17447221186395546 ) => ( True )
                • FiatTokenProxy.70a08231( )
                • ZeroEx.fa461e33( )
                • FiatTokenProxy.70a08231( )
                • WETH9.withdraw( wad=17447221186395546 )
                  • ETH 0.017447221186395546 ZeroEx.CALL( )
                  • ETH 0.017447221186395546 ERC20Router.CALL( )
                  • ETH 0.017447221186395546 Relay: Solver.CALL( )
                    transferAndMulticall[ApprovalProxy (ln:37)]
                    File 1 of 8: ApprovalProxy
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    // SPDX-License-Identifier: MIT
                    pragma solidity ^0.8.23;
                    import {Ownable} from "solady/src/auth/Ownable.sol";
                    import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
                    import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
                    import {IERC20Router} from "../src/types/interfaces/IERC20Router.sol";
                    contract ApprovalProxy is Ownable {
                    using SafeERC20 for IERC20;
                    error ArrayLengthsMismatch();
                    error ERC20TransferFromFailed();
                    error NativeTransferFailed();
                    event RouterUpdated(address newRouter);
                    address public router;
                    receive() external payable {}
                    constructor(address _owner, address _router) {
                    _initializeOwner(_owner);
                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                    File 2 of 8: FiatTokenProxy
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    pragma solidity ^0.4.24;
                    // File: zos-lib/contracts/upgradeability/Proxy.sol
                    /**
                    * @title Proxy
                    * @dev Implements delegation of calls to other contracts, with proper
                    * forwarding of return values and bubbling of failures.
                    * It defines a fallback function that delegates all calls to the address
                    * returned by the abstract _implementation() internal function.
                    */
                    contract Proxy {
                    /**
                    * @dev Fallback function.
                    * Implemented entirely in `_fallback`.
                    */
                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                    File 3 of 8: ZeroEx
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    /*
                    Copyright 2020 ZeroEx Intl.
                    Licensed under the Apache License, Version 2.0 (the "License");
                    you may not use this file except in compliance with the License.
                    You may obtain a copy of the License at
                    http://www.apache.org/licenses/LICENSE-2.0
                    Unless required by applicable law or agreed to in writing, software
                    distributed under the License is distributed on an "AS IS" BASIS,
                    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
                    See the License for the specific language governing permissions and
                    limitations under the License.
                    */
                    pragma solidity ^0.6.5;
                    pragma experimental ABIEncoderV2;
                    import "@0x/contracts-utils/contracts/src/v06/LibBytesV06.sol";
                    import "./migrations/LibBootstrap.sol";
                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                    File 4 of 8: 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 8: FiatTokenV2_2
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    /**
                    * SPDX-License-Identifier: Apache-2.0
                    *
                    * Copyright (c) 2023, Circle Internet Financial, LLC.
                    *
                    * Licensed under the Apache License, Version 2.0 (the "License");
                    * you may not use this file except in compliance with the License.
                    * You may obtain a copy of the License at
                    *
                    * http://www.apache.org/licenses/LICENSE-2.0
                    *
                    * Unless required by applicable law or agreed to in writing, software
                    * distributed under the License is distributed on an "AS IS" BASIS,
                    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
                    * See the License for the specific language governing permissions and
                    * limitations under the License.
                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                    File 6 of 8: ERC20Router
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    // SPDX-License-Identifier: MIT
                    pragma solidity ^0.8.25;
                    import {Ownable} from "solady/src/auth/Ownable.sol";
                    import {Tstorish} from "tstorish/src/Tstorish.sol";
                    import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
                    import {IERC721} from "@openzeppelin/contracts/token/ERC721/IERC721.sol";
                    import {IERC1155} from "@openzeppelin/contracts/token/ERC1155/IERC1155.sol";
                    import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
                    import {IAllowanceTransfer} from "permit2-relay/src/interfaces/IAllowanceTransfer.sol";
                    import {ISignatureTransfer} from "permit2-relay/src/interfaces/ISignatureTransfer.sol";
                    import {IPermit2} from "permit2-relay/src/interfaces/IPermit2.sol";
                    import {RelayerWitness} from "./types/lib/RelayStructs.sol";
                    import {IMulticaller} from "./types/interfaces/IMulticaller.sol";
                    contract ERC20Router is Ownable, Tstorish {
                    using SafeERC20 for IERC20;
                    // --- Errors --- //
                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                    File 7 of 8: Multicaller
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    // SPDX-License-Identifier: MIT
                    pragma solidity ^0.8.4;
                    /**
                    * @title Multicaller
                    * @author vectorized.eth
                    * @notice Contract that allows for efficient aggregation
                    * of multiple calls in a single transaction.
                    */
                    contract Multicaller {
                    // =============================================================
                    // ERRORS
                    // =============================================================
                    /**
                    * @dev The lengths of the input arrays are not the same.
                    */
                    error ArrayLengthsMismatch();
                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                    File 8 of 8: UniswapV3Feature
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    // SPDX-License-Identifier: Apache-2.0
                    /*
                    Copyright 2023 ZeroEx Intl.
                    Licensed under the Apache License, Version 2.0 (the "License");
                    you may not use this file except in compliance with the License.
                    You may obtain a copy of the License at
                    http://www.apache.org/licenses/LICENSE-2.0
                    Unless required by applicable law or agreed to in writing, software
                    distributed under the License is distributed on an "AS IS" BASIS,
                    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
                    See the License for the specific language governing permissions and
                    limitations under the License.
                    */
                    pragma solidity >=0.6.5 <0.9;
                    interface IERC20Token {
                    event Transfer(address indexed from, address indexed to, uint256 value);
                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX